KR20070114329A - 텍스트 입력 시스템 - Google Patents
텍스트 입력 시스템 Download PDFInfo
- Publication number
- KR20070114329A KR20070114329A KR1020067014590A KR20067014590A KR20070114329A KR 20070114329 A KR20070114329 A KR 20070114329A KR 1020067014590 A KR1020067014590 A KR 1020067014590A KR 20067014590 A KR20067014590 A KR 20067014590A KR 20070114329 A KR20070114329 A KR 20070114329A
- Authority
- KR
- South Korea
- Prior art keywords
- word
- interaction
- user
- text input
- objects
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
- G06F3/0237—Character input methods using prediction or retrieval techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0238—Programmable keyboards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04886—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0489—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/232—Orthographic correction, e.g. spell checking or vowelisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- User Interface Of Digital Computer (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
본 발명은 단어 레벨 분석을 이용하여 축소형 또는 가상 키보드 상에 사용자가 키스트로크를 입력하는 중에 자동으로 부정확성을 정정하는 개선된 텍스트 입력 시스템에 관한 것이다. 지정된 자동 정정 영역 내에서 검출된 각각의 입력 시퀀스의 하나 이상의 다른 텍스트 해석들을 판단하는 방법 및 시스템이 규정된다. 키스트로크에 대한 실제 상호작용 위치는 선택을 위해 제시된 단어 해석의 실제 문자와 관련된 특정 키보드 키 영역의 바운다리 외부에서 발생할 수도 있는데, 여기서 각각의 상호작용 위치로부터 각각의 대응하는 의 문자까지의 거리는 일반적으로 언어 내의 또는 특정 상황에서 의도하는 단어의 예상 빈도에 따라 증가할 수 있다. 마찬가지로, 가상 키보드 시스템에서, 활성화된 키는 단어 해석의 글자와 실제로 관련된 키와 상이할 수도 있다. 각각의 그러한 시퀀스는 완전한 단어에 대응하며, 사용자는 생성된 해석 중에서 원하는 단어를 쉽게 선택할 수 있다. 또한, 시스템이 입력 시퀀스와 동일한 길이의 충분한 수의 적당한 단어 해석 후보를 식별할 수 없다면, 첫 글자가 입력 시퀀스의 적당한 해석에 대응하는 후보들이 식별된다.
Description
본 발명은 입력 장치를 사용하는 중에 에러 또는 부정확성으로 인한 엉터리 텍스트 입력을 자동 정정하는 시스템에 관한 것이다. 보다 구체적으로는, 본 발명은 부정확성, 즉 엉터리 텍스트 입력을 해결하기 위해 단어 레벨의 분석을 이용하여, 가상 키보드, 제스처 기반의 키보드(gesture-based keyboard) 등과 같은 키보드에 자동 정정 기능을 제공한다.
수년 동안, 휴대형 컴퓨터는 더욱더 소형화되어 왔다. 보다 작은 휴대형 컴퓨터를 생산하기 위한 노력에 있어서 주요한 크기 제한 요소는 키보드였다. 만약 표준 타이프라이트 크기의 키가 사용되면, 휴대형 컴퓨터는 적어도 키보드만큼 커야 한다. 소형 키보드가 휴대형 컴퓨터에 사용되어 왔지만, 소형 키보드의 키는 너무 작아서 사용자가 충분한 정확도로 쉽게 또는 빠르게 조작할 수 없는 것으로 확인되었다.
휴대형 컴퓨터에 풀사이즈(full-size) 키보드를 포함하면, 컴퓨터의 진정한 휴대성을 훼손할 것이다. 대부분의 휴대형 컴퓨터는 사용자가 양손으로 타이핑할 수 있도록 컴퓨터를 평평한 작업 면에 위치시키지 않으면 작동될 수 없다. 사용자는 서 있거나 또는 이동하는 동안에 휴대형 컴퓨터를 쉽게 사용할 수 없다. 개인 휴대용 정보 단말기(PDA, ZPersonal Digital Assistants)라고 하는 최신의 소형의 휴대형 컴퓨터에서는, 회사들이 PDA 내의 수기 인식 소프트웨어를 포함시킴으로써 이 문제를 해결하려고 시도했다. 사용자는 터치 감지 패널 또는 디스플레이 스크린 상에 기록함으로써 텍스트를 직접 입력할 수도 있다. 그 다음에 이 수기 텍스트는 인식 소프트웨어에 의해 디지털 데이터로 변환된다. 불행히도, 인쇄 또는 펜에 의한 기록이 일반적으로 타이핑보다 더 느리다는 사실 외에, 수기 인식 소프트웨어의 정확도 및 속도가 만족할 만한 수준에 미치지 못하였다. 또한, 텍스트 입력을 요구하는 오늘날의 핸드헬드 컴퓨팅 장치는 여전히 더 작아지고 있다. 양방향 페이징, 셀룰러 전화기 및 기타 휴대형 무선 기술에 있어서의 최근의 진보에 의해, 소형 및 휴대형의 양방향 메시징 시스템 및 특히 전자 메일(e-mail)을 송신 및 수신할 수 있는 시스템에 대한 요구가 생겨났다.
따라서, 컴퓨터에 텍스트를 입력하기 위한 훨씬 더 작은 키보드를 개발하는 것이 유익할 것이다. 키보드의 크기가 작아짐에 따라, 사용자가 원하는 문자를 선택하는 것이 더 어려워진다. 일반적으로, 이러한 휴대형 장치에 사용되는 상이한 두 유형의 키보드가 존재한다. 그 중 하나는 손가락 또는 엄지손가락으로 눌러 키를 활성화시키는 기계식 키 세트로 이루어진 통상의 기계식 키보드이다. 그러나, 이들 기계식 키보드는 타이프라이터, 데스크탑 컴퓨터 및 랩탑 컴퓨터와 관련된 표준 사이즈의 키보드보다 훨씬 더 작은 경향이 있다. 키보드의 물리적인 크기가 작 기 때문에, 각 키는 더 작고 이웃하는 키들과 더욱 인접해 있다. 이 때문에, 사용자가 원하지 않는 키를 누를 가능성이 증가하고, 사용자가 타이핑을 보다 빨리 할수록 키스트로크 에러의 가능성이 증가하는 경향이 있다.
일반적으로 사용되는 다른 키보드의 유형은 몇몇 유형의 키보드 오버레이가 인쇄되어 있는 터치 감지 패널 또는 키보드 오버레이가 디스플레이될 수 있는 터치 감지 디스플레이 스크린으로 이루어진다. 특정 키보드의 크기 및 특성에 따라, 사용자가 활성시키고자 하는 키와 관련된 영역 내의 패널 또는 디스플레이 스크린과의 상호작용(interaction)을 위해 손가락 또는 스타일러스가 사용될 수 있다. 많은 휴대형 장치의 크기 축소로 인해, 각각의 원하는 키를 활성화시키기 위해 키보드를 작동시킬 때 충분한 정확도를 획득하기 위해 흔히 스타일러스가 사용된다. 또한, 이러한 키보드의 전체적인 크기 축소의 결과로서, 각 키와 관련되는 영역이 작기 때문에 보통 수준의 사용자가 충분한 정확도로 고속 타이핑하는 것이 상당히 어렵게 된다.
기계식 키보드에 있어서 종래의 한 개발 분야는 일반적인 키보드의 키보다 훨씬 더 작은 키를 사용하는 것을 고려했다. 키가 작으면, 사용자는 각 키를 작동시키는데 많은 주의를 기울여야 한다. 한 방법(미국 특허 제 5,612,690 호)은, 네 개까지의 소형 키를 함께 사용하여 제 1 문자들, 예를 들어 알파벳을 규정하고, 제 1 문자열 사이에 제 2 문자열, 예를 들어 숫자를 배열하는 시스템을 제안한다. 제 2 문자의 선택은 각각의 주위 제 1 문자로부터의 소형 키를 누르는 것을 포함한다. 이런 방식으로 보다 작은 키를 그룹화하면 네 개의 인접하는 보다 작은 키로 이루 어진 보다 큰 외형의 가상 키를 생성할 수 있으며, 따라서 이 가상 키는 손가락을 사용하여 누를 수 있을 정도로 충분히 크게 된다. 그러나, 손가락은 다소 정확하게 네 개의 인접 키 사이의 경계의 십자선(cross-hair) 상의 키와 상호작용하여 그들을 일제히 눌러야 한다. 이 때문에, 충분한 정확도로 고속으로 타이핑하는 것이 여전히 어렵다.
터치 스크린과 기계식 키보드 모두에서의 다른 종래의 개발 분야는 훨씬 더 적은 수의 풀사이즈 키를 사용하는 것을 고려하였다. 키의 수가 적어지면, 각각의 단일 키가 복수의 글자(letter)와 관련되어야 하며, 따라서 각각의 키 활성화는 어느 글자가 원하는 것인 지가 명확하지 않다. 터치톤 전화기의 키패드 레이아웃에 의해 제안된 바와 같이, 많은 축소형 키보드는 3×4의 키보드 어레이를 사용하였으며, 각각의 키는 세 개 또는 네 개의 문자와 관련된다(미국 특허 제 5,818,437 호). 이러한 키보드 상의 키스트로크 시퀀스의 모호성을 해결하기 위한 여러 방법들이 제안되어 왔다. 이 방법은 제한된 수의 키를 갖는 그러한 키보드에 대해서는 장점을 갖지만, 충분한 키 보충을 갖는 축소된 크기의 키보드에는 적용할 수 없다.
터치 스크린 키보드에서의 다른 방법은 바로 전의 몇 문자를 분석하여 특정 문자의 디스플레이 위치의 중심에 가깝지 않은 키스트로크에 대해 어느 문자가 생성되어야 하는 지를 결정하는 것을 고려하였다. 키보드가 작은 터치스크린 상에 디스플레이될 때, 문자의 중심으로부터 벗어난 키스트로크가 검출된다. 소프트웨어는 둘 또는 세 개의 타이핑된 문자의 유망한 시퀀스의 가능한 텍스트 스트링을, 이전에 타이핑된 텍스트의 입력 또는 문맥 내에서의 그들의 빈도에 대해 평가된 텍스트 스트링의 목록과 같은 기지의 조합에 대해 비교한다. 이 시스템에 의해 생성된 문자가 사용자가 원하는 문자가 아니면, 사용자는 다음 문자를 선택하도록 진행되기 전에 그 문자를 수정해야 하는데, 그 이유는 생성된 문자가 다음 키스트로크에 대한 가능성을 결정하는데 사용되기 때문이다.
최근에는, 사용자가 컴퓨터, PDA, 비디오 게임, 셀 폰 등을 작동시키는 새로운 기회를 제공하는 다양한 입력 장치가 도입되었다. 예를 들면, 버추얼 키보드(Virtual Keyboard)(http://www.vkb.co.il/참고) 및 카네스타(Canesta) (http://www.canesta.com/ 참고)와 같은 회사에 의해 제공된 레이저 프로젝션 키보드는 스마트폰, 셀폰, PDA 또는 기타 이동 또는 무선 장치에 완전히 통합될 수 있는 프로젝션 키보드(projection keyboard)이다. 레이저 프로젝션 키보드는 아주 작은 레이저 패턴 프로젝터를 사용하여 풀사이즈의 키보드 이미지를 장치와 사용자 사이의 테이블 표면 또는 서류가방 측면과 같은 편리한 평면 상에 투영한다. 그러면 사용자는 이 이미지 상에 타이핑할 수 있고, 관련 전자 인식 기술이 사용자의 손가락 움직임을 무선 또는 이동 장치에 의해 쉽게 사용되는 통상의 직렬 키스트로크 데이터로 즉각적으로 분석한다.
또한, 통상 사용자의 손바닥에 놓이는 패드를 갖는 한 쌍의 핸드 모듈로 이루어진 Senseboard® 가상 키보드와 같은 근육 감지(muscle-sensing) 키보드(http://www.senseboard.com/ 참고)가 알려져 있다. 근육 감지 키보드는 사용자로 하여금 표준 키보드의 물리적인 제한없이 타이핑을 가능하게 한다. 이 유형의 가상 키보드는 통상 센서 기술 및 패턴 인식과 같은 인공 지능을 이용하여 사용자 가 타이핑하는 문자들을 인식한다. 키보드는 손가락의 움직임을 검출하여 이들을, 터치 타이피스트가 예를 들어 표준 QWERTY 키보드를 어떻게 사용하는 지와 관련시킨다. 이렇게 생성된 정보는, 예를 들어 케이블 또는 블루투스 무선 접속을 이용하여, PDA 또는 스마트폰과 같은 이동 장치로 전송된다.
또 다른 가상 키보드로는 패브릭 키보드(fabric keyboard)(http://www.electrtextiles.com/ 참고)가 있다. 이러한 키보드는 약 1 mm 두께의 직물 구조 내에 세 개의 검출 축(X,Y,Z)을 제공한다. 이 기술은 직물 센서와 전자 및 소프트웨어 시스템의 조합이다. 그 결과의 패브릭 인터페이스는 그것이 놓인 애플리케이션의 요건에 따라서 데이터를 전달한다. 세 개의 센서 동작 모드는 위치 감지(X-Y 배치), 압력 측정(Z 감지) 및 스위치 배열을 포함한다. 따라서, 인터페이스의 X-Y 배치 특성을 이용하여 손가락 압력과 같은 압력 지점의 위치를 검출하는 키보드가 구성될 수 있다. 이 시스템은 패브릭이 접히거나 또는 주름잡히거나 또는 펼쳐지는 경우에도 작동한다. 단일의 패브릭 스위치는 스위치 매트릭스 기능을 제공하도록 사용될 수 있다. 예를 들어 키보드 기능을 구현하기 위한 임의의 구성에서 스위치 영역의 위치를 식별하기 위해 해석 소프트웨어가 사용된다.
불행히도, 이러한 가상 키보드를 다양한 데이터 수신 장치에 통합시키는 데 있어서의 주요한 문제점은, 터치 타입 상에 물리적 키가 없는 경우에 정확하게 타이핑하는 것이 매우 어렵다는 것이다. 이점에 있어서, 사용자는 타이핑하는 동안 전적으로 핸드-아이 코디네이션(hand-eye coordination)에 의존해야 한다. 그러나 대부분의 터치 타이피스트는 그러한 핸드-아이 코디네이션 대신에 촉각 피드백에 의존하여 키를 보지 않고 타이핑하도록 배운다. 이러한 가상 키보드에서는, 사용자의 손에 대한 표시 지점이 사실상 없고, 따라서 사용자가 타이핑할 때 사용자를 안내할 촉각 피드백이 없다.
전술한 모든 시스템에 있어서, 기본적인 문제점은 키보드의 키를 활성화시키기 위한 사용자의 시도로 인한 특별한 활성화가 항상 정확하게 사용자의 의도와 부합하지는 않는다는 것이다. 터치 스크린 키보드에서, 사용자의 손가락 또는 스타일러스는 틀린 문자를 누를 수도 있고 또는 특정 문자와 관련이 없는 키들 사이의 경계 영역을 누를 수도 있다. 기계식 키보드를 작게 하면, 주어진 키 누름이 엉뚱한 키를 활성화시킬 수도 있고, 또는 둘 이상의 키를 동시에 또는 빠른 순서로 인접 키들을 활성화시키는 롤오버(roll-over) 모션으로 활성화시킬 수도 있다. 그리고, 가상 키보드를 사용하면, 접촉 피드백의 결핍으로 사용자의 손가락이 원하는 키 표시로부터 표류할 수 있다. 다른 예들로는, 임의의 특정 스페이스 또는 키를 시종 일관하여 치는 제한된 능력이 존재하거나, 또는 절단 수술을 받은 사람의 경우와 같이 팔다리 또는 장갑 낀 손(gloved hand) 또는 손가락 또는 스타일러스와 같은 입력에 사용되는 장치가 목적하는 키 또는 문자 스페이스보다 훨씬 더 큰 경우에, 제한된 범위의 움직임 또는 모터 제어에 의해 사용자에 의해 작동되는 공통 키보드가 있다.
특히 가상 키보드와 관련하여, 사용자가 단어 수준의 모호성 해소(disambiguation)를 이용하여 사용자의 키스트로크 입력에서의 부정확성을 자동 으로 정정하는 개선된 텍스트 입력 시스템을 제공하는 것이 바람직할 것이다.
본 발명은 특히 가상 키보드와 관련하여 사용자의 키스트로크 입력에서의 부정확성을 자동으로 정정하기 위해 단어 수준의 모호성 해소를 이용하는 개선된 텍스트 입력 시스템을 제공한다.
구체적으로는 본 발명은 텍스트 입력 시스템에 있어서, 복수의 알파벳 문자를 포함하는 자동 정정 영역을 포함하는 가상 키보드를 포함하는 사용자 입력 장치로서, 상기 복수의 문자 중 하나 이상이 상기 자동 정정 영역 내의 기지의(known) 좌표를 갖는 위치와 대응하고, 사용자가 상기 자동 정정 영역 내의 상기 사용자 입력 장치와 상호작용할 때 사용자 상호작용과 관련된 위치가 결정되며, 상기 결정된 상호작용 위치가 상호작용 위치의 현재의 입력 시퀀스에 추가되는, 상기 사용자 입력 장치와, 복수의 객체를 포함하는 메모리로서, 하나 이상의 객체가 단어 또는 단어의 일부를 형성하는 하나 또는 복수의 문자의 스트링을 포함하는, 상기 메모리와, 출력 장치와, 상기 사용자 입력 장치, 메모리 및 출력 장치에 결합된 프로세서를 포함하되, 상기 프로세서는 상기 상호작용의 입력 시퀀스 내의 결정된 상호작용 위치에 대해 상기 상호작용 위치와 상기 자동 정정 영역 내의 하나 또는 복수의 문자에 대응하는 상기 기지의 좌표 위치 사이의 거리 값 세트를 계산하는 거리 값 계산 요소와, 생성된 입력 시퀀스에 대해 메모리 내의 하나 또는 복수의 후보 객체를 식별하고, 상기 하나 이상의 식별된 후보 객체에 대해 상기 계산된 거리에 기초하여 매칭 메트릭(matching metric)을 계산함으로써 식별된 후보 객체를 평가하고, 상기 계산된 매칭 메트릭 값에 기초하여 상기 평가된 후보 객체의 등급(rank)을 매기는 단어 평가 요소와, 상기 평가된 등급에 따라서 상기 하나 또는 복수의 후보 객체를 식별하고, 상기 식별된 객체를 사용자에게 제공하며, 사용자로 하여금 상기 제공된 객체들 중 상기 출력 장치로 출력할 하나의 객체를 선택하게 하는 선택 요소를 포함하는 텍스트 입력 시스템을 제공한다.
바람직하게는, 선택 요소가 (c) 상호작용 위치의 현재의 입력 시퀀스를 출력 장치 상의 텍스트 디스플레이 영역에 출력하기 위해 제공된 객체들 중 하나의 사용에 의한 선택 검출 시에 빈 시퀀스로 재설정하는 것을 더 포함한다.
바람직하게는, (a) 메모리 내의 복수의 객체 각각은 또한 하나 또는 복수의 사전 정의된 객체 그룹과 관련되고, (b) 평가 요소는, 각각의 생성된 입력 시퀀스에 대해, 메모리 내의 하나 또는 복수의 객체의 후보 그룹을 식별함으로써 매칭 메트릭이 계산되는 객체의 수를 제한하고, 하나 이상의 식별된 후보 객체 그룹과 관련된 하나 또는 복수의 객체에 대해, 계산된 거리 값에 기초하여 매칭 메트릭을 계산하고 계산된 매칭 메트릭 값에 기초하여 평가된 후보 객체의 등급을 매긴다. 이것은, 역으로 하나 이상의 객체 그룹이 상호작용의 소정의 입력 시퀀스에 대한 후보 객체를 포함하지 않는 것으로 식별되어, 매칭 메트릭이 그렇게 식별된 그룹 내의 어떠한 객체에 대해서도 계산될 필요가 없기 때문에, 요구된 계산을 감소시킨다.
바람직하게는, 알파벳의 문자는 대략 표준 QWERTY 레이아웃으로 상기 자동 정정 영역에 배열된다. 가장 바람직하게는, 자동 정정 영역의 폭대 높이 비는 약 2대 1 이하이다. 일실시예에서는, 자동 정정 영역 상에 배열된 하나 또는 복수의 문자가 읽기 어려울 정도로 작은 폰트로 제공된다.
바람직하게는, 자동 정정 영역은 하나 또는 복수의 구두점 문자 및/또는 분음 부호(diacritic mark)와 관련된 하나 또는 복수의 기지의 위치를 포함하고, 메모리는 자동 정정 영역 내의 위치와 관련된 하나 또는 복수의 상기 구두점 문자 및/또는 분음 부호를 포함하는 메모리 내에 하나 또는 복수의 객체를 포함한다. 바람직하게는, 메모리 내의 객체는 하나 또는 복수의 모듈과 또한 관련되고, 각각의 모듈은 하나 또는 복수의 공통 문자를 갖는 객체 세트를 포함한다. 일실시예에서는, 텍스트 입력 시스템이 모듈 선택기를 포함하며, 이것에 의해 사용자는 후보 객체를 식별하기 위해 어느 모듈이 단어 평가 요소에 의해 평가될 지를 결정할 수 있다.
다른 실시예에서는, 복수의 모듈이 단어 어간 모듈 및 접두어 모듈이 존재하는데, 각 단어의 어간 모듈은 활용되지 않는 단어의 어간 객체의 논리적 조직을 포함하고, 각각의 접두어/접미어 모듈은 단어의 어간에 추가되어 활용 단어를 형성할 수 있는 접미어의 논리적 조직을 포함한다. 각 단어의 어간 모듈은 하나 이상의 접미어 모듈과 관련되며, 따라서 단어 평가 요소가 입력 시퀀스 내에서의 일련의 상호작용에 대해 주어진 단어 어간 모듈 내의 주어진 단어 어간에 대한 매칭 메트릭 값을 계산하여 계산된 매칭 메트릭 값이 사전에 정해진 임계치보다 더 높도록 등급(rank)이 매겨지도록 할 때마다, 단어 평가 요소는 관련된 접미어 모듈에 대한 입력 시퀀스의 나머지 상호작용을 평가한다. 단어 평가 요소가 다른 임계치보다 높게 등급이 매겨진 관련 모듈들 중 한 모듈 내의 주어진 접두어 또는 접미어에 대한 매칭 메트릭을 계산하면, 그 접두어 또는 접미어는 단어 어간에 부가되어 단어 어간 매칭 메트릭 값 및 접두어/접미어 매칭 메트릭 값 모두의 함수인 결합형 매칭 메트릭 값을 갖는 완전한 단어를 형성한다.
바람직하게는, 단어 평가 요소는 입력 시퀀스 내의 각각의 상호작용 위치로부터 계산된 거리 값을 후보 객체의 대응하는 위치 내의 문자에 할당된 위치에 가산하고 객체와 관련된 사용 빈도에 따라서 가중 함수를 적용함으로써 각각의 후보 객체에 대한 상기 매칭 메트릭을 계산한다. 또한, 자동 정정 영역과 관련된 알파벳의 각 문자가 직교 좌표를 할당받고, 거리 값 계산 요소는 상호작용 위치와 표준 직교 좌표 거리 분석에 따라 문자에 대응하는 위치 사이의 거리를 계산한다. 또한, 자동 정정 영역과 관련된 알파벳의 각 문자가 직교 좌표를 할당받고, 거리 값 계산 요소는 상호작용 위치와 표준 직교 좌표 거리의 제곱으로서 문자에 대응하는 위치 사이의 거리를 계산한다. 거리 값은 테이블에 저장된다. 또한, 자동 정정 영역 상의 각 위치는 수평 및 수직 좌표에 의해 정의되고, 상호작용 위치와 문자에 대응하는 기지의 좌표 위치 사이의 거리 값은 수평 및 수직 성분을 포함하며, 수평 및 수직 성분 중 적어도 하나는 문자로부터 상기 상호작용 위치의 거리를 계산하는데 있어 가중 인자에 의해 조정된다. 단어 평가 요소는 후보 객체와 관련된 사용 빈도에 따라서 가중 함수를 적용하기 전에 증분 값을 거리 값의 합에 더한다. 가장 바람직한, 증분 값은 문자들에 대응하는 자동 정정 영역 상의 인접 위치 사이의 평균 거리의 약 두 배인 고정 값이다. 메모리 내의 각 후보 객체와 관련된 사용 빈도는 메모리 내의 다른 객체에 대해 객체의 선호 순서(ordinal ranking)를 포함하고, 보다 높은 상대적인 빈도와 관련된 객체는 수치적으로 보다 낮은 선호 순서에 대응한다. 가장 바람직하게는, 단어 평가 요소에 의해 후보 객체에 대한 합계된 거리에 적용된 빈도 가중 함수는 거리 값의 합을 객체의 선호 순서의 2의 대수 함수에 곱셈하는 것을 포함한다.
바람직하게는, 메모리 내의 객체는 동일한 길이의 객체를 포함하는 그룹으로 분류되도록 저장된다. 단어 평가 요소는 입력 시퀀스 내의 입력의 수와 동일한 길이의 객체의 후보 그룹을 식별함으로써 매칭 메트릭이 계산되는 객체의 수를 제한한다. 가장 바람직하게는, 임계 수보다 더 적은 후보 객체가 임계 값보다 더 나은 매칭 메트릭 점수를 갖도록 평가되면, 단어 평가 요소는 점진적으로 더 긴 길이의 후보 객체 그룹을 식별하여 상기 임계 수의 후보 객체는 상기 임계치보다 나은 매칭 메트릭 점수를 갖도록 평가될 때까지 식별된 그룹 내의 객체에 대해 매칭 매트릭을 계산한다. 또한, 단어 평가 요소는 입력 시퀀스 내의 각각의 상호작용 위치로부터 계산된 거리 값을 후보 객체의 대응하는 위치 내의 문자에 할당된 위치에 합하고 증분 값을 더하고, 이 합에 객체와 관련된 사용 빈도에 따른 가중 함수를 적용함으로써 각각의 후보 객체에 대한 매칭 메트릭을 계산하며, 거리 값의 합에 더해진 증분 값은 후보 객체 내의 문자의 수와 현재의 입력 시퀀스 내의 입력의 수 사이의 차에 기초하는 값이다.
바람직하게는, 단어 평가 요소는 입력 시퀀스 내의 각각의 상호작용 위치로부터 계산된 거리 값을 후보 객체의 대응하는 위치 내의 문자에 할당된 위치에 가산하고, 상기 객체와 관련된 사용 빈도에 따라서 가중 함수를 적용함으로써 각각의 후보 객체에 대한 매칭 메트릭을 계산한다. 보다 바람직하게는, 메모리 내의 각각의 후보 객체와 관련된 사용 빈도는 상기 객체가 관련되어 있는 메모리 내의 하나 또는 복수의 서브그룹 내의 다른 객체에 대한 객체의 선호 순서(ordinal ranking)를 포함하고, 보다 높은 상대적인 빈도와 관련된 객체는 하위 선호 순서에 대응한다. 또한, 입력 시퀀스 내의 상호작용 위치와 자동 정정 영역 내의 문자에 대응하는 기지의 좌표 위치 사이의 각각의 계산된 거리 값에 대해, 상기 계산된 거리는 임계 거리 값을 초과하고, 상기 문자가 상기 시퀀스 내의 상기 상호작용 위치에 대응하는 상기 객체의 문자의 시퀀스 내의 위치에서 발생하는 메모리 내의 각각의 객체에 대해, 상기 객체는 단어 평가 요소에 의해 사용자 선택을 위한 제시로부터 배제되는 객체로서 등급이 매겨진다. 메모리 내의 하나 또는 복수의 상기 식별된 후보 객체 그룹은 사용자에게 선택용으로 제시된 것으로부터 배제되는 객체를 포함하고, 상기 하나 또는 복수의 상기 식별된 후보 객체 그룹 내의 각 객체에 대한 거리 값의 계산된 합 내에 포함된 상기 계산된 거리 값 중 적어도 하나는 임계 거리 값을 초과한다. 자동 정정 영역은 둘 이상의 사전 정의된 클러스터링 영역으로 분리되고, 이들 각각은 하나 또는 복수의 문자의 기지의 위치를 포함하며, 메모리 내의 각 객체는 둘 이상의 사전 정의된 클러스터링 영역 중 어느 것이 상기 객체의 하나 또는 복수의 첫 문자에 대응하는 기지의 위치를 포함하는 지에 따라서 사전 정의되도록 할당된다. 일실시예에서는, 자동 정정 영역이 세 개의 사전 정의된 클러스터링 영역으로 분리되고, 메모리 내의 각각의 객체는 세 개의 사전 정의된 클러스터링 영역 중 어느 것이 상기 객체의 처음 두 문자 각각에 대응하는 기지의 위치를 포함하는 지에 따라서 아홉 개의 사전 정의된 그룹 중 하나에 할당된다.
바람직하게는, 자동 정정 영역 내의 기지의 위치에 대응하는 문자에 대해, 하나 또는 복수의 상기 기지의 위치 근방에 영역이 사전 정의되고, 상기 사전 정의된 영역 내의 입력 상호작용 위치와 상기 사전 정의된 영역 내의 상기 기지의 문자 사이의 거리는 제로의 거리로서 계산된다. 가장 바람직하게는, 상기 사전 정의된 영역의 상대적인 크기는 상기 사전 정의된 영역 내의 기지의 위치와 관련된 문자의 상대적인 발생 빈도에 대응한다. 문자의 기지의 위치 주위의 사전 정의된 영역은 가상 키보드 상의 디스플레이된 키에 대응한다. 또한, 자동 정정 영역 내의 기지의 좌표를 갖는 적어도 하나의 위치는 복수의 문자에 복수의 문자에 대응하고, 상기 복수의 문자 중 하나 또는 복수개는 다양한 분음 부호를 포함하며, 상기 복수의 문자는 단일 기본 문자의 변형을 포함하고, 메모리 내의 객체는 정확한 액센트가 있는 문자와 함께 저장된다.
바람직하게는, 선택 요소는 사용자가 선택하도록 후보 객체 리스트 내에 식별된 하나 또는 복수의 후보 객체를 제공한다. 가장 바람직하게는, 최고 등급의 후보 객체를 식별하고, 상기 후보 객체 리스트의 첫 번째 위치에 상기 식별된 객체를 제공한다. 또한, 자동 정정 영역 외부의 상호작용과 관련되는 문자의 사용자 선택은 텍스트 디스플레이 영역 내의 텍스트 삽입 지점에서의 선택된 문자를 출력하기 전에 텍스트 디스플레이 내의 텍스트 삽입 지점에서 결정된 최고 등급의 후보 객체를 객체를 수신하여 출력한다. 텍스트 디스플레이 내의 텍스트 삽입 지점에서의 출력을 위한 객체의 사용자 선택은 자동 정정 영역 내의 다음 상호작용이 새로운 입력 시퀀스를 개시하도록 현재의 입력 시퀀스를 종료한다. 또한, 선택 요소는 후보 객체를 선택하는데 사용되는 특유의 선택 방법을 검출하고, 객체가 상기 특유의 방법을 통해 선택되었음을 검출하면, 상기 시스템은 실제 상호작용 위치의 현재의 입력 시퀀스를 상기 선택된 객체를 포함하는 상기 문자의 좌표 위치에 대응하는 상호작용 위치의 입력 시퀀스로 대체하며, 상기 자동 정정 영역 내의 다음 상호작용은 상기 현재의 입력 시퀀스에 부가된다.
바람직하게는, 상기 단어 평가 요소는, 상호작용 위치의 입력 시퀀스 내의 사전 결정된 상호작용 위치에 대해, 문자에 대응하는 가장 가까운 기지의 위치를 결정하고, 상호작용의 상기 입력 시퀀스에 대응하는 순서로 상기 결정된 대응하는 문자로 이루어진 정확한 타이핑 객체를 구성한다. 보다 바람직하게는, 상호작용 위치의 각각의 입력 시퀀스에 대해, 선택 요소가 선택을 위해 사용자에게 정확한 타이핑 객체를 제공한다. 또한, 사용자가 출력 장치 상의 텍스트 디스플레이 영역으로의 출력을 위한 상기 정확한 타이핑 객체를 선택하고 상기 정확한 타이핑 객체가 메모리 내의 객체들 중 하나로서 이미 포함되지 않았다면, 상기 정확한 타이핑 객체는 메모리에 추가된다. 선택을 위해 정확한 타이핑 객체를 사용자에게 디스플레이하기 전에, 선택 요소는 정확한 타이핑 객체를 디스플레이를 위한 용인할 수 있는 대체 객체와 관련된 비속어 객체와 비교하고, 만약 매칭이 발견되면, 정확한 타이핑 객체를 상기 관련된 용인할 수 있는 객체로 대체하여 사용자에게 제공한다.
바람직하게는, 선택 요소는 최고 등급의 후보 객체를 식별하고, 상기 식별된 객체를 출력 장치 상의 텍스트 디스플레이 영역 내의 텍스트 삽입 지점에 제공한다. 가장 바람직하게는, 텍스트 입력 시스템이 객체 선택 함수와 관련된 선택 키 영역을 포함하고, 상기 선택 키 영역이 상호작용될 때 출력 장치 상의 텍스트 디스플레이 영역 내의 텍스트 삽입 지점에 제공된 객체는 식별된 하나 또는 복수의 후보 객체의 그 다음 등급의 객체로 대체된다.
바람직하게는, 텍스트 입력 시스템이 삭제 기능과 관련된 삭제 키 영역을 포함하고, 현재의 입력 시퀀스가 적어도 하나의 상호작용을 포함하고 상기 삭제 키 영역이 선택될 때, 현재의 입력 시퀀스를 종료하지 않고, 상호작용들의 현재의 입력 시퀀스로부터 맨 마지막 입력 상호작용이 삭제된다. 다른 바람직한 실시예에서는, 텍스트 입력 시스템이 단어 편집 기능과 관련된 단어 편집 키 영역을 포함하며, 현재의 입력 시퀀스가 존재하지 않고, 상기 단어 편집 영역이 선택되는 경우, (i) 출력 장치 상의 텍스트 디스플레이 내의 텍스트 삽입 지점이 이전에 출력된 단어 내에 포함될 때, 상기 시스템은 상기 단어의 문자와 관련된 좌표 위치에 대응하는 상호작용 위치의 시퀀스를 포함하는 새로운 현재의 입력 시퀀스를 확립하고, (ii) 상기 출력 장치 상의 상기 텍스트 디스플레이 영역 내의 텍스트 삽입 지점이 두 개의 이전에 출력된 단어 사이에 위치할 때, 상기 시스템은 상기 텍스트 삽입 지점에 인접한 상기 단어의 상기 문자와 관련된 좌표 위치에 대응하는 삽입 위치의 시퀀스를 포함하는 새로운 현재의 입력 시퀀스를 확립하며, 상기 텍스트 입력 시스템은 상기 새로운 현재의 입력 시퀀스를 처리하고 새로운 후보 객체의 대응하는 등급을 결정하며, 상기 새로운 후보 객체 중 하나의 선택은 상기 새로운 현재의 입력 시퀀스를 확립하는데 사용된 상기 이전에 출력된 단어를 교체한다.
바람직하게는, 사용자가 자동 정정 영역 내에서의 상호작용의 시퀀스를 수행함으로써 입력 시퀀스를 입력할 때, 프로세서는 사용자 상호작용에 의해 추적된 경로를 따라 고정된 수의 둘 이상의 규칙적인 간격의 색인된 제 1 상호작용 지점 세트로서 시퀀스 내의 각각의 상호작용을 기록하고, 각각의 기록된 색인된 제 1 상호작용 지점 세트로부터의 인덱스 값을 포함하는 둘 이상의 가능한 제 1 인덱스 값 각각에 대해 동일한 인덱스 값을 갖는 상호작용 지점의 시퀀스를 취하여 둘 이상의 대응하는 제 2 상호작용 지점 세트를 취합함으로써 각 사용자 상호작용과 관련된 위치를 결정한다. 출력을 위해 사용자에 의해 선택되는 각각의 단어에 대해 결정하고, 취합된 제 2 상호작용 지점 세트와 선택된 단어의 문자에 대응하는 기지의 위치 사이의 계산된 거리가 최소화되는 제 2 상호작용 지점 세트를 식별하는 제 1 인덱스 값을 최소화하며, 이것에 의해 사용자 상효작용의 다음 입력 시퀀스에 대해, 거리 값 계산 요소는 결정된 최소화 제 1 인덱스 값에 대응하는 상호작용의 다음 입력 시퀀스로부터 취합된 제 2 상호작용 지점 위치 세트로서 결정된 상호작용 위치의 시퀀스에 기초하여 거리 값을 계산한다. 가장 바람직하게는, 복수의 사용자 입력 시퀀스에 대해, 거리 값 계산 요소는 둘 이상의 제 1 인덱스 값에 대응하는 둘 이상의 조합된 제 2 세트 각각에 대한 거리 계산의 진행 평균을 계산하고, 상호작용의 다음 입력 시퀀스에 대해, 거리 값 계산 요소는 상기 계산된 진행 평균에 대해 결정된 제 1 인덱스 값에 대응하는 상호작용의 상기 그 다음 입력 시퀀스로부터 취합된 제 2 상호작용 지점 위치 세트로서 결정된 상호작용 위치의 시퀀스에 기초하여 거리 값을 계산한다. 또한, 각각의 제 1 인덱스 값에 대해, 거리 값 계산 요소는 각각의 대응하는 기록된 색인된 상호작용 지점의 좌표에 대해 선택된 각 단어의 각 이상의 문자에 대응하는 좌표 위치의 오프셋의 수평 및 수직 성분의 진행 평균을 계산하고, 단어 평가 요소에 대한 거리 계산을 수행하는 중에, 거리 값 계산 요소는 각각의 기록된 색인된 상호작용 지점의 수평 및 수직 좌표를 대응하는 제 1 입력 값에 대해 계산된 수평 및 수직 오프셋의 함수인 양에 의해 조정한다.
바람직하게는, 각각의 입력 상호작용 위치에 대해, 상기 거리 값 계산 요소는 대응하는 입력 상호작용 위치의 좌표에 대해 각각의 선택된 단어의 각각의 문자에 대응하는 좌표 위치의 오프셋의 상기 수평 및 수직 성분의 진행 평균을 계산하고, 단어 평가 요소에 대한 거리 계산을 수행하는 중에, 거리 값 계산 요소는 각각의 입력 상호작용 위치의 수평 및 수직 좌표를 계산된 평균 표기의 수평 및 수직 오프셋의 함수인 양에 의해 조정한다. 이와 달리, 프로세서는 자동 정정 영역 내의 각 사용자 상호작용 동작에 대해, 상호작용 지점이 터치 감지 표면으로부터 손가락 또는 스타일러스가 들어올려지기 전에 최초 상호작용 위치로부터 임계 거리보다 적게 움직였는 지의 여부를 판정하는 스트로크 인식 요소를 더 포함한다.
본 발명은 또한, (a) 상호작용의 지점이 들어올려지기 전의 최초 상호작용 위치로부터의 임계 거리보다 작으면, 스트로크 인식 요소가 사용자의 상호작용이 탭(tap) 상호작용이라고 판정하고, 사용자 상호작용과 관련된다고 판정된 위치가 거리 값 계산 요소, 단어 평가 요소 및 선택 요소에 의해 처리되는 상호작용 위치의 현재의 입력 시퀀스에 부가되며, (b) 상호작용의 지점이 들어올려지기 전의 최초 상호작용 위치로부터의 임계 거리 이상 움직이면, 스트로크 인식 요소는 사용자 상호작용이 기지의 시스템 기능과 관련되는 복수의 스트로크 상호작용 중 하나라고 판정하고, 스트로크 상호작용을 복수의 사전 정의된 유형의 스트로크 상호작용 중 하나로서 분류하는 가상 키보드용 텍스트 입력 시스템을 제공한다.
바람직하게는, 입력 시퀀스 내의 상호작용 위치의 임계 수가 소정의 후보 객체를 포함하는 문자 시퀀스 내의 대응하는 문자로부터의 임계 최대 거리보다 더 큰 경우, 상기 객체는 더 이상 상기 선택 요소에 대한 후보가 아닌 것으로 식별된다. 이와 달리, 프로세서는 메모리 내의 각 객체와 관련된 사용 빈도를 객체가 사용자에 의해 상기 출력 장치 상에 출력하기 위한 것으로 선택되는 횟수의 함수로서 조정하는 빈도 승격 요소(a frequency promotion component)를 더 포함한다. 또한, 메모리 내의 각 객체와 관련된 사용 빈도는 메모리 내의 다른 객체에 대한 상기 객체의 선호 순서를 포함하고, 상대적으로 높은 빈도와 관련된 객체는 보다 낮은 선호 순서에 대응하며, 객체가 사용자에 의한 출력을 위해 선택되는 경우, 빈도 승격 요소는 상기 선택된 객체와 관련된 선호 순서를 상기 조정 전의 상기 객체의 선호 순서의 함수인 양에 의해 조정한다. 또한, 선택된 객체와 간련된 선호 순서가 조정되는 양을 결정하기 위해 빈도 승격 요소에 의해 사용된 함수는 상대적으로 더 높은 사용 빈도와 관련되는 선호 순서를 갖는 객체에 대해 상기 양을 감소시킨다. 상기 빈도 승격 요소는 상기 텍스트 입력 시스템에 액세스 가능한 부가적인 정보 파일을 분석하여, 상기 텍스트 입력 시스템의 상기 메모리 내에 이미 존재하는 객체들 중에서 포함되지 않는 상기 파일 내에 수록된 새로운 객체를 식별하고, 상기 새로이 식별된 객체는 낮은 사용 빈도와 관련되는 객체로서 메모리 내의 상기 객체에 부가된다. 또한, 메모리 내의 객체에 추가되는 새로이 식별된 객체와 관련된 사용 빈도는 상기 부가적인 정보 파일의 분석 동안 새로이 식별된 객체가 검출되는 횟수의 함수로서 빈도 승격 요소에 의해 조정된다.
바람직하게는, 상기 프로세서는 메모리 내의 각 객체와 관련된 사용 빈도를, 그 객체가 동일한 사전 정의된 그룹과 관련된 다른 객체에 대해 출력 장치 상의 텍스트 디스플레이 영역에 출력하기 위해 사용자에 의해 선택되는 횟수의 함수로서 조정하는 빈도 승격 요소를 더 포함한다. 가장 바람직하게는, 출력 장치의 텍스트 디스플레이 영역에 출력하도록 객체가 사용자에 의해 선택될 때, 빈도 승격 요소는 비교적 큰 증분만큼 선택된 객체와 관련된 빈도 값을 증가시키고, 선택된 객체와 동일 그룹과 관련된 선택되지 않은 객체와 관련된 빈도를 비교적 작은 감분만큼 감소시킨다. 이와 달리, 하나 또는 복수의 객체의 대문자와 관련된 정보가 메모리 내에 상기 객체들과 함께 저장되고, 선택 요소는 상기 저장된 대문자 정보에 따라서 선호하는 대문자 형태로 각각의 식별된 객체를 제시한다. 다른 실시예에서는, 메모리 내의 하나 또는 복수의 객체가 하나 또는 복수의 글자 또는 부호의 시퀀스를 포함하는 메모리 내의 제 2 객체와 관련되고, 상기 선택 요소가 상기 단어 평가 요소에 의해 계산된 상기 매칭 메트릭에 기초하여 상기 사용자에게 제시하기 위한 상기 객체들 중 하나를 식별하면, 상기 선택 요소는 선택을 위해 상기 관련된 제 2 객체를 제시한다.
본 발명은 텍스트 입력 시스템에 있어서, 기지의 좌표에서 정의된 키를 나타내는 복수의 상호작용을 갖는 자동 정정 영역을 포함하는 가상 키보드를 포함하는 사용자 입력 장치로서, 상기 위치는 알파벳의 하나 이상의 문자에 대응하고, 결정된 위치의 사용자 선택은 현재의 입력 시퀀스에 추가되는 키 활성 이벤트에 대응하는, 상기 사용자 입력 장치와, 단어 또는 단어의 일부를 형성하는 하나 또는 복수의 문자의 스트링을 각각 포함하는 복수의 객체를 포함하는 메모리와, 출력 장치와, 상기 사용자 입력 장치, 메모리 및 출력 장치에 결합된 프로세서를 포함하되, 상기 프로세서는 생성된 키 활성화 이벤트 위치에 대해 상기 키 활성화 이벤트 위치와 상기 자동 정정 영역 내의 하나 또는 복수의 키에 대응하는 상기 기지의 좌표 위치 사이의 거리 값 세트를 계산하는 거리 값 계산 요소와, 생성된 입력 시퀀스에 대해 메모리 내의 하나 또는 복수의 후보 객체를 식별하고, 상기 하나 또는 복수의 식별된 후보 객체에 대해 상기 계산된 거리 값에 기초하여 매칭 메트릭(matching metric)을 계산함으로써 각각의 식별된 후보 객체를 평가하고, 상기 계산된 매칭 메트릭 값에 기초하여 상기 평가된 후보 객체의 등급(rank)을 매기는 단어 평가 요소와, 상기 평가된 등급에 따라서 상기 하나 또는 복수의 후보 객체를 식별하고, 상기 식별된 객체를 사용자에게 제공하며, 사용자로 하여금 상기 제공된 객체들 중 상기 출력 장치로 출력할 하나의 객체를 선택하게 하는 선택 요소를 포함하는 텍스트 입력 시스템을 제공한다.
바람직하게는, (a) 메모리 내의 복수의 객체 각각은 또한 하나 또는 복수의 사전 정의된 객체 그룹과 관련되고, (b) 평가 요소는, 각각의 생성된 입력 시퀀스에 대해, 메모리 내의 하나 또는 복수의 객체의 후보 그룹을 식별함으로써 매칭 메트릭이 계산되는 객체의 수를 제한하고, 하나 이상의 식별된 후보 객체 그룹과 관련된 하나 또는 복수의 객체에 대해, 계산된 거리 값에 기초하여 매칭 메트릭을 계산하고 계산된 매칭 메트릭 값에 기초하여 평가된 후보 객체의 등급을 매긴다. 또한, 알파벳의 문자와 관련된 키는 대략 표준 QWERTY 레이아웃으로 자동 정정 영역에 배열된다.
바람직하게는, 자동 정정 영역 내의 복수의 인접 키의 동시 활성화를 포함하는 키 활성화 이벤트가 검출되면, 상기 키 활성화 이벤트에 대응하는 위치가 상기 동시에 활성화된 키의 위치의 함수로서 결정되고, 상기 결정된 위치는 상기 키 활성화 이벤트의 위치의 현재의 입력 시퀀스에 부가된다. 가장 바람직하게는, 상기 키 활성화의 위치를 결정하는데 사용된 함수는 동시에 활성화된 키의 위치의 중심에 대응하는 위치의 계산을 포함한다. 또한, 상기 키 활성화 이벤트의 위치를 결정하는데 사용된 함수는 동시에 활성화된 키의 위치의 가중된 무게 중심에 대응하는 위치의 계산을 포함하고, 자동 정정 영역 내의 각 키와 관련된 가중치는 키와 관련된 문자의 상대적 발생 빈도에 대응하며, 상기 상대적 빈도는 메모리 내의 객체 내의 문자의 발생 빈도에 대해 결정된다.
바람직하게는, 사전 결정된 임계 기간 내에 자동 정정 영역 내의 복수의 인접 키의 활성화를 포함하는 키 활성화 이벤트가 검출되면, 여기서 상기 키 활성화 이벤트 동안 내내 상기 복수의 인접 키 중 적어도 하나가 활성화되고 상기 복수의 키의 임의의 서브세트가 동시에 활성화되는 상기 키 활성화 이벤트 동안의 임의의 순간에, 상기 동시에 활성화된 키 서브세트는 인접하고, 상기 키 활성화 이벤트에 대응하는 위치는 상기 키 활성화 이벤트 동안 검출된 복수의 인접 키 전부의 위치의 함수로서 결정되고, 상기 결정된 위치는 상기 키 활성화 이벤트의 위치의 현재의 입력 시퀀스에 부가된다. 가장 바람직하게는, 상기 키 활성화 이벤트의 위치를 결정하는데 사용된 함수가 동시에 활성화된 키들의 위치의 중심에 대응하는 위치의 계산을 포함한다. 또한, 상기 키 활성화 이벤트의 위치를 결정하는데 사용된 함수는 동시에 활성화된 키의 위치의 가중된 무게 중심에 대응하는 위치의 계산을 포함하고, 자동 정정 영역 내의 각각의 키와 관련된 가중치는 상기 키들과 관련된 문자의 상대적인 발생 빈도에 대응하며, 상기 상대적인 빈도는 메모리 내의 객체 내의 문자의 발생 빈도에 대해 결정된다.
바람직하게는, 자동 정정 영역은 하나 또는 복수의 구두점 문자와 관련된 하나 또는 복수의 키를 포함하고, 상기 메모리는 자동 정정 영역 내의 키와 관련된 하나 또는 복수의 구두점 문자를 포함하는 메모리 내에 하나 또는 복수의 객체를 포함한다. 이와 달리, 단어 평가 요소는 입력 시퀀스 내의 결정된 위치로부터 계산된 거리 값을 후보 객체의 대응하는 위치 내의 문자에 대응하는 상호작용 위치의 기지의 위치에 가산하고 객체와 관련된 사용 빈도에 따라서 가중 함수를 적용함으로써 각각의 후보 객체에 대한 매칭 메트릭을 계산한다. 다른 실시예에서는, 상기 자동 정정 영역 내의 적어도 하나의 키가 복수의 문자에 대응하고, 상기 복수의 문자 중 하나 또는 복수개는 다양한 분음 부호를 포함하며, 상기 복수의 문자는 단일 기본 문자의 변형을 포함하고, 메모리 내의 객체는 정확한 액센트가 있는 문자와 함께 저장된다.
바람직하게는, 선택 요소가 사용자가 선택하도록 텍스트 디스플레이 영역 내의 후보 객체 리스트 내에 식별된 하나 또는 복수의 후보 객체를 제공한다. 가장 바람직하게는, 선택 요소가 최고 등급의 후보 객체를 식별하고, 상기 자동 정정 영역에 가장 가까운 위치 내의 상기 후보 객체 리스트에 상기 식별된 객체를 제공한다. 또한, 상기 자동 정정 영역 내에 포함되지 않는, 문자와 관련되는 키의 활성화가 상기 선택된 문자를 텍스트 디스플레이 영역 내의 텍스트 삽입 지점에 출력하기 전에 텍스트 디스플레이 영역 내의 텍스트 삽입 지점에서 최고 등급의 후보 객체를 수신하여 출력한다. 또한, 출력 영역에 대한 객체의 사용자 선택은 현재의 입력 시퀀스를 종료하고, 상기 자동 정정 영역 내의 다음 키 활성화 이벤트가 새로운 입력 시퀀스를 개시한다.
본 발명의 바람직한 실시예는 텍스트 입력 시스템에 있어서, 복수의 알파벳 문자를 포함하는 자동 정정 영역을 포함하는 가상 키보드를 포함하는 사용자 입력 장치로서, 상기 복수의 문자 각각이 상기 자동 정정 영역 내의 기지의 좌표를 갖는 위치와 대응하고, 사용자가 상기 자동 정정 영역 내의 상기 사용자 입력 장치와 상호작용할 때마다 사용자 상호작용과 관련된 위치가 결정되며, 상기 결정된 상호작용 위치가 상호작용 위치의 현재의 입력 시퀀스에 추가되는, 상기 사용자 입력 장치와, 복수의 객체를 포함하는 메모리로서, 각각의 객체가 단어 또는 단어의 일부를 형성하는 하나 또는 복수의 문자의 스트링이고, 각각의 객체는 또한 사용 빈도와 관련되는, 상기 메모리와, 출력 장치와, 상기 사용자 입력 장치, 메모리 및 출력 장치에 결합된 프로세서를 포함하되, 상기 프로세서는 상기 상호작용의 입력 시퀀스 내의 각각의 결정된 상호작용 위치에 대해 상기 상호작용 위치와 상기 자동 정정 영역 내의 하나 또는 복수의 문자에 대응하는 상기 기지의 좌표 위치 사이의 거리 값 세트를 계산하는 거리 값 계산 요소와, 각각의 생성된 입력 시퀀스에 대해 메모리 내의 하나 또는 복수의 후보 객체를 식별하고, 하나 또는 복수의 식별된 후보 객체 각각에 대해 상기 계산된 거리에 기초하여 매칭 메트릭을 계산함으로써 식별된 후보 객체를 평가하고, 상기 계산된 매칭 메트릭 값에 기초하여 상기 평가된 후보 객체의 등급을 매기는 단어 평가 요소와, 상기 평가된 등급에 따라서 상기 하나 또는 복수의 후보 객체를 식별하고, 상기 식별된 객체를 사용자에게 제공하며, 사용자로 하여금 상기 제공된 객체들 중 상기 출력 장치로 출력할 하나의 객체를 선택하게 하는 선택 요소를 포함하는 텍스트 입력 시스템을 제공한다.
본 발명은 또한, 메모리 내의 상기 복수의 객체들 각각이 또한 하나 또는 복수의 사전 정의된 객체들의 그룹과 관련되고, 상기 단어 평가 요소는, 각각의 생성된 입력 시퀀스에 대해, 메모리 내의 하나 또는 복수의 상기 객체의 후보 그룹을 식별함으로써 매칭 메트릭이 계산되는 객체의 수를 제한하고, 하나 또는 복수의 식별된 후보 객체 그룹과 관련된 하나 또는 복수의 객체에 대해, 상기 계산된 거리 값에 기초하여 매칭 메트릭을 계산하고 상기 계산된 매칭 메트릭 값에 기초하여 상기 평가된 후보 객체의 등급을 매기는 텍스트 입력 시스템을 제공한다.
본 발명은 또한, 상기 알파벳의 문자가 대략 표준 QWERTY 레이아웃으로 상기 자동 정정 영역에 배열되는 시스템을 제공한다.
이러한 시스템에서 자동 정정 영역의 폭대 높이 비는 약 2:1이다. 또는 자동 정정 영역의 폭대 높이 비는 2:1보다 작다.
다른 실시예에서, 자동 정정 영역에 배열된 하나 또는 복수의 문자는 판독하기 어려운 작은 폰트로 제공되거나 또는 작은 형상으로 제공된다.
본 발명은 또한, 상기 자동 정정 영역은 하나 또는 복수의 구두점 문자와 관련된 하나 또는 복수의 기지의 위치를 포함하고, 상기 메모리는 상기 자동 정정 영역 내의 위치와 관련된 하나 또는 복수의 상기 구두점 문자를 포함하는 메모리 내에 하나 또는 복수의 객체를 포함하는 시스템을 제공한다.
본 발명은 또한, 메모리 내의 객체가 또한 하나 또는 복수의 모듈과 관련되고, 각각의 모듈이 하나 또는 복수의 공통 문자를 갖는 객체 세트를 포함하는 시스템을 제공한다.
다른 실시예에서, 텍스트 입력 시스템은 모듈 선택기를 포함하며, 이것에 의해 후보 객체를 식별하기 위해 어느 모듈이 단어 평가 요소에 의해 평가되는 지를 사용자가 판단할 수 있다.
다른 실시예에서, 복수의 모듈은 단어 어간 모듈 및 접미어 모듈을 포함하며, 각각의 단어 어간 모듈은 활용되지 않은 단어 어간 객체의 논리 조직을 포함하고, 각각의 접미어 모듈은 단어의 어간에 추가되어 활용 단어를 형성할 수 있으며, 각 단어의 어간 모듈은 하나 이상의 접두어 또는 접미어 모듈과 관련되며, 단어 평가 요소가 입력 시퀀스 내에서의 일련의 상호작용에 대해 주어진 단어 어간 모듈 내의 주어진 단어 어간에 대한 매칭 메트릭 값을 계산하여 계산된 매칭 메트릭 값이 사전에 정해진 임계치보다 더 높도록 등급이 매겨지도록 할 때마다, 단어 평가 요소가 관련된 접미어 모듈에 대한 입력 시퀀스의 나머지 상호작용을 평가하고, 단어 평가 요소가 제 2의 임계치보다 높게 등급이 매겨진 관련 모듈들 중 한 모듈 내의 주어진 접두어 또는 접미어에 대한 매칭 메트릭을 계산할 때마다, 그 접미어가 단어 어간에 부가되어 단어 어간 매칭 메트릭 값 및 사전 결정된 접미어 매칭 메트릭 값 모두의 함수인 매칭 메트릭 값을 갖는 완전한 단어를 형성한다.
본 발명은 또한, 단어 평가 요소가 입력 시퀀스 내의 각각의 상호작용 위치로부터 계산된 거리 값을 상기 후보 객체의 상기 대응하는 위치 내의 문자에 할당된 위치에 가산하고 객체와 관련된 사용 빈도에 따라서 가중 함수를 적용함으로써 각각의 후보 객체에 대한 매칭 메트릭을 계산하는 시스템을 제공한다.
다른 실시예에서는, 자동 정정 영역과 관련된 알파벳의 각각의 문자가 직교 좌표를 할당받고, 거리 값 계산 요소가 표준 직교 좌표 거리 분석에 따라서 상호작용 위치와 문자에 대응하는 위치 사이의 거리를 계산한다.
다른 실시예에서는, 자동 정정 영역과 관련된 알파벳의 각 문자가 직교 좌표를 할당받고, 상기 거리 값 계산 요소가 상호작용 위치와 문자에 대응하는 위치 사이의 거리를 표준 직교 좌표 거리의 제곱으로서 계산한다.
다른 실시예에서는, 거리 값이 도표에 위치한다.
다른 실시예에서는, 자동 정정 영역 상의 하나 이상의 위치가 수평 및 수직 좌표에 의해 정의되고, 상호작용 위치와 문자에 대응하는 상기 기지의 좌표 위치 사이의 상기 거리 값이 수평 및 수직 성분을 포함하며, 상기 수직 성분은 상기 문자로부터 상기 상호작용 위치의 상기 거리를 계산하는데 있어 가중 인자에 의해 조정된다.
다른 실시예에서는, 메모리 내의 후보 객체와 관련된 상기 사용 빈도가 메모리 내의 다른 객체에 대한 상기 객체의 선호 순서를 포함하며, 상대적으로 더 높은 빈도와 관련된 객체가 숫자상으로 보다 낮은 선호 순서에 대응한다.
다른 실시예에서는, 단어 평가 요소에 의해 후보 객체에 대한 가산 거리 값에 적용된 빈도 가중 함수가 거리 값의 합에 선호 순서의 베이스 2의 대수 함수를 곱셈한 것을 포함한다.
다른 실시예에서는, 단어 평가 요소가 후보 객체와 관련된 상기 사용 빈도에 따라서 가중 함수를 적용하기 전에 증분 값을 상기 거리 값의 합에 더한다.
다른 실시예에서는, 이 증분 값이 문자에 대응하는 자동 정정 영역 상의 인접한 위치들 사이의 평균 거리의 약 두 배인 고정된 값이다.
다른 실시예에서는, 메모리 내의 객체가 동일한 길이의 객체를 포함하는 그룹으로 분류되도록 저장된다.
다른 실시예에서는, 단어 평가 요소가 상기 입력 시퀀스 내의 입력의 수와 동일한 길이의 객체의 후보 그룹을 처음에 식별함으로써 매칭 메트릭이 계산되는 객체의 수를 제한한다.
다른 실시예에서는, 후보 객체의 임계 수보다 더 적으면, 임계 값보다 양호한 매칭 메트릭 점수를 갖는 것으로 평가되고, 단어 평가 요소는 점진적으로 더 긴 길이의 후보 객체 그룹을 식별하여 상기 임계 수의 후보 객체가 상기 임계치보다 더 양호한 매칭 메트릭 점수를 갖도록 평가될 때까지 식별된 그루 내의 객체에 대해 매칭 메트릭을 계산한다.
다른 실시예에서는, 단어 평가 요소가, 입력 시퀀스 내의 각각의 상호작용 위치로부터 계산된 거리 값을 후보 객체의 대응하는 위치 내의 문자에 할당된 위치에 더하고 증분 값을 더하여 이 합에 객체와 관련된 사용 빈도에 따라서 가중 함수를 적용함으로써 각각의 후보 객체에 대한 매칭 메트릭을 계산하고, 거리 값의 합에 더해진 증분 값은 후보 객체 내의 문자의 수와 현재의 입력 시퀀스 내의 입력 수 사이의 차에 기초하는 값이다.
다른 실시예에서는, 상기 단어 평가 요소가 상기 입력 시퀀스 내의 각각의 상호작용 위치로부터 계산된 상기 거리 값을 상기 후보 객체의 상기 대응하는 위치 내의 상기 문자에 할당된 위치에 가산하고, 상기 객체와 관련된 사용 빈도에 따라서 가중 함수를 적용함으로써 각각의 후보 객체에 대한 상기 매칭 메트릭을 계산한다.
다른 실시예에서는, 메모리 내의 각각의 후보 객체와 관련된 사용 빈도가 상기 객체가 관련되는 메모리 내의 하나 또는 복수의 서브 그룹 내의 다른 객체에 대한 그 객체의 선호 순서를 포함하고, 상대적으로 높은 빈도와 관련된 객체가 숫자상 낮은 선호 순서와 대응한다.
다른 실시예에서는, 입력 시퀀스 내의 상호작용 위치와 자동 정정 영역 내의 문자에 대응하는 기지의 좌표 위치 사이의 각각의 계산된 거리에 대해, 상기 계산된 거리는 임계 거리 값을 초과하고, 상기 입력 시퀀스 내의 상기 상호작용 위치에 대응하는 상기 객체의 문자의 시퀀스 내의 위치에서 상기 문자가 발생하는 메모리 내의 각 객체에 대해, 상기 객체는 선택을 위해 사용자에게 제시되는 것으로부터 제외되는 객체로서 단어 평가 요소에 의해 등급이 매겨진다.
다른 실시예에서는, 메모리 내의 하나 또는 복수의 상기 식별된 후보 객체 그룹이 사용자에게 선택용으로 제시된 것으로부터 배제되는 객체를 포함하고, 상기 하나 또는 복수의 상기 식별된 후보 객체 그룹 내의 각 객체에 대한 거리 값의 계산된 합 내에 포함된 상기 계산된 거리 값 중 적어도 하나는 임계 거리 값을 초과한다.
다른 실시예에서는, 자동 정정 영역이 둘 이상의 사전 정의된 클러스터링 영역으로 분리되고, 각각의 영역은 하나 또는 복수의 문자의 기지의 위치를 포함하며, 메모리 내의 각각의 객체는 사전 정의된 그룹에 할당되고 이에 따라 상기 둘 이상의 사전 정의된 클러스터링 영역이 상기 객체의 하나 또는 복수의 첫 문자에 대응하는 기지의 위치를 포함한다.
다른 실시예에서는, 자동 정정 영역이 세 개의 사전 정의된 클러스터링 영역으로 분리되고, 메모리 내의 각각의 영역은 세 개의 사전 정의된 클러스터링 영역 중 어느 영역이 상기 객체의 처음 두 문자 각각에 대응하는 기지의 위치를 포함하는 지에 기초하여 9 개의 사전 정의된 그룹 중 하나에 할당된다.
본 발명은 또한 자동 정정 영역 내의 기지의 위치에 대응하는 각각의 문자에 대해, 하나 또는 복수의 상기 기지의 위치 주위에 영역이 사전 정의되고, 상기 사전 정의된 영역 내의 입력 상호작용 위치와 상기 사전 정의된 영역 내의 기지의 문자 사이의 거리는 제로의 거리로서 계산되는 시스템을 제공한다.
다른 실시예에서는, 상기 정의된 영역의 상대적인 크기가 상기 사전 정의된 영역 내의 기지의 위치와 관련된 문자의 상대적인 발생 빈도에 대응한다.
다른 실시예에서는, 문자의 기지의 위치 주위의 상기 사전 정의된 영역이 가상 키보드 상의 디스플레이된 키에 대응한다.
본 발명은 또한, 자동 정정 영역 내의 기지의 좌표를 갖는 위치들 중 적어도 하나가 복수의 문자에 대응하고, 상기 복수의 문자 중 하나 또는 복수개는 다양한 분음 부호를 포함하며, 상기 복수의 문자는 단일 기본 문자의 변형을 포함하고, 메모리 내의 객체는 정확한 액센트가 있는 문자와 함께 저장되는 시스템을 제공한다.
본 발명은 또한, 선택 요소가 사용자가 선택하도록 후보 객체 리스트 내에 식별된 하나 또는 복수의 후보 객체를 제공하는 시스템을 제공한다.
본 발명은 또한, 선택 요소가 최고 등급의 후보 객체를 식별하고, 후보 객체 리스트 내에서 식별된 객체를 자동 정정 영역에 가장 가까운 위치에 제공하는 시스템을 제공한다.
본 발명은 또한, 자동 정정 영역 외부의 상호작용과 관련되는 문자의 사용자 선택이 상기 선택된 문자를 출력하기 전에 결정된 최고 등급의 후보 객체를 수신하여 출력하는 시스템을 제공한다.
본 발명은 또한, 출력을 위한 객체의 사용자 선택이 상기 자동 정정 영역 내의 다음 상호작용이 새로운 입력 시퀀스를 개시하도록 현재의 입력 시퀀스를 종료하는 시스템을 제공한다.
본 발명은 또한, 선택 요소가 후보 객체를 선택하는데 사용되는 특유의 선택 방법을 검출하고, 객체가 상기 특유의 방법을 통해 선택되었음을 검출하면, 시스템이 실제 상호작용 위치의 현재의 입력 시퀀스를 상기 선택된 객체를 포함하는 상기 문자의 좌표 위치에 대응하는 상호작용 위치의 입력 시퀀스로 대체하며, 상기 자동 정정 영역 내의 다음 상호작용이 상기 현재의 입력 시퀀스에 부가되는 시스템을 제공한다.
본 발명은 또한, 단어 평가 요소가, 상호작용 위치의 각각의 입력 시퀀스 내의 각각의 결정된 상호작용 위치에 대해, 문자에 대응하는 가장 가까운 기지의 위치를 결정하고, 상호작용 위치의 상기 입력 시퀀스에 대응하는 순서로 상기 결정된 대응하는 문자로 이루어진 정확한 타이핑 객체를 구성하는 시스템을 제공한다.
다른 실시예에서는, 상호작용 위치의 각각의 입력 시퀀스에 대해, 선택 요소가 상기 정확한 타이핑 객체를 선택을 위해 사용자에게 제공한다.
다른 실시예에서는, 사용자가 출력 장치에 출력하기 위해 상기 정확한 타이핑 객체를 선택하고 상기 정확한 타이핑 객체가 메모리 내의 객체들 중 하나로서 이미 포함되지 않는 경우, 상기 정확한 타이핑 객체는 메모리에 추가된다.
다른 실시예에서는, 상기 정확한 타이핑 객체를 출력을 위해 사용자에게 디스플레이하기 전에, 선택 요소가 정확한 타이핑 객체를 디스플레이를 위한 용인할 수 있는 대체 객체와 각각 관련되는 비속어 객체의 데이터베이스와 비교하고, 만약 매칭이 발견되면, 정확한 타이핑 객체를 사용자에게 제공하기 위한 관련된 용인할 수 있는 객체로 대체한다.
본 발명은 또한, 선택 요소가 최고 등급의 후보 객체를 식별하여 상기 식별된 객체를 출력 장치 상에 제시하는 시스템을 제공한다.
본 발명은 또한, 텍스트 입력 시스템이 객체 선택 함수와 관련된 선택 키 영역을 포함하고, 상기 선택 키 영역이 상호작용될 때, 출력 장치 상에 제공된 객체가 상기 식별된 하나 또는 복수의 후보 객체의 그 다음으로 높은 등급의 객체로 대체되는 시스템을 제공한다.
본 발명은 또한, 텍스트 입력 시스템이 삭제 기능과 관련된 삭제 키 영역을 포함하고, 현재의 입력 시퀀스가 적어도 하나의 상호작용을 포함하고 상기 삭제 키 영역이 상호작용될 때, 상호작용들의 상기 현재의 입력 시퀀스로부터 맨 마지막 입력 상호작용이 삭제되는 시스템을 제공한다.
본 발명은 또한, 텍스트 입력 시스템이 단어 편집 기능과 관련된 영역을 포함하고, 현재의 입력 시퀀스가 존재하지 않고 상기 영역이 상호작용될 때와, 상기 출력 장치 상의 상기 텍스트 삽입 지점이 이전에 출력된 단어 내에 포함될 때, 상기 시스템은 상기 단어의 문자와 관련된 좌표 위치에 대응하는 상호작용 위치의 시퀀스를 포함하는 새로운 현재의 입력 시퀀스를 확립하고, 상기 출력 장치 상의 상기 텍스트 디스플레이 영역 내의 텍스트 삽입 지점이 두 개의 이전에 출력된 단어 사이에 위치할 때, 상기 시스템은 상기 텍스트 삽입 지점에 인접한 상기 단어의 상기 문자와 관련된 좌표 위치에 대응하는 삽입 위치의 시퀀스를 포함하는 새로운 현재의 입력 시퀀스를 확립하며, 상기 텍스트 입력 시스템은 상기 새로운 현재의 입력 시퀀스를 처리하여 새로운 후보 객체의 대응하는 등급을 결정하고, 상기 새로운 후보 객체 중 하나의 선택은 상기 새로운 현재의 입력 시퀀스를 확립하는데 사용된 상기 이전에 출력된 단어를 교체하는 시스템을 제공한다.
본 발명은 또한, 각각의 입력 상호작용 위치에 대해, 거리 값 계산 요소가 각각의 대응하는 입력 상호작용 위치의 좌표에 대해 선택된 단어의 하나 이상의 문자에 대응하는 좌표 위치의 오프셋의 수평 및 수직 성분의 진행 평균을 계산하고, 단어 평가 요소에 대한 거리 계산을 수행하는 중에, 상기 거리 값 계산 요소는 각각의 입력 상호작용 위치의 상기 수평 및 수직 좌표를 계산된 평균 표시의 수평 및 수직 오프셋의 함수인 양에 의해 조정하는 시스템을 제공한다.
본 발명은 또한, 프로세서가 상기 자동 정정 영역 내의 하나 이상의 사용자 상호작용 동작에 대해, 상호작용 지점이 가상 키보드로부터 들어올려지기 전에 최초 상호작용 위치로부터 임계 거리보다 적게 움직였는 지의 여부를 판정하는 스트로크 인식 요소를 더 포함하고, 상호작용의 지점이 임계 거리보다 작으면, 상기 스트로크 인식 요소는 상기 사용자의 상호작용이 탭 상호작용이라고 판정하고, 사용자 상호작용과 관련된다고 판정된 위치가 거리 값 계산 요소, 단어 평가 요소 및 선택 요소에 의해 처리되는 상호작용 위치의 현재의 입력 시퀀스에 부가되며, 가상 키보드로부터 들어올려지기 전에 상기 상호작용의 지점이 최초 상호작용 위치로부터 임계 거리 이상 움직이면, 상기 스트로크 인식 요소는 사용자 상호작용이 기지의 시스템 기능과 관련되는 복수의 스트로크 상호작용 중 하나라고 판정하고, 상기 스트로크 상호작용을 상기 복수의 사전 정의된 유형의 스트로크 상호작용 중 하나로서 분류하는 시스템을 제공한다.
본 발명은 또한, 상기 입력 시퀀스 내의 상호작용 위치의 임계 수가 소정의 후보 객체를 포함하는 상기 문자 시퀀스 내의 대응하는 문자로부터의 임계 최대 거리보다 더 큰 경우, 상기 객체는 더 이상 상기 선택 요소에 대한 후보가 아닌 것으로 식별되는 시스템을 제공한다.
본 발명은 또한, 하나 또는 복수의 객체의 대문자와 관련된 정보가 메모리 내에 상기 객체들과 함께 저장되고, 상기 선택 요소는 상기 저장된 대문자 정보에 따라서 선호하는 대문자 형태로 각각의 식별된 객체를 제시하는 시스템을 제공한다.
본 발명은 또한, 메모리 내의 하나 또는 복수의 객체가 하나 또는 복수의 글자 또는 부호의 시퀀스를 포함하는 메모리 내의 제 2 객체와 관련되고, 선택 요소가 단어 평가 요소에 의해 계산된 상기 매칭 메트릭에 기초하여 상기 사용자에게 제시하기 위한 상기 객체들 중 하나를 식별하면, 상기 선택 요소가 선택을 위해 상기 관련된 제 2 객체를 제시하는 시스템을 제공한다.
본 발명은 또한, 가상 키보드가 레이저 프로젝션 키보드, 근육 감지(muscle sensing) 키보드, 패브릭(fabric) 키보드, 제스처 검출 장치, 눈동자 움직임 추적 장치 및 뇌파 검출 장치 중 어느 하나를 포함하는 시스템을 제공한다.
본 발명은 또한, 사용자 입력 장치 및 출력 장치가 통합되는 시스템을 제공한다.
본 발명은 또한, 정식(formal) 또는 구어체(conversational written text)의 언어 객체의 발생 빈도와, 선행 언어 객체 또는 언어 객체들에 후속하는 경우의 언어 객체의 발생 빈도와, 상기 주위 문장의 적절한 또는 일반적인 문법과, 현재의 언어 객체 입력의 애플리케이션 환경과, 사용자에 의한 또는 애플리케이션 프로그램 내에서의 상기 언어 객체의 사용 빈도 또는 반복적인 사용 중 어느 하나를 포함하는 언어 모델을 더 포함하는 시스템을 제공한다.
본 발명은 또한, 사용자 상호작용이, 리스트를 스크롤하여 출력을 위해 선택되는 후보 단어를 변화시키는, 상기 자동 정정 키보드 영역을 가로지르는 또는 상기 자동 정정 키보드 영역에 인접한 스크롤링 제스처를 포함하는 시스템을 제공한다.
본 발명은 또한, 사용자 상호작용이 사용자 의도를 나타내는 제스처 및 기타 동작 중 어느 하나를 포함하는 시스템을 제공한다.
본 발명의 다른 실시예는 텍스트 입력 시스템에 있어서, 알파벳의 문자에 각각 대응하며 기지의 좌표 위치에 각각 위치하는 복수의 키를 포함하는 자동 정정 영역을 포함하는 가상 키보드를 포함하는 사용자 입력 장치로서, 사용자가 사전 결정된 임계 기간 내에 자동 정정 영역 내의 하나 또는 복수의 인접 키를 활성화시켜 키 활성화 이벤트를 생성할 때마다, 키 활성화 이벤트에 대응하는 결정된 위치가 키 활성화 이벤트의 결정된 위치의 현재의 입력 시퀀스에 부가되는, 상기 사용자 입력 장치와, 각각이 단어 또는 단어의 일부를 형성하는 하나 또는 복수의 문자의 스트링인 복수의 객체를 포함하는 메모리와, 출력 장치와, 상기 사용자 입력 장치, 메모리 및 출력 장치에 결합된 프로세서를 포함하되, 상기 프로세서는 키 활성화 이벤트의 입력 시퀀스 내의 각각의 생성된 키 활성화 이벤트 위치에 대해 상기 키 활성화 이벤트 위치와 상기 자동 정정 영역 내의 하나 또는 복수의 키에 대응하는 상기 기지의 좌표 위치 사이의 거리 값 세트를 계산하는 거리 값 계산 요소와, 각각의 생성된 입력 시퀀스에 대해 메모리 내의 하나 또는 복수의 후보 객체를 식별하고, 상기 하나 또는 복수의 식별된 후보 객체 각각에 대해 상기 계산된 거리 값에 기초하여 매칭 메트릭을 계산함으로써 각각의 식별된 후보 객체를 평가하며, 상기 계산된 매칭 메트릭 값에 기초하여 상기 평가된 후보 객체의 등급을 매기는 단어 평가 요소와, 상기 평가된 등급에 따라서 상기 하나 또는 복수의 후보 객체를 식별하고, 상기 식별된 객체를 사용자에게 제공하며, 사용자로 하여금 상기 제공된 객체들 중 상기 출력 장치로 출력할 하나의 객체를 선택하게 하는 선택 요소를 포함하는 텍스트 입력 시스템을 제공한다.
본 발명은 또한, 메모리 내의 상기 복수의 객체 각각은 또한 하나 또는 복수의 사전 정의된 객체 그룹과 관련되고, 상기 단어 평가 요소는, 생성된 입력 시퀀스에 대해, 메모리 내의 하나 또는 복수의 상기 후보 객체 그룹을 식별함으로써 매칭 메트릭이 계산되는 객체의 수를 제한하고, 하나 또는 복수의 식별된 후보 객체 그룹 각각과 관련된 하나 또는 복수의 객체에 대해, 상기 계산된 거리 값 및 각각의 후보 객체와 관련된 사용 빈도에 기초하여 매칭 메트릭을 계산하고 상기 계산된 매칭 메트릭 값에 기초하여 상기 평가된 후보 객체의 등급을 매기는 시스템을 제공한다.
본 발명은 또한, 알파벳의 문자와 관련된 키가 대략 표준 QWERTY 레이아웃으로 상기 자동 정정 영역에 배열되는 시스템을 제공한다.
본 발명은 또한, 자동 정정 영역 내의 복수의 인접 키의 동시 활성화를 포함하는 키 활성화 이벤트가 검출되면, 상기 키 활성화 이벤트에 대응하는 위치가 동시에 활성화된 키의 위치의 함수로서 결정되고, 상기 결정된 위치는 상기 키 활성화 이벤트의 위치의 현재의 입력 시퀀스에 부가되는 시스템을 제공한다.
다른 실시예에서는, 상기 키 활성화 이벤트의 위치를 결정하는 데 사용된 함수가 상기 동시에 활성화된 키의 위치의 중심에 대응하는 위치의 계산을 포함한다.
다른 실시예에서는, 상기 키 활성화 이벤트의 위치를 결정하는데 사용된 함수가 동시에 활성화된 키의 위치의 가중된 무게 중심에 대응하는 위치의 계산을 포함하고, 자동 정정 영역 내의 각각의 키와 관련된 가중이 키와 관련된 문자의 상대적 발생 빈도에 대응하며, 상기 상대적인 빈도는 메모리 내의 객체의 문자의 발생 빈도에 대해 결정된다.
다른 실시예에서는, 사전 결정된 임계 기간 내에 자동 정정 영역 내의 복수의 인접 키의 활성화를 포함하는 키 활성화 이벤트가 검출되면, 여기서 상기 키 활성화 이벤트 동안 내내 상기 복수의 인접 키 중 적어도 하나가 활성화되고 상기 복수의 키의 임의의 서브세트가 동시에 활성화되는 상기 키 활성화 이벤트 동안의 임의의 순간에, 상기 동시에 활성화된 키 서브세트는 인접하고, 상기 키 활성화 이벤트에 대응하는 위치는 상기 키 활성화 이벤트 동안 검출된 복수의 인접 키 전부의 위치의 함수로서 결정되고, 상기 결정된 위치는 상기 키 활성화 이벤트의 위치의 현재의 입력 시퀀스에 부가된다.
다른 실시예에서는, 상기 키 활성화 이벤트의 위치를 결정하는데 사용된 함수가 동시에 활성화된 키들의 위치의 중심에 대응하는 위치의 계산을 포함한다.
다른 실시예에서는, 상기 키 활성화 이벤트의 위치를 결정하는데 사용된 함수가 동시에 활성화된 키의 위치의 가중된 무게 중심에 대응하는 위치의 계산을 포함하고, 자동 정정 영역 내의 각각의 키와 관련된 가중치는 상기 키들과 관련된 문자의 상대적인 발생 빈도에 대응하며, 상기 상대적인 빈도는 메모리 내의 객체 내의 문자의 발생 빈도에 대해 결정된다.
본 발명은 또한, 자동 정정 영역이 하나 또는 복수의 구두점 문자와 관련된 하나 또는 복수의 키를 포함하고, 상기 메모리는 자동 정정 영역 내의 키와 관련된 하나 또는 복수의 구두점 문자를 포함하는 메모리 내에 하나 또는 복수의 객체를 포함한다.
본 발명은 또한, 단어 평가 요소가 입력 시퀀스 내의 결정된 위치로부터 계산된 거리 값을 후보 객체의 대응하는 위치 내의 문자에 대응하는 키의 기지의 위치에 가산하고 객체와 관련된 사용 빈도에 따라서 가중 함수를 적용함으로써 각각의 후보 객체에 대한 매칭 메트릭을 계산한다.
본 발명은 또한, 상기 자동 정정 영역 내의 적어도 하나의 키가 복수의 문자에 대응하고, 상기 복수의 문자 중 하나 또는 복수개는 다양한 분음 부호를 포함하며, 상기 복수의 문자는 단일 기본 문자의 변형을 포함하고, 메모리 내의 객체는 정확한 액센트가 있는 문자와 함께 저장된다.
본 발명은 또한, 선택 요소가 사용자가 선택하도록 후보 객체 리스트 내에 식별된 하나 또는 복수의 후보 객체를 제공한다.
다른 실시예에서는, 선택 요소가 최고 등급의 후보 객체를 식별하고, 상기 자동 정정 영역에 가장 가까운 위치에 상기 후보 객체 리스트 내의 상기 식별된 객체를 제공한다.
다른 실시예에서는, 상기 자동 정정 영역 내에 포함되지 않는, 문자와 관련되는 키의 활성화가 상기 선택된 문자를 출력하기 전에 상기 결정된 최고 등급의 후보 객체를 수신하여 출력한다.
다른 실시예에서는, 출력 영역에 대한 객체의 사용자 선택은 상기 자동 정정 영역 내의 다음 키 활성화 이벤트가 새로운 입력 시퀀스를 개시하도록 현재의 입력 시퀀스를 종료한다.
본 발명은 또한, 가상 키보드가 레이저 프로젝션 키보드, 근육 감지(muscle sensing) 키보드, 패브릭(fabric) 키보드, 제스처 검출 장치, 눈동자 움직임 추적 장치 및 뇌파 검출 장치 중 어느 하나를 포함하는 시스템을 제공한다.
본 발명은 또한, 사용자 입력 장치 및 출력 장치가 통합되는 시스템을 제공한다.
도 1a는 자동으로 입력 키스트로크를 정정하는 본 발명의 축소형 키보드 시스템을 포함하는 휴대형 컴퓨터의 바람직한 실시예의 개략도.
도 1b는 사용자가 자동 정정 영역 내에 키스트로크의 시퀀스를 입력한 후 디스플레이되는 단어 선택 리스트의 일실시예를 도시하는 도 1a와 동일한 개략도.
도 1c는 본 발명의 스크린이 없는 실시예를 도시하는 도 1b의 도면과 동일한 개략도.
도 2는 도 1a 및 1b의 축소형 키보드 시스템의 하드웨어 블록도.
도 3은 입력 키스트로크를 자동으로 정정하는 본 발명의 축소형 키보드 시스템의 자동 정정 영역의 바람직한 실시예의 개략도로서 세 개의 클러스터링 영역과 세 개의 예시적인 상호작용 지점으로 분할된 것을 도시한 도면.
도 4a 내지 4k는 키스트로크의 입력 시퀀스에 응답하여 생성될 원하는 텍스트를 결정하기 위한 소프트웨어의 바람직한 실시예의 순서도.
도 5a 내지 5e는 본 발명의 축소형 키보드 시스템을 포함하는 휴대형 컴퓨터의 바람직한 실시예에서 단어 입력 예로서 문자 입력 시퀀스를 도시한 개략도.
도 5f는 본 발명의 화면이 없는(non-screen) 실시예를 도시한 도 5a의 경우와 동일한 개략도.
도 6은 본 발명과 함께 사용하기 위한 레이저 프로젝션 키보드를 도시한 개략도.
도 7은 본 발명과 함께 사용하기 위한 근육 감지 키보드를 도시한 개략도.
도 8은 본 발명과 함께 사용하기 위한 눈동자 추적 키보드를 도시한 개략도.
사용자 키스트로크 입력은 부정확할 수 있다고 추정되기 때문에, 키스트로크의 특정 시퀀스가 어떻게 해석되어 사용자가 타이핑하고자 한 문자 시퀀스를 생성 하는 지에 대해 다소의 모호성이 존재한다. 본 발명은, 사용자가 단어에 대응하는 각 키스트로크 시퀀스의 하나 이상의 대체 해석을 제공받아, 사용자가 쉽게 원하는 해석을 선택할 수 있으며, 가장 유망하다고 생각되는 해석을 선택하기 위해 특별한 동작을 취할 필요가 없는 프로세스 및 시스템, 즉 장치 및 디바이스를 제공한다. 이 방법은 시퀀스의 각 문자에 대해 사용자의 의도가 무엇이었는 지를 분석하는데 있어서 시스템이 단어에 대응하는 키스트로크의 전체 시퀀스에 포함된 정보를 사용하는 것을 가능하게 한다.
본 발명의 방법은 미국 특허 제 5,748,512 호에 개시된 것과 같은 종래의 시스템에 비해 두 가지 매우 중요한 이점을 갖는다. 그 중 하나는, 본 발명의 시스템이 단어의 길이 및 잠재적으로 매칭되는 단어들의 상대적인 빈도에 대한 정보를 포함하는 데이터베이스와 함께, 각 키스트로크에 대해 원하는 문자를 결정하는데 있어서 선행 또는 후행 키스트로크 모두에 대한 정보를 사용한다는 것이다. 이것은 종래의 시스템에 의해 사용될 수 있는 정보보다 훨씬 더 많은 정보이며, 시스템의 성능을 크게 향상시킨다. 두 번째 이점은 사용자가 단어 경계부에서 시스템에 의한 예측과 상호작용하여 이에 응답만 하면 되며, 각 단어의 모든 문자가 입력된 후에, 검사보다는 각 키스트로크 바로 다음에 시스템에 의해 생성된 각 문자를 수락하거나 거부하면 된다. 이에 따라 사용자가 각각의 키스트로크 후에 디스플레이에 대한 자신의 주의를 빈번히 전환하지 않으면서 키보드 상에 텍스트의 입력에 훨씬 더 많이 집중할 수 있기 때문에, 이것은 시스템의 활용성을 크게 향상시킨다. 다른 이점은 시스템이 영어에서 하이픈으로 연결된 복합어 및 단축형과 같은 단어 에 일반적으로 삽입되는 하이픈 또는 아포스트로피와 같은 구두점 문자를 수용한다는 것이다. 이러한 삽입된 구두점 문자들은 알파벳 문자와 관련된 문자 위치 사이에 포함된 하나 이상의 키 또는 문자 위치와 관련될 수 있다.
"키보드"는 하나 이상의 문자와 관련된 복수의 정의된 위치를 포함하는 정의된 영역을 갖는 입력 장치 및 예를 들어 프로젝션 키보드, 근육 감지 키보드 및 패브릭 키보드를 포함하는 가상 키보드와 같이 정의된 영역을 갖는 임의의 입력 장치를 의미한다.
"자동 정정 영역(auto-correcting region)"은 자동 정정 프로세스 및 적용된 특징을 갖는 키보드의 영역을 지칭한다.
"객체(object)"는 단어를 형성하는 하나 이상의 문자 또는 부호의 스트링, 단어의 어간, 접두어 또는 접미사, 구, 약어, 속어, 에모티콘, 사용자 ID, URL 또는 표의문자열과 같은 언어적 객체를 의미한다.
"단어 평가 성분(word evaluation component)"은 어느 객체가 어떤 순서로 사용자에게 제공되는 지를 결정하며 위에서 정의된 모든 언어적 객체를 둘러싸는 시스템의 부분을 지칭하며, 완전한 단어들에만 한정되지는 않는다.
"단어의 어간(word stem)"은 앞에 삽입된 접두어를 갖거나 갖지 않는 "어근 단어(root word)" 또는 "성분(component)"을 의미한다. 예를 들면, 단어 "interestingly"는 어근 단어 "interest"에 접미사 "ingly"가 추가된 형태로 이루어진다.
"알파벳"은 악센트가 있거나 또는 없는 글자 또는 일본어 가나, 한국어 자모 및 중국어 병음을 포함하는 음성 또는 서브 워드 성분(sub-word component) 또는, 약어에 포함된 구두점 및 숫자, 속어, 에모티콘, 사용자 ID 또는 URL과 같은 기타 언어적 및 비언어적 문자를 의미한다.
"사용 빈도(frequency of use)"는 언어적 모델에 따른 정적 또는 동적 빈도 정보를 의미하며, 정식(formal) 또는 대화체로 기록된 텍스트 내의 단어의 발생 빈도; 선행 단어 또는 단어들을 뒤따를 때의 단어의 발생 빈도; 문장 주위의 적절한 또는 일반적인 문법; 현재의 단어 엔트리의 애플리케이션 컨텍스트; 및 애플리케이션 프로그램 내 또는 사용자에 의한 단어의 반복적 사용 또는 최근의 사용 중 하나 이상을 포함할 수도 있다.
"모듈(module)"은 객체의 특징에 기초한 객체의 논리적 조직이다. 예를 들면, (1) 불어의 단어는 영어의 단어에 비해 상이한 모듈로 정렬되고, (2) 동사의 어간 모듈은 각각이 하나 이상의 가능한 접미사가 추가될 수 있는 동사의 어간들을 포함하며, 여기서 접미사들은 동사의 어간 모듈과 관련된 하나 이상의 접미사 모듈들에 포함되며, 접미사 모듈들로부터의 접미사들은 동사의 어간 모듈 내의 동사의 어간에 추가되어 적절히 활용된 단어를 형성할 수 있다.
마찬가지로, 모듈은 특정 음절에 분음 부호(diacritic mark)를 두는 것과 같이 언어적 패턴에 따라서 객체를 수정 또는 생성하거나 또는 현재의 입력 시퀀스 및 주변 문맥의 해석을 위한 다른 알고리즘에 기초하여 객체를 생성할 수도 있다.
"상호작용 동작(interaction action)"은 첫 번째 상호작용 지점 및 순간으로부터 시작하여 키보드와의 상호작용을 일으키는 전체 사용자 동작을 포함하며, 키 보드와의 상호작용이 종료되는 순간까지 검출되는 상호작용의 임의의 부가적인 인접 지점을 포함한다. 상호작용의 예는 스타일러스 또는 손가락으로 물리적으로 또는 직접적으로 표면 또는 공간적인 위치에 터치하는 것과, 표면 또는 공간적 위치로부터 스타일러스 또는 손가락을 들어올리기 전에 스타일러스 또는 손가락을 더 어느 정도 이동시키는 것을 포함한다.
"상호작용 위치"는 키보드와의 상호작용을 일으키는 사용자 동작에 대응하도록 결정된 위치이다. 상호작용 위치를 결정하는 방법은 사용자에 의해 행해진 최초 또는 최종 상호작용이 이루어진 위치를 검출하거나 또는 사용자 동작을 검출하는 것을 포함하며, 이것에 의해 상호작용 위치는 그러한 사용자 상호작용의 시간에 디스플레이된 키보드 영역 내의 사용자 동작의 위치에 대응하는 것으로 결정된다.
"거리 값 계산 요소(distance value calculation component)"는 키보드의 자동 정정 영역 내의 하나 이상의 문자에 대응하는 기지의 좌표 위치와 상호작용 위치 사이의 거리 값 세트를 계산한다. 두 위치 사이의 거리를 계산하는데 사용된 방법은 각각의 위치에 데카르트 좌표를 할당하여 표준 데카르트 좌표 거리 분석에 따라서 두 위치 사이의 거리를 계산하는 것과, 각 위치에 데카르트 좌표를 할당하여 표준 데카르트 좌표 거리의 제곱으로서 두 위치 사이의 거리를 계산하는 것과, 각 위치에 데카르트 좌표를 할당하여 수직 성분이 가중 인자에 의해 조정되는 데카르트 좌표 거리 분석에 따라서 두 위치 사이의 거리를 계산하는 것과, 3차원 공간 내에 전술한 기법을 적용하는 것을 포함한다.
"매칭 메트릭(matching metric)"은 객체가 상호작용 위치의 입력 시퀀스를 수행하는데 있어서 사용자의 의도에 얼마나 대응할 것 같은 지를 측정하는 수단으로서 상호작용 위치의 입력 시퀀스에 대한 객체에 대해 계산된 점수(score)이다. 예를 들면, 매칭 메트릭은 일실시예에서는 입력 시퀀스 내의 각각의 상호작용 위치로부터 소정의 후보 객체의 대응하는 위치 내의 문자에 할당된 위치까지의 거리의 제곱의 합으로서 계산될 수 있고, 그 다음에 제곱한 거리의 합에 빈도 조정 인자(frequency adjustment factor)를 곱하는데, 이 빈도 조정 인자는 일실시예에서는 다른 잠재적인 후보 객체에 대한 단어의 순서적 위치의 2의 로그 함수로서 계산되며, 상대적으로 보다 높은 빈도와 관련된 객체는 하위 순서의 위치에 대응하는데, 즉 가장 높은 빈도의 객체가 위치 "1"에 위치한다. 따라서, 이 실시예에서는, 계산된 매칭 메트릭의 수치값이 보다 낮을수록, 주어진 객체는 상호작용 지점을 생성하는데 있어서의 사용자의 의도에 대응한다고 생각할 수 있다.
"평가된 랭킹(evaluated ranking)"은 상호작용 지점의 시퀀스를 발생시키는 데 있어서 각 객체가 사용자의 의도에 대응할 가능성에 따른 후보 객체 세트의 상대적인 우선순위화이며, 이 가능성은 객체에 대해 계산된 매칭 메트릭에 따라서 결정된다.
"키 활성화 이벤트(key activation event)"는 첫 번째로 눌러진 키와 첫 번째로 눌러진 키에 인접하여 동시에 눌러진 부가적인 키로부터 시작하여 그것이 눌러진 시간부터 첫 번째 키도 임의의 동시에 눌러진 인접키도 눌러지지 않는 순간까지 검출된, 가상 키보드의 하나 이상의 키를 활성화시키는 사용자 동작 중에 검출된 활성화된 키 전체를 포함하는 이벤트를 포함한다.
도 1a에는, 본 발명에 따라 형성된, 팜탑 휴대형 컴퓨터(102)에 포함되는 축소형 자동 정정 키보드 시스템(100)이 도시되어 있다. 휴대형 컴퓨터(102)는 텍스트 디스플레이 영역(104)에 출력되는 텍스트를 생성하는데 사용되는 터치 스크린 디스플레이(103) 상에 구현된 축소형 키보드(105)를 포함한다. 이 애플리케이션의 목적을 위해, 용어 "키보드"는 키를 위한 규정된 영역을 갖는 임의의 입력부를 포함하도록 넓게 정의된다. 키보드(105)는 영어 알파벳 26 글자와 아포스트로피(apostrophe)가 대략 표준 QWERTY 배열로 디스플레이되는 자동 정정 영역(106)을 갖는다. 이 바람직한 실시예에서는, 키보드(106)의 종횡비 즉 폭대 높이 비가 2:1보다 작은 반면에 표준 컴퓨터 키보드 또는 타이프라이터에서는 이 비가 약 4:1이다. 이 종횡비는 보다 짧은 형상이 스타일러스가 키보드의 양쪽에 있는 글자들 사이에서 이동해야 하는 거리를 최소화시키는 한편, 상대적인 간격을 증가시킴으로써 인접 열 내의 글자들 사이를 구별하는 시스템의 능력을 향상시키는 경향이 있다는 점에서 키보드(106)의 사용을 편리하게 한다. 이것은 사용자가 수직 차원의 원하는 글자에 비교적 가까운 위치에서 키보드와 상호작용하는 것을 쉽게 한다. 그 결과, 바람직한 실시예에서는, 글자로부터 상호작용 지점까지의 거리는 수평 성분에 대한 거리의 수직 성분의 상대적인 가중을 증가시키는 방법을 이용하여 계산된다.
키보드의 크기는 매우 작거나 또는 매우 클 수도 있다. 본 명세서에 개시된 가상 키보드의 경우, 키보드의 사이즈는 전적으로 사용자의 취향 및 가용 표면적에 달려 있다. 보다 일반적인 키보드에 있어서, 총 26 글자의 영어 알파벳을 포함하는 1 cm × 0.5 cm 크기의 자동 정정 키보드를 위한 공간을 사용한 예는 작은 플라 스틱 스타일러스와 함께 사용가능한 것으로 확인되었다. 이 사이즈의 키보드로서 구현되는 경우, 표준 QWERTY 레이아웃과 같은 공지되어 있는 키 배열이 사용될 수도 있다. 이 키 배열을 이용하면, 정의된 키보드 공간 내의 각 문자의 상대적인 위치가 이러한 레이아웃에 익숙한 사용자에게 잘 알려져 있기 때문에, 읽기 쉬운 디스플레이된 문자들을 포함할 필요가 없다. 이와 달리, 사용자를 돕기 위해 점과 같은 매우 작은 라벨을 각각의 문자 위치에 디스플레이할 수도 있다.
본 발명의 다른 측면에 따르면, 문자의 내부적, 논리적 표현은 자동 정정 키보드 내의 실제 문자 상의 라벨로 표현된 물리적 배열을 반영할 필요는 없다. 예를 들면, 불어 어휘 모듈을 나타내도록 구성된 데이터베이스에서, 액센트 문자 A 및 A가 또한 가상 키보드에서 문자 위치에 나타나는 액센트가 없는 문자 A와 관련될 수도 있다. 불어 어휘 모듈 내의 단어 엔트리는, 액센트가 없는 문자와 관련된 키 또는 문자 위치에 충분히 가까운 입력 상호작용 지점에 기초하여 올바르게 철자된 형태가 자동으로 생성될 수 있도록, 주어진 단어가 액센트 문자를 갖고 있는 지 또는 액센트가 없는 문자를 갖고 있는 지의 여부를 판단하는 데 필요한 정보를 포함한다. 이것은 적절한 액센트를 포함하는 정확한 스펠링을 사용하여 단어를 타이핑하는데 특별한 타이핑 기법, 부가적인 키 또는 부가적인 키스트로크가 요구되지 않기 때문에, 흔히 액센트 문자를 사용하는 불어와 같은 언어에 상당히 유익하다.
본 발명의 다른 측면에 따르면, 디스플레이된 키보드가 음절과 같은 서브워드(sub-word) 성분을 입력하기 위한 다수의 상태로 나타날 수도 있다. 예를 들어, 병음에 대해서는, 키보드가 z/zh/c/ch/b/p/m/f 등과 같은 유효 첫글자를 디스플레 이하는 것과 o/on/ong/a/an/ang/uong/uang/uan/uon 등과 같은 유효 끝 문자를 디스플레이하는 것 사이를 스위칭할 수도 있다. 이들 각 경우에, 어휘 모듈은 동적 키보드 동작을 지원하는 데 필요한 정보를 포함할 것이다.
도 1a의 키보드 레이아웃은 특정 기능의 실행 또는 특수문자의 생성과 관련된 6개의 부가적인 키를 포함한다. 이들 키는 시프트 키(108), 스페이스 키(110), 백스페이스 키(112), 에디트 워드 키(114), 심벌 모드 키(116), 리턴(또는 "엔터") 키(118), 교번 키보드 모드 키(120) 및 숫자 모드 키(122)를 포함한다. 이들 키의 기능은 도 1b와 관련하여 논의한다.
텍스트는 자동 정정 키보드(106) 상의 키스트로크를 통해 키보드 시스템을 사용하여 생성된다. 사용자가 키보드를 사용하여 키스트로크 시퀀스를 입력하면, 텍스트가 컴퓨터 디스플레이(103) 상에 디스플레이된다. 디스플레이 상에 사용자에게 정보를 각각 디스플레이하는 두 중첩 영역이 정의된다. 상위 출력 텍스트 영역(104)은 사용자가 입력한 텍스트를 디스플레이하고 텍스트 입력 및 편집을 위한 버퍼 역할을 한다. 단어 선택 리스트 영역(105)은, 도 1b에 도시된 바람직한 실시예에서는 텍스트 영역(104) 위에 포개어져 있는데, 사용자가 입력한 키스트로크 시퀀스에 대응하는 단어 리스트 및 다른 해석을 제공한다. 단어 선택 리스트 영역(150)은 입력된 키스트로크 내의 부정확성을 정정하는데 사용하는 것을 돕는다. 다른 실시예에서는, 시스템이 제한된 디스플레이 공간을 갖는 장치로 구현되어, 생성되는 텍스트 내의 삽입 지점(107)에 디폴트만 디스플레이하거나 또는 가장 유망한 단어 객체를 디스플레이할 수도 있다.
다른 바람직한 실시예에서는, 본 발명의 키보드가 가상 키보드 장치를 사용하여 구현된다. 이러한 장치의 예로는 버추얼 키보드(Virtual Keyboard)(http://www.vkb.co.il/ 참조) 및 카네스타(Canesta)(http://www.canesta.com/ 참조)와 같은 회사에 의해 제공된 레이저 프로젝션 키보드와, 센스보드 버추얼 키보드(Senseboard® virtual keyboard)(예를 들어 http://senseboard.com/ 참조) 및 패브릭 키보드(http://www.electrotextiles.com/ 참조)와 같은 근육 감지 키보드(muscle-sensing keyboard)가 있다.
불행히도, 가상 키보드에서는 단일의 부정확한 또는 잘못된 키 작동이 의도하는 하나의 키 외의 다른 키의 작동으로 이루어질 뿐만 아니라, 둘 이상의 인접한 키의 동시 작동 또는 아주 작은 시차를 둔 순차적인 작동으로 이루어질 수 있는데, 여기서 작동된 키들은 원하는 키를 포함할 수도 있다. 따라서, 본 발명의 다른 측면에 따르면, 자동 정정 키보드 상의 키스트로크의 순서는 단일의 의도한 키스트로크가 하나보다 많은 인접 키를 작동시킨다는 점에서 시간과 공간 모두의 윈도우를 통해 필터링된다. 일례로서, 사용자의 손가락이 의도하는 키 또는 임의의 단일 특정 키와 적절히 정렬되지 않을 때 사용자가 2, 3 또는 4개의 키를 누르는 경우를 들 수 있다. 따라서, 각각의 수신된 키스트로크 다음에, 시스템이 매우 짧은 타임아웃 임계치 동안 대기한 후까지 또는 키스트로크가 인접하지 않은 키 상에 수신될 때까지 키스트로크는 처리되지 않는다. 만약 타임아웃 임계치의 만료 전에 다음 키스트로크가 인접한 키 상에서 발생하거나 또는 복수의 키스트로크가 인접합 키 상에서 발생하면, 검출된 키는 단일 키스트로크 이벤트로서 간주된다. 그러한 경우에, 상호작용의 실제 지점은 동시에 작동된 키 세트의 중심에서 계산된다. 이 계산된 실제 상호작용 지점 및 기지의 문자 위치들로부터의 거리는 가상 키의 해상도보다 우수한 해상도를 갖는 논리 좌표 프레임에 삽입함으로써 계산된다.
본 발명의 다른 실시예에서는, 자동 정정 키보드 상의 키스트로크가 문자들 단독과 매칭되지 않고, 완성된 단어에 대응하는 키스트로크의 전체 시퀀스가 사용 정보의 빈도를 포함하는 후보 단어의 목록과 매칭된다. 이런 방식으로, 시스템은 흔히 평균 크기보다 더 큰 잦은 키스트로크 에러 또는 의도된 단어가 비교적 높은 빈도인 경우에 비교적 큰 크기의 복수의 에러에 대해 올바르게 보상할 수 있다. 키스트로크 입력 시퀀스의 이 단어 레벨의 분석은 본 시스템이 사용자 키스트로크 에러를 유연하게 수용하게 하는 데 있어 중요한 요소이다.
키스트로크 시퀀스의 단어 레벨 분석은 시스템은, 일반적으로 영어에서 하이픈으로 연결된 복합어 및 단축형과 같은 단어에 삽입되는 하이픈 또는 아포스트로피와 같은 구두점 문자를 생성할 수 있게 한다. 그러한 삽입된 구두점 문자는 알파벳 문자와 관련된 것 중에서 자동 정정 키보드 내에 포함된 하나 이상의 키 또는 문자 위치와 관련될 수 있다. 하나보다 많은 구두점 문자가 단일 키와 관련되는 경우에, 의도한 특정 구두점 문자는 목록 내에 포함된 정보에 따라서 명확하게 될 수 있다. 따라서, 예를 들어 만약 목록 내의 단어가 모호한 구두점 키의 영역 내의 키 상호작용에 대응하는 위치 내의 아포스트로피를 포함하면, 매칭 알고리즘은 자동으로 관련 단어를 식별하여 그 키스트로크를 아포스트로피로서 명확하게 한다. 동시에, 시스템은 별도로 구두점 키의 영역 내의 키 상호작용 전 후의 키스트로크 시퀀스를 별도로 분석하여 목록 내의 가장 유망한 매칭되는 단어를 결정하여 하이픈으로 연결된 복합어가 의도된 것일 가능성을 계산할 수 있다. 일부 실시예에서는, 구두점, 다른 심벌, 숫자 또는 기타 일반적으로 사용되지 않는 문자들이 바람직하게는 일련의 일시적으로 디스플레이된 테이블 내의 표시를 통해 별도의 심벌 선택 방안과 관련된다. 이러한 심벌 테이블은 바람직하게는 자동 정정 영역에 인접하게 할당된 기능 키 또는 엔트리 요소를 통해 액세스된다. 가상 키보드의 경우에, 이들 다른 심벌, 숫자 및 특수 문자는 자동 정정 키보드에 포함되지 않은 부가적 키를 통해 수용될 수 있다.
다른 실시예에서는, 분음을 위한 기능이 자동 정정 영역 내의 위치 또는 정의된 키와 관련된다. 선택된 경우, 불어의 악상떼귀(accent aigu) 또는 일본어의 다쿠텐(dakuten) 과 같은 적절한 분음 표시를 입력 시퀀스 내의 문자 전 또는 후에 추가한다.
본 발명의 다른 측면에 따르면, 입력 시퀀스와 매칭되는 후보 단어는 각 입력이 수신될 때 디스플레이 상의 단어 선택 리스트 내에 사용자에게 제시된다. 본 발명의 다른 측면에 따르면, 단어 해석은, 매칭 메트릭에 따라서 가장 유망하다고 생각되는 단어가 리스트의 처음에 나타나도록, 각각의 후보 단어에 대해 계산된 매칭 메트릭에 의해 결정된 순서로 제시된다. 입력 시퀀스의 제안된 해석들 중 하나를 선택하면 입력 시퀀스가 종료되며, 자동 정정 영역 내의 다음 키스트로크가 새로운 입력 시퀀스를 개시한다.
본 발명의 또 다른 측면에 따르면, 단일 단어 해석만이 디스플레이 상의 바람직하게는 생성되는 텍스트에 대한 삽입 지점에 나타난다. 디스플레이된 단어 해석은 매칭 메트릭에 따라서 가장 유망하다고 생각되는 것이다. 특별히 지정된 선택 입력을 반복적으로 활성화시킴으로써, 사용자는 디스플레이된 단어를 매칭 메트릭에 의해 결정된 순서로 제시된 대체 해석으로 대체할 수도 있다. 입력 시퀀스는 또한 지정된 선택 입력의 하나 이상의 활성화 후에 종료되며, 시스템에 의한 실제 출력을 위한 시퀀스의 제안된 해석들 중 하나를 정확하게 선택되고, 자동 정정 영역 내의 다음 키스트로크가 새로운 입력 시퀀스를 시작한다. 다른 실시예에서는, 지정된 선택 입력이, 디스플레이된 단어 선택 리스트 내의 단어의 강조(highlighting)를 변화시켜, 후속 동작으로 출력 또는 확장될 단어의 사용자의 현재의 선택을 나타낸다. 본 발명의 또 다른 측면에 따르면, 지정된 선택 입력은 단어 완성에 의해 입력되었거나 또는 예측된 목수 음절의 시퀀스 또는 복수 단어의 구로부터의 정정 또는 재입력을 위한 하나의 음절 또는 단어를 선택한다. 본 발명의 또 다른 측면에 따르면, 선택 입력 동작은 리스트를 스크롤하여 출력을 위해 선택되는 후보 단어를 변화시키는, 자동 정정 키보드 영역을 가로지르거나 또는 이 영역에 인접한 스크롤링 동작일 수도 있다.
본 발명의 다른 측면에 따르면, 상호작용 지점의 각각의 입력 시퀀스에 있어서, 각각의 상호작용 지점에 가장 가까운 문자를 식별하고 식별된 문자의 시퀀스로 이루어진 단어를 구성함으로써 단어가 구성된다. 이 "정확한 타입(Exact Type)"의 단어는 그 다음에 단어 선택 리스트 내에서 단어 선택으로서 제공된다. 그 다음에 이 단어는, 예를 들어 단어 선택 리스트 내에서 그것을 터치함으로써 통상의 방식으로 선택될 수도 있다. 정확한 타입의 엔트리는, 예를 들어 단어의 끝에서 하나의 문자를 삭제하기 위해 백스페이스 키를 누름으로써 편집될 수 있다. 사용자가 정확한 타입의 단어를 선택하면, 이 단어는 출력을 위해 자동으로 수락되고 구성될 정보에 추가된다. 이렇게 선택되면, 정확한 타입의 스트링은 단어 목록에 포함하기 위한 후보로서 추가될 수도 있으며, 따라서 추후에 정확한 타입의 엔트리를 처음 입력할 때 필요한 단어의 각 글자와 정확하게 상호작용할 필요없이 자동 정정 키보드를 사용하여 타이핑될 수 있다. 본 발명의 다른 측면에 따르면, 손가락 아래의 위치와 관련된 문자를 확대하는 작은 팝업 윈도우와 같은 표시가, 자동 정정 영역을 가로질러 드래그될 때, 정확한 탭 글자를 선택하는 사용자 가상 피드백을 제공한다. 이 표시는 예를 들어 1/2 초 이상 동안 입력 위치와 상호작용함으로써 트리거된 임시 상태 동안 제공될 수도 있다. 본 발명의 다른 측면에 따르면, 특정 문자의 선택을 쉽게 하기 위해 데스크탑 PC 상에서의 마우스 가속의 방식과 반대의 방식으로 임시 상태는 하나의 정확한 타입의 문자로부터 다음 문자로 이동하는데 필요한 거리 또는 속도를 변화시킬 수도 있다.
도 1b는 사용자가 자동 정정 영역(106) 내의 키스트로크의 시퀀스를 입력한 후에 디스플레이되는 단어 선택 리스트(150)의 바람직한 실시예를 도시하고 있다. 단어 선택 리스트는 취소 키(152)를 포함하는데, 여기서 취소 키의 작용에 의해 시스템이 현재의 입력 시퀀스를 폐기하고, 단어 선택 리스트를 지우며, 시스템이 단어 선택 리스트의 출현에 의해 가려진 텍스트 또는 그래픽의 디스플레이를 복구한 다. 바람직한 실시예에서는, 온스크린이 아닌(non-onscreen) 가상 키보드 등가물이 자동 정정 영역 근방의 취소/이스케이프 키이다. "정확한 타입"의 단어(154)는, 이들이 임의의 어휘 모듈 내의 임의의 단어에 대응하는 지의 여부에 관계없이 입력 시퀀스의 실제 상호작용 지점에 가장 가까운 글자들의 시퀀스를 나타낸다. 도 1b에 도시된 예에서는, 정확한 타입의 단어 "rwzt"는 영어 단어에 대응하지 않는다. 바람직한 실시예에서는, 출력할 정확한 타입을 선택하면, 그것이 이미 포함되어 있지 않은 경우에 적절한 어휘 모듈로 단어를 자동 추가한다. 디폴트 단어(160), 즉 도 1b의 예에서는 "text"는 매칭 메트릭의 가장 낮은 값, 즉 단어가 사용자의 의도에 보다 잘 대응할 것 같은 값을 갖도록 결정된 어휘 모듈로부터의 단어이고, 바람직한 실시예에서는 자동 정정 영역(106)에 가장 가까운 단어 선택 리스트의 맨 아래에 도시되어 있다. 이와 유사하게, 세 개의 교번 단어 선택(157)이 대응하는 매칭 메트릭 값에 의해 결정된 순서로 리스트 내에 도시되어 있다.
심벌 모드 키(116), 대체 글자 모드 키(120) 및 숫자 모드 키(122) 각각은 구두점 및 심벌, 알파벳 글자 및 숫자의 대응 키보드가 각각 디스플레이 스크린 상에 나타나게 한다. 그 다음에 사용자는 디스플레이된 키보드로부터 원하는 문자 또는 문자들을 선택할 수 있다. 만약, 단어 선택 리스트가 그러한 대체 키보드를 디스플레이하기 전에 디스플레이되면, 디스플레이된 대체 키보드로부터 임의의 문자를 선택하면, 대체 키보드로부터 선택된 문자를 출력하기 전에 사전에 디스플레이된 단어 선택 리스트의 디폴트 단어가 출력 텍스트 영역(104)에 출력된다. 이와 유사하게, 만약 단어 선택 리스트가 스페이스 키(110) 또는 리턴 키(118)와의 상호 작용 전에 디스플레이되면, 단일 스페이스 또는 캐리지 리턴 문자를 각각 생성하기 전에 디폴트 단어(160)가 출력 텍스트 영역(104)으로 플러시(flush)된다. 다른 실시예에서는, 시스템이 대체 키보드로부터의 선택된 문자를 대응하는 문자 시퀀스 내에 그 문자를 포함하는 객체와 매칭시키고, 또한 사전에 디스플레이된 단어 선택 리스트의 디폴트 단어를 출력하지 않고 그것을 정확한 타입의 단어에 추가한다.
바람직한 실시예에서는, 시프트 키(108)가 래칭 시프트 키로서 기능하며, 따라서 이 시프트 키와의 상호작용에 의해 자동 정정 키보드(106) 내의 다음 상호작용과 관련된 글자가 대문자로 생성될 수 있다. 다른 바람직한 실시예에서는, 시프트 키(108)에 대한 두 연속 상호작용이 시스템을 "캡스락(Caps-Lock)" 상태로 변화시키고, 후속 활성화가 "캡스락" 모드를 취소한다. 백스페이스 키(112)는 상호작용이 존재하는 경우에 그 상호작용의 현재의 시퀀스로부터 최종 입력 상호작용을 삭제하고, 만약 상호작용이 존재하지 않는 경우에는 출력 텍스트 영역(104) 내의 삽입 지점(107)에서 커서의 좌측으로 문자를 삭제한다. 현재의 입력 시퀀스가 없는 경우, 편집 단어 키(114)에 대한 상호작용에 의해 시스템이 삽입 지점 커서(107)를 포함하거나 또는 출력 텍스트 영역(104)에서 커서의 좌측에 있는 단어의 글자와 관련된 좌표 위치로 이루어진 현재의 입력 시퀀스를 확립한다. 그 결과, 이 단어는 단어들이 디폴트 단어(160) 및 정확한 타입의 단어(154)로서 나타나는 단어 선택 리스트를 생성하는 시스템으로 들어간다. 다른 실시예에서는, 시스템이 사용자가 자동 정정 키보드 영역과 새로운 일련의 상호작용을 시작하자마자 삽입 지점 커서를 포함하거나 또는 이 커서에 인접한 단어를 사용하여 현재의 입력 시퀀 스를 확립하고, 확립된 현재의 입력 시퀀스에 대한 새로운 상호작용을 부가한다.
도 1c에는, 본 발명에 따라 형성된 축소된 자동 정정 키보드 시스템이 화면(180)에 투영된 가상 키보드와 함께 도시되어 있다. 이 키보드는 자동 정정 영역을 포함하는데, 여기서 26개의 영어 알파벳 글자와 아스트로피가 대략 표준 WQERTY 배열로 디스플레이된다.
도 2에는 축소된 키보드 모호성 제거 시스템의 블록도가 도시되어 있다. 가상 키보드(2020) 및 디스플레이(203)는 적절한 인터페이싱 회로를 통해 프로세서(201)에 결합되어 있다. 선택적으로, 스피커(204)가 프로세서에 결합된다. 프로세서(201)는 가상 키보드로부터 입력을 수신하고, 디스플레이 및 스피커로의 모든 출력을 관리한다. 프로세서(201)는 메모리(210)에 결합된다. 메모리는 RAM과 같은 일시 저장 매체와 ROM, 플로피디스크, 하드디스크 또는 CD-ROM 과 같은 영구 저장 매체의 조합을 포함한다. 메모리(210)는 시스템 동작을 관리하는 모든 소프트웨어 루틴을 포함한다. 바람직하게는, 메모리는 운영 시스템(211), 자동 정정 소프트웨어(212) 및 보조 어휘 모듈(213)을 포함하며, 이들은 이하에 상세히 설명한다. 선택적으로, 메모리는 하나 이상의 프로그램(214, 215, 216)을 포함할 수도 있다. 응용 프로그램의 예로는, 워드 프로세서, 소프트웨어 사전, 외국어 번역기 등이 있다. 통신 보조 기능을 하는 축소된 자동 정정 키보드 시스템을 구현할 수 있도록 하는 응용 프로그램으로서 음성 합성 소프트웨어가 또한 제공될 수도 있다.
본 발명의 다른 측면에 따르면, 각각의 입력 시퀀스는 하나 이상의 어휘 모듈에 대해 처리되는데, 이들 어휘 모듈 각각은 하나 이상의 단어와, 그 단어 내의 문자 수 및 동일한 길이의 다른 단에 대한 그 단어의 상대적인 발생 빈도를 포함하는 각 단어에 대한 정보를 포함한다. 대안적으로, 주어진 단어를 멤버로 포함하는 어휘 모듈에 대한 정보가 각 단어와 함께 저장된다.
일실시예에서는, 하나 이상의 단어의 어간 모듈 및 접두어/접미어 모듈이 존재하는데, 각 단어의 어간 모듈은 활용되지 않는 단어의 어간 객체의 논리적 조직을 포함하고, 각각의 접두어/접미어 모듈은 단어의 어간에 추가되어 활용 단어를 형성할 수 있는 접두어 및/또는 접미어의 논리적 조직을 포함한다. 각 단어의 어간 모듈은 하나 이상의 접두어/접미어 모듈과 관련되며, 따라서 단어 평가 요소가 입력 시퀀스 내에서의 일련의 상호작용에 대해 주어진 단어 어간 모듈 내의 주어진 단어 어간에 대한 매칭 메트릭 값을 계산하여 계산된 매칭 메트릭 값이 사전에 정해진 임계치보다 더 높도록 등급(rank)이 매겨지도록 할 때마다, 단어 평가 요소는 관련된 접두어/접미어 모듈에 대한 입력 시퀀스의 나머지 상호작용을 평가한다. 단어 평가 요소가 다른 임계치보다 높게 등급이 매겨진 관련 모듈들 중 한 모듈 내의 주어진 접두어 또는 접미어에 대한 매칭 메트릭을 계산하면, 그 접두어 또는 접미어는 단어 어간에 부가되어 단어 어간 매칭 메트릭 값 및 접두어/접미어 매칭 메트릭 값 모두의 함수인 결합형 매칭 메트릭 값을 갖는 완전한 단어를 형성한다.
또한, 인도어와 같은 일부 언어에서는, 선행 상호작용 및 단어 객체를 고려하여 상호작용 지점 주위의 어느 문자가 주어질 수 있는 지를 판단하기 위해 어휘 모듈이 유효 문자 또는 서브워드 시퀀스의 "템플릿(template)"을 채용할 수도 있다. 시스템의 요소는 더 넓은 정황 -바로 앞 또는 뒤의 단어, 현재의 텍스트 내에 서 또는 습관적으로 사용자에 의해 선택된 기록 스타일의 형식 또는 입력 필드 또는 애플리케이션의 타입- 을 고려할 수도 있고, 단지 관련 어휘 모듈만 지칭할 수도 있고 또는 유망한 단어, 단어 어간, 접두어 또는 접미어의 계산된 매칭 메트릭 값을 가중할 수도 있다. 또한, 이 애플리케이션은 현재의 상황에서 사용하기 위한 시스템에 특정 어휘를 공급할 수도 있다.
각각의 입력 시퀀스는 엔트리 시퀀스 내의 각 상호작용 지점으로부터 각 후보 단어의 대응 위치 내의 글자에 할당된 위치까지 계산된 거리들을 합산함으로써 처리되는데, 여기서 이들 거리는 바람직한 방법들 중 하나에 따라서 계산된다. 총 거리를 각 후보 단어에 대한 빈도 정보와 결합하여 매칭 메트릭을 계산하며, 이것에 의해 다양한 후보 단어가 사용자에게 순서대로 제시되도록 등급이 매겨진다. 바람직한 실시예에서는, 매칭 메트릭은 다음과 같이 계산된다. 엔트리 시퀀스 내의 각 상호작용 지점으로부터 각 후보 단어의 대응 위치 내의 글자에 할당된 위치까지의 거리의 제곱을 계산하고, 각 후보 단어에 대해 제곱한 거리의 합을 계산한다. 이 합에 빈도 조정 인자를 곱하되, 바람직한 일실시예에서는 후보 리스트 내의 단어의 순차적 위치의 2의 대수 함수로서 계산되고, 상대적으로 높은 빈도의 단어는 리스트 내에서 보다 높게 이동하여 보다 낮은 순차적 위치에 위치하는데, 즉 가장 빈도가 높은 단어가 위치 "1"에 위치한다. 따라서, 계산된 매칭 메트릭의 수치값이 낮을수록 그 단어는 상호작용 지점의 시퀀스를 생성하는데 있어 사용자의 의도와 일치할 가능성이 높다고 생각된다.
본 발명의 다른 측면에서는, 엔트리 시퀀스 내의 각 상호작용 지점으로부터 후보 단어 내의 각 대응하는 글자까지의 거리의 합을 빈도 조정 인자와 곱하기 전에, 고정된 증분을 그 합에 더하여 적어도 이 증분 값 이상이 되도록 한다. 이것은 상호작용 지점의 시퀀스가 주어진 단어의 스펠링과 정확히 대응할 때, 심지어 그 단어가 가장 낮은 빈도로 발생할 때, 즉 높은 순위 위치를 갖고 있을 때, 매칭 메트릭 값이 0, 즉 가장 유망한 매칭이 되지 않도록 하기 위한 것이다. 이것은 상호작용 지점의 부정확한 시퀀스가 입력되는 경우에도, 훨씬 더 빈번하게 발생하는 단어가 보다 우수한 매칭 메트릭을 생성하도록 한다. 이 바람직한 실시예를 구현했을 때, 고정된 증분 값을 키보드 내의 인접 문자들 사이의 평균 거리의 약 두 배로 하면 빈번하지 않은 단어와의 잘못된 매칭을 줄이는데 유효한 것으로 확인되었다.
본 발명의 다른 측면에 따르면, 각 어휘 모듈 내의 단어는 그 단어가 동일한 길이의 단어로 이루어진 클러스터 또는 파일로 그룹화되도록 저장된다. 각 입력 시퀀스는 먼저 그 입력 시퀀스 내의 입력의 수와 동일한 길이의 단어 그룹을 검색하고, 최선의 매칭 메트릭 점수를 갖는 후보 단어를 식별함으로써 처리된다. 본 발명의 다른 측면에 따르면, 입력 시퀀스와 동일한 길이를 가지며, 임계치보다 더 양호한 매칭 메트릭 점수를 갖는 후보 단어의 임계 숫자보다 더 적은 수가 식별되면, 시스템은 N 개의 입력의 입력 시퀀스를 길이 N+1의 단어 그룹 내의 각 단어의 첫 번째 N 개의 글자와 비교한다. 이 프로세스는 계속해서 점진적으로 더 긴 단어 그룹을 검색하고, 후보 단어의 임계 수가 식별될 때까지 N 개의 입력의 입력 시퀀스를 각 그룹 내의 각 단어의 첫 번째 N 개의 글자와 비교한다. 따라서 입력 시퀀 스보다 더 긴 길이의 가능한 후보 단어가 완전한 단어 형태로 제공되어 사용자에게 입력 시퀀스의 가능한 해석으로서 제공될 수 있다. 본 발명의 다른 측면에서는, 엔트리 시퀀스 내의 각 상호작용 지점으로부터 현재의 입력 시퀀스의 길이보다 더 긴 길이를 갖는 후보 단어 내의 각각의 대응하는 첫 글자까지의 거리의 합을 빈도 조정 인자와 곱하기 전에, 제 2의 고정된 증분을 그 합에 더하여 현재의 입력 시퀀스의 길이와 정확히 일치하는 길이를 갖는 단어에 대해 계산되는 거리의 합보다 더 크게 된다. 이것은 정확히 대응하는 길이를 갖는 단어에 비교적 높은 매칭 확률을 할당하도록 행해진다. 다른 바람직한 실시예에서는, 제 2 증분 인자가 후보 단어와 현재의 입력 시퀀스 사이의 길이의 차의 함수이다.
본 발명의 다른 측면에 따르면, 어휘 모듈의 처리 효율을 증가시키기 위해, 자동 정정 영역 내의 가상 키보드 상으로 맵핑된 각각의 문자는 제외 바운다리에 할당된다. 각각의 그러한 바운다리는 상호작용 지점으로부터 문자까지의 거리가 계산되지 않는 영역을 식별하고, 그 문자는 입력 시퀀스 내의 상호작용 지점에 대한 고려에서 제외시켜, 거리 계산 프로세스에 필요한 계산을 줄인다. 몇몇 문자들에 대한 제외 바운다리의 예로는, 자동 정정 영역 또는 자동 정정 키보드를 두세 개 이상의 주 클러스터링 영역으로 세분하기 위해 문자 스페이스를 통해 늘려진 전체 바운다리를 들 수 있다. 개념적으로는, 이것은 주어진 상호작용 지점에 대한 제외 바운다리를 고려하는 것과 동일한데, 그 바운다리 외부의 임의의 문자는 그 입력 지점에 대한 매치로서 고려되는 것에서 제외된다. 예를 들면, 도 3은 자동 정정 영역(300)을 도시하고 있는데, 여기서 자동 정정 영역(300)은 대략 동일한 크 기의 세 개의 클러스터링 영역(301, 302, 303)으로 수직으로 분할되는 직사각형으로 이루어져 있고, 이들 영역은 각각의 문자가 세 개의 클러스터링 영역 중 하나에만 위치하도록 규정된다. 클러스터링 영역은, 자동 정정 영역 내의 각 상호작용 지점에 대해 세 영역 중 적어도 한 영역 및 보다 빈번하게는 두 영역이 상호작용 지점에 대한 제외 바운다리 외부에 위치하도록 규정된다. 예를 들면, 영역(301)의 좌측에 있는 상호작용 지점(311)은 영역(302)으로부터 충분히 멀리 떨어져 있고, 영역(302)(및 영역(303)) 내의 모든 문자는 상호작용 지점(311)에 대한 제외 바운다리 외부에 있도록 규정될 수 있다. 이에 반해, 영역(301)의 우측에 있는 상호작용 지점(312)에 대한 제외 바운다리는 영역(302) 내의 하나 이상의 문자가 바운다리 내부에 위치한다고 간주되도록 영역(302)으로 연장되며, 따라서 상호작용 지점(312)에 대한 제외 바운다리의 완전히 외부의 영역은 영역(303)이 될 것이다. 영역(302)의 중심의 상호작용 지점(313)에 대한 제외 바운다리는 영역(301) 및 영역(303)으로부터 충분히 멀리 떨어져 있는 것으로 간주될 수 있으며, 따라서, 이들 두 영역 내의 모든 문자가 바운다리 외부에 있는 것으로 규정될 수 있다.
이러한 클러스터링 영역은 시스템이 상호작용 지점의 주어진 입력 시퀀스에 대한 하나 이상의 어휘 모듈 내의 가장 유망한 매칭 단어를 식별할 수 있게 하는 효율을 증가시키는데 사용된다. 전술한 설명 및 도 3의 예를 계속하여 설명하면, 각 어휘 모듈 내의 주어진 길이의 단어는, 각 단어의 첫 번째 두 글자 각각이 발견되는 클러스터링 영역에 기초하여 9 개의 상이한 서브그룹으로 나누어질 수 있는데, 이것은 그러한 영역의 9개의 가능한 순서 쌍이 있기 때문이다. 단지 하나의 글자로 이루어진 단어를 처리하는 경우에는, 매우 적은 계산이 요구되고, 모든 글자를 마치 한 글자 단어가 있는 것처럼 취급하는 경우에도 매우 적은 수의 한 글자 단어만이 있기 때문에 최적화가 필요치 않다. 각각의 첫 번째 두 상호작용 지점에 대하여, 클러스터링 영역 중 한 영역 또는 두 영역 내의 글자들은 고려대상으로부터 제거될 수 있으며, 따라서, 제거된 영역 내의 글자들과 관련된 서브그룹 내의 모든 단어들은 어떠한 거리 계산도 할 필요없이 스킵될 수 있다. 따라서, 어휘 모듈 내의 단어의 첫 번째 두 문자 위치에 대해 세 영역 중에서 총 문자 빈도의 다소 동등한 분포를 고려하면, 제 2 상호작용 지점의 수신시에, 단지 하나의 클러스터링 영역이 각각의 상호작용 지점에 대한 고려대상으로부터 제거되는 경우, 시스템은 후보 단어들 중 많아야 4/9에 대해서만 거리를 계산하고 비교하면 되며, 두 클러스터링 영역이 각 상호작용 지점에 대해 제거된 경우에는 후보 단어들 중 1/9에 대해서만 계산 및 비교하면 된다. 당업자라면 알 수 있듯이, 이 방법은 보다 많거나 또는 적은 수의 클러스터링 영역에 대해서도 이용될 수 있으며, 다른 수의 초기 상호작용 지점에 대해서도 대응하는 결과를 얻을 수 있다. 예를 들면, 네 개의 클러스터링 영역을 이용하여 첫 번째 두 개의 상호작용 지점에 기초하여 후보 단어를 16 개의 서브 그룹으로 나눌 수도 있다.
본 발명의 다른 실시예에서는, 문자 또는 기능의 서브세트가 자동 정정 키보드 외부의 고유하게 정의된 영역 또는 키와 관련되는데, 이 경우, 이들 영역 내의 엔트리는 예를 들어 선택시에 단일 스페이스를 생성하는 스페이스 키와 같은 특수 문자 또는 기능의 명시적인 엔트리로서 해석된다. 이러한 정의된 키들에 있어서, 입력 시퀀스 바로 다음에 그리고 입력 시퀀스에 대해 시스템에 의해 제공된 상호작용의 명시적인 선택을 수행하기 전에 이러한 키를 선택하면, 각 후보 단어에 대해 계산된 매칭 메트릭에 따라서 가장 유망하다고 생각되는 입력 시퀀스의 해석을 자동으로 수락하게 된다. 입력 시퀀스가 종료되면, 자동 정정 영역 내부의 그 다음 키스트로크가 새로운 입력 시퀀스를 시작한다. 입력 시퀀스의 희망하는 단어 해석이 결정되고 시퀀스가 종료하면, 시스템은 자동으로 그 단어를 출력하여 구성될 정보에 추가한다. 어떠한 기능의 경우에는, 예를 들어 백스페이스 기능의 경우에는, 관련 영역 내의 엔트리가 백스페이스 기능의 명시적인 엔트리로서 해석되어 즉시 실행된다. 그러나, 이 경우의 결과는 입력 시퀀스를 결정하지 않고 마지막(가장 최근의) 입력을 시퀀스로부터 단순히 삭제한다. 많은 실시예에서, 자동 정정 키보드 외부의 키는 그 키와 관련된 고유 문자 또는 기능에 따라서 즉시 해석되어 작동한다. 관련 문자 또는 기능에 따라서, 몇몇 경우에는 현재의 입력 시퀀스가 그 결과로서 종료된다.
본 발명의 다른 측면에 따르면, 시스템은 자동 정정 영역을 디스플레이하는데 사용되는 가상 키보드 영역과 자동 정정 영역 외부의 키 또는 고유하게 정의된 영역 내에서 발생하는 두 상이한 유형의 상호작용 이벤트를 구분한다. 한 유형의 상호작용은 탭 이벤트로 이루어지는데, 여기서 가상 키보드가 상호작용하고 그 다음에 상호작용은 상호작용의 최초 지점으로부터의 제한된 거리를 넘어 이동하지 않고 종료된다. 이러한 유형의 이벤트는 본 명세서에 기술한 바와 같이 축소된 자동 정정 키보드 시스템용 키스트로크로서 처리된다. 제 2 유형의 상호작용은 스트로 크 이벤트로서 이루어지는데, 여기서 가상 키보드가 상호작용하고 그 다음에 상호작용의 지점이 탭 이벤트를 규정하는데 사용된 제한된 거리 임계치를 넘어서 하나 이상의 방향으로 이동한다. 이 제 2 유형의 상호작용은 공지되어 있는 기술을 이용하여 스트로크 인식 시스템을 이용하여 처리될 수 있다. 이것은 풀다운 메뉴를 트리거하거나 부가적인 화면을 요구하거나 제공된 키의 크기를 축소시키는 부가적인 키를 규정하지 않고 다수의 부가적인 기능 또는 특수 문자를 사용자가 쉽게 액세스할 수 있도록 한다. 그 다음에 이러한 스트로크의 해석 및 인식된 스트로크와 관련된 문자 또는 기능은, 자동 정정 키보드 외부의 키 또는 고유하게 규정된 영역들 중 한 영역의 활성화와 같은 방식으로 시스템에 의해 처리된다. 이 방법에서는, 이용가능한 가상 키보드의 제한된 영역만이 키보드 기반 및 스트로크 인식 입력 방법 모두를 수용하는데 이용될 필요가 있다.
본 발명의 다른 측면에 따르면, 스트로크 인식 시스템에 의해 인식된 각각의 문자는 알려진 문자 위치까지의 거리보다는 문자 형상 템플릿과의 유사성에 따라서, 자체 계산된 매칭 메트릭 값을 가질 수도 있다. 시스템은 이 값을 등가의 거리로 변환하고, 그러한 인식된 문자를 각 스트로크 이벤트의 하나 이상의 가능한 문자 해석(상대적인 값을 갖는) 또는 문자의 알려진 위치로부터 제로 거리로서 기록되는 명시적 엔트리 또는 단어 평가 요소가 객체를 시퀀스 내의 대응하는 위치 내의 그 문자와 매칭시키는 명시적 엔트리와 함께 입력 시퀀스에 포함시킨다.
본 발명의 다른 측면에 따르면, 시스템은 탭 이벤트의 부가적인 처리를 수행하여 특정 사용자의 가상 키보드와의 상호작용 스타일에 맞도록 동적으로 조정한 다. 한 지점에 가까이 접근하는 동작으로 가상 키보드와 상호작용하는 사용자, 즉, 스타일러스 또는 손가락이 표면과 상호작용하고 임의의 상당한 거리로 이동하기 전에 들어올리는 사용자의 경우에는, 사용자가 키보드와 상호작용하고자 하는 장소에 대해 큰 모호성이 없다. 그러나, 스타일러스 또는 손가락이 표면으로부터 들어올려지기 전에 보다 크거나 또는 작은 정도로 이동하는 경우에는, 사용자가 상호작용하고자 하는 지점을 가장 잘 나타내는 동작의 지속기간 동안 어느 지점이 상호작용되는 지에 대해 모호성이 존재한다. 즉, 그것이 상호작용의 첫 번째 지점인 지, 스타일러스 또는 손가락이 들어올려진 최종 지점인 지 또는 상호작용의 경로를 따르는 다른 어떠한 지점인 지가 모호하다. 바람직한 실시예에서는, 시스템이 각각의 상호작용에 의해 추적된 경로를 상호작용의 경로의 종점 및 경로를 따르는 동등한 거리의 지점을 가리키는 제로 또는 그 이상의 지점을 포함하는 N 개의 상호작용 지점 세트로서 기록한다. 예를 들면, N이 3으로 설정된 실시예에서는, 이 세트가 경로의 종점 및 중간 지점을 포함한다. 처음에, 각 기록 지점 세트의 한 지점이 자동 정정 키보드 내의 글자까지의 거리를 계산하는데 있어 상호작용의 지점을 나타내는데 사용되는 좌표로서 지정된다. 예를 들면, 바람직한 실시예에서는, 각 세트에 기록된 상호작용의 시작 지점이 모든 거리 계산에서 상호작용의 지점을 나타내는데 사용되는 좌표로서 지정된다. 단어가 단어 선택 리스트로부터 출력을 위해 선택될 때마다, 선택된 단어 내의 각 글자로부터 다른 기록된 지점 세트 각각까지 거리 계산이 반복된다. 예를 들면, N이 3으로 설정되고, 계산이 상호작용 시작 지점에 대해 수행되면, 계산은 중간 지점의 세트와 종점의 세트에 대해 반복된다. 어느 지점 세트든 간에, 최소 계산된 거리는 각각의 상호작용 시퀀스에 대해 단어 선택 리스트를 생성하는데 있어 모든 후속 거리 계산에서 그 좌표가 상호작용의 시퀀스 지점을 나타내는데 사용되는 지점 세트로서 지정된다. 다른 바람직한 실시예에서는, 각 지점 세트에 대해 행해진 거리 계산의 진행 평균(running average)이 계산되며, 이 진행 평균이 가장 낮은 지점 세트는 단어 선택 리스트를 생성하는데 있어 거리 계산에 사용된다.
다른 바람직한 실시예에서는, 목적하는 글자들로부터의 지정된 지점의 수평 및 수직 신호의 오프셋의 이 진행 평균이 계산되고, 단어 선택 리스트를 생성하는 거리 계산에 사용된 좌표가 이 평균 신호의 오프셋 또는 이 오프셋의 고정된 부분에 의해 조정된다. 따라서, 만약 사용자가 꾸준히원하는 글자의 다소 좌측과 아래로 가상 키보드와 상호작용하면, 시스템은 자동으로 조정될 수 있으며 평균에 대해 정확하게 예측할 수 있다.
또한, 자동 정정 영역이 평탄한 평면 또는 어떠한 서브 영역이 아니거나, 문자들이 다른 것보다 에러나기 쉽거나, 또는 가상 키보드 디스플레이 또는 프로젝션이 왜곡되어 있거나, 상호작용 검출 기술이 입력을 고르게 기록하지 않으면, 시스템은 단일 수평 및 수직 오프셋보다 더 복잡한 방법으로 부정확성 패턴을 조정할 수도 있다. 예를 들어, 시스템은 각각의 클러스터링 영역 또는 각각의 개별 문자에 대해 독립적인 조정을 유지할 수도 있다. 사용자가 반복적으로 단어를 입력하거나 단어 선택 리스트로부터 단어를 선택하면, 각각의 상호작용 지점과 의도한 문자의 알려진 위치 사이의 차가 각 문자의 수평 및 수직 신호의 오프셋의 진행 평균 에 포함될 수 있다.
본 발명의 다른 측면에 따르면, 자동 정정 영역 내의 가상 키보드 상으로 맵핑된 각각의 문자가 구역의 영역을 할당받는다. 각각의 그러한 영역은 사용자 엔트리로부터 문자까지의 거리가 0의 값을 할당받는 영역을 식별하여 거리 계산 프로세스를 단순화한다. 그러한 영역의 크기는 상이한 문자 및 기능에 대해 다를 수 있다. 예를 들면, 대표적인 용법 코퍼스(corpus of usage)상대적으로 높은 빈도로 발생하는 문자에 보다 큰 영역이 할당될 수도 있다. 일실시예에서는, 문자에 할당된 이 영역이 가상 키보드 상에서 명확하게 제한되고 구분되는 규정된 키에 대응하며, 이 영역에 문자가 할당된다.
이 시스템은, 특히 키보드가 사전에 인쇄되지 않는 경우에, 문자 영역을 동적으로 변화시킬 수 있다. 이 시스템은 사용자 자신의 사용 패턴 또는 어휘에 따라, 보다 큰 영역을 빈도가 높은 글자에 할당하여, 모호성을 감소시킬 수 있으며, 또는 문자를 이동시키거나 그들 영역의 형상을 변화시킴으로써 점증적인 부정확성 조정을 시각적으로 반영할 수 있다.
다른 실시예에서는, 가상 키보드 배열이 복수의 문자가 일부 정의된 키와 관련되는 전화 키패드와 유사하다. 각 클러스터 내의 문자는 동일 영역에 맵핑되고 모두 영역 내의 임의의 사용자 상호작용에 대해 0의 거리를 할당받는다. 이런 방법으로, 자동 정정 키보드 시스템은 이동 전화용 T9TM 텍스트 입력 시스템과 유사한 모호한 텍스트 입력을 지원할 수도 있다. 거리 계산 프로세스는 제로 거리 문자를 이와 유사한 것으로 처리하고, T9 모델에 가까운 모호성 바이어스를 생성하지만 여전히 입력된 위치가 원하는 단어에 대한 잘못된 키와 관련되는 경우에 자동 정정을 허용한다.
축소된 자동 정정 키보드 시스템의 동작은 상호작용 지점과 여러 후보 문자 사이의 거리에 부분적으로 기초하는 자동 정정 소프트웨어(212)에 의해 관리된다. 본 발명의 일실시예에서는, 자동 정정 키보드 내의 각각의 문자가 직교 좌표에 할당되어 키스트로크까지의 거리의 계산을 단순화한다. 따라서 상호작용 지점과 자동 정정 키보드 내의 여러 후보 문자 위치 사이의 거리는 간단한 직교 좌표 거리 분석을 통해 계산된다. 본 발명의 다른 실시예에서는, 단순한 직교 좌표 거리의 제곱을 사용하여 계산을 간단하게 하는데 이는 제곱근을 계산할 필요가 없기 때문이며, 비선형 가중을 보다 먼 상호작용 지점에 적용한다. 다른 실시예에서는, 배타적으로 또는 적절히 가중된 직교 좌표의 거리 분석과의 조합에 자연 대수 또는 이산 스텝과 같은 다른 비선형 함수를 사용하여 거리 계산을 한다.
또한, 다른 바람직한 실시예에서는, x 및 y 방향의 거리가 상이하게 가중된다. 거리 계산에 대한 이러한 변형예는 단어 선택을 단순화하거나, 프로세싱 요구를 감소시키거나 또는 주어진 시스템 및 그 구현에 대한 특별한 요구에 따라서 조직적 엔트리 변형을 수용하는 역할을 할 수 있다. 예를 들면, QWERTY 키보드 배열이 세 문자 키 열과 함께 디스플레이되는 가상 키보드의 경우에, 일반적으로 틀린 열 내에서 키보드와의 상호작용 중에 중요한 에러가 발생할 가능성이 작다. 이 경우, y축을 따르는 수직 거리가 x 축을 따르는 수평 거리보다 더 가중될 수도 있다.
또한, 임의의 주어진 문자가 언어의 대표적인 코퍼스에서 얼마나 빈번하게 사용되는 지 또는 키보드의 에지 또는 중앙에 대한 자신의 위치에 따라서, 자동 정정 키보드 상의 문자들 사이의 간격이 균일하지 않을 수도 있다. 이와 달리, 충분한 계산 자원이 이용가능하면, 하나 이상의 문자가 키보드와 상호작용하는 지점의 좌표 위치로부터 키의 거리를 계산하는데 있어 기준 지점으로서 사용되는 복수의 대응하는 좌표 위치를 할당받을 수도 있으며, 여기서 상기 거리는 상호작용 지점으로부터 가장 가까운 그러한 할당된 기준 좌표까지의 거리로서 계산된다. 이것은 비선형 방식으로 표면과 상호작용하는 지점까지의 계산된 거리를 감소시키고, 그 결과 영역 내의 상호작용 지점을 포함하는 상호작용의 시퀀스가 단어를 대응 위치 내의 문자와 매칭시킬 가능성이 높은 무나를 둘러싸는 영역의 크기를 증가시키는 경향이 있다.
또한, 문자의 좌표는 키보드의 키에 의해 공유되지 않는 위치에 할당되거나 또는 센서에 의해 직접 검출가능하다. 이것에 의해 시스템은 상호작용의 지점을 검출하는데 있어 보다 낮은 해상도를 가질 수도 있는 가상 키보드를 사용하여 구현될 수 있다. 또한, 사용자의 희망에 따라서, 동일한 가상 키보드를 사용하여 구성될 수 있다. 예를 들면, QWERTY 레이아웃 내의 공통의 세 문자열에 센서의 1개, 2개, 3개 또는 그 이상의 열이 제공되어 키보드의 복잡성을 감소시키거나 또는 새로운 키보드 어레이의 동적 재할당을 가능하게 한다. 일례는 9 개 문자로 이루어진 3 개 열로부터 7 개 분자로 이루어진 4 개의 열로 변한다. 따라서, 주어진 문자 키에 대해 할당된 좌표 영역은 키보드와의 상호작용이 검출되는 가장 가까운 둘 이 상의 지점 사이에 위치할 수도 있다. 이 경우에, 논리 좌표 프레임에 가상 키보드의 해상도보다 더 높은 해상도를 삽입함으로써 검출가능한 상호작용 위치로부터의 거리 및 할당된 문자 위치가 계산된다.
시스템의 바람직한 일실시예에서는, 주어진 후보 단어 내에 얼마나 많은 글자가 사전에 설정된 임계 거리(maximum_key-distance)보다 대응하는 입력 상호작용 지점으로부터 더 멀리 떨어져 있을 수 있는 지에 대한 한계를 설정함으로써 부가적인 처리 최적화가 달성된다. 만약, 사전에 설정된 임계치(maximum_key_distance)가 MAX_DISTANCE_VALUE(시스템 내에서 사용된 거리 측정 알고리즘에 의해 계산될 수 있는 최대 거리 값) 외의 다른 값으로 설정되면, 제 2의 임계치(over_max_distance_limit)가 대응하는 입력 상호작용 지점으로부터 maximum_key_distance보다 더 멀리 있을 수 있는 주어진 후보 단어 내의 글자들의 최대 수로 설정된다.
도 4a 내지 4k는 부정확한 키스트로크 시퀀스를 이용하여 효과적으로 사용자를 돕기 위해 단어 선택 리스트를 생성하여 관리하는 자동 정정 소프트웨어(212)의 메인 루틴의 바람직한 실시에의 순서도이다.
도 4a는 메인 프로세싱 루틴을 도시한 것으로서, 시스템이 처음에 개시될 때, 블록 4105에서 단어 선택 리스트 및 현재의 입력 시퀀스를 빈 상태로 초기화한다. 그 다음에, 블록 4110에서, 시스템은 가상 키보드(202)로부터 키스트로크 수신을 기다린다. 키스트로크 수신시에, 블록 4115에서, 시스템은 수신된 키스트로크 상호작용 지점의 좌표 x/y가 자동 정정 영역(106)의 바운다리 내에 있는 지의 여부를 판단한다. 만약 바운다리 내에 없으면, 블록(4120)에서 나타낸 프로세스는 도 4i의 순서도에 도시된 바와 같이 실행되고, 여기서 시스템은 상호작용 지점(x/y)을 포함하는 정의된 키 영역과 관련된 특수 문자 또는 기능을 처리한다. 만약 블록 4115에서, 수신된 키스트로크 상호작용 지점(x/y)이 자동 정정 영역(106)의 바운다리 내에 있으면, 블록 4130에서 시퀀스의 길이(k)가 1씩 증분되고, 지점(x/y)은 현재의 입력 시퀀스의 끝에 k 번째 입력으로서 부가된다. 그 다음에 블록(4140)에서, 시스템은 key_distance 테이블의 엔트리 KDik를 k 번째 입력 지점(x/y)으로부터 자동 정정 키보드 내의 각 키(Ki)의 주변 상의 최근접 지점까지의 직교좌표 거리의 제곱으로 설정하여, x/y가 키 영역(Ki) 내에 있을 때 KDik를 0으로 설정한다. 블록 4150에서, 어휘 모듈(213)의 하나 이상의 단어에 나타나는 유효 문자인 각각의 가능한 문자(Cj)에 대해, 각각의 문자 값(Cj)을 그것에 대응하는 키(Ki)로 매칭시키는 변환 테이블(character_map)을 사용하여 character_distance 테이블의 k 번째 행의 각각의 요소(CDjk)를 k 번째 입력(x/y)으로부터 각각의 가능한 문자(Cj)에 대응하는 키(Ki)까지의 거리의 제곱(KDik)으로 설정한다. 이렇게 하면, 매칭 메트릭을 계산하는데 사용된 거리가 1회 계산되고(KDik가 key_distance 테이블에 설정되어 있을 때), character_distance 테이블이 key_distance 테이블로부터 채워질 때 마찬가지로 변환 테이블(character_map)이 1회만 사용된다. 따라서, 그렇지 않으면 어휘 모듈의 단어를 처리하는데 있어 반복 되어야 하는 많은 수의 계산에 있어서 높은 효율이 달성된다.
판정 블록 4160에서, 어휘(maximum_key_distance)를 검사하여 그것이 MAX_DISTANCE_VALUE 외의 값으로 설정되어 있는 지의 여부를 판정하고, 만약 설정되어 있다면, 블록 4170에서, 보조 인덱스 어레이가 저장되고, 어휘 모듈의 단어 검색에서, x/y 입력이 x/y 입력에 가까운 키로 맵핑된 매칭 문자의 유사성의 오름차순으로 처리될 수 있다. 이 순서대로 처리되는 입력(x/y)을 소팅(sorting)하면 입력 시퀀스에 대한 어휘 모듈을 처리하는데 요구된 총 계산량이 최소화되는 경향이 있는데, 이것은 모든 입력이 처리되기 전에 하나 이상의 x/y 입력이 대응 키로부터의 maximum_key_distance보다 더 큰 모든 단어에 걸쳐서 유사성을 증가시켜서, 그러한 입력의 수가 over_max_distance_limit를 초과하자마자 그 단어가 후보로서 자격을 상실하므로 나머지 입력이 처리될 필요가 없기 때문이다.
도 4k는 맵핑된 문자를 주어진 x/y 입력에 가까운 키로 매칭하는 것을 어떻게 계산하는 지를 나타내는 바람직한 실시예를 도시한 것이다. 테이블 character_frequencies는 어휘 모듈에 포함되는데, 여기서 요소 character_frequenciesij는 어휘 내의 임의의 단어의 j 번째 문자로서 발견된 모든 문자의 상대적인 빈도의 합을 포함하고, 이들은 character_map에서 키(Ki)로 맵핑된다. 블록 41110에서, 현재의 입력(x/y)에 대한 match_probabilityk는 0으로 초기화된다. 루프 41120 내의 판정 블록 41130에서, 만약 키(Ki)가 입력(x/y)으로부터의 maximum_key_distance보다 크지 않으면, 블록 41140에서, match_probabilityk가 거 리(KDik+1)로 나눈 character_frequenciesij의 값만큼 증분되며, 여기서 거리(KDik)는 0으로 나누는 것을 회피하고 각각의 character_frequenciesij를 적절히 스케일링하기 위해 1 증분한다. 루프 41120에서 모든 키가 처리되면, 블록 41150에서, 어레이 key_index 내의 인덱스 값이 각각의 입력에 대해 계산된 match_probabilityk의 값에 따라서 오름차순으로 소팅된다.
도 4a로 돌아가서, 블록 4180에서, 새로운 단어 선택 리스트가 길이(k)의 현재의 입력 시퀀스에 기초하여 계산된다.
도 4b는 새로운 단어 선택 리스트를 계산하기 위한 바람직한 실시예를 도시한 것이다. 블록 4210에서, 임의의 이전에 계산된 단어 선택 리스트가 소거된다. 블록 4220에서, 만약 현재의 입력 시퀀스가 둘 이상의 입력을 포함하면, 소프트웨어는 시퀀스의 처음 두 입력의 좌표 위치에 기초하여 세 클러스터링 영역 중 어느 것이 고려대상에서 제외될 수 있는 지를 판정한다. 블록 4230에서, 제외된 클러스터링 영역에 기초하여, 어휘 모듈 내의 각 단어 리스트의 9개의 가능한 서브 그룹 중 실제로 처리될 필요가 있는 단어의 서브그룹이 식별된다. 그 다음에, 블록 4240에서, 단어 선택 리스트 내에 나타나는 후보 단어를 식별하기 위해 이들 식별된 서브그룹만 처리된다.
도 4c는 식별된 서브그룹 내의 단어를 어떻게 처리하여 자동 정정 영역 내부의 상호작용 지점으로 이루어진 키스트로크의 입력 시퀀스를 입력하는데 있어서 사용자의 의도와 매칭될 가증성이 가장 높은 단어들로 이루어진 단어 선택리스트를 구축하는 지를 도시하고 있다. 블록 4305는 루프 종료 동안 블록 4380에서의 테스트를 통해 블록 4310으로부터 루프의 범위를 규정한다. 블록 4380은 식별된 서브그룹 중 하나에 속하고, 아직 처리되지 않은, 입력 시퀀스의 현재의 길이인 길이 k의 단어가 더 이상 있는 지의 여부를 테스트한다. 만약 없으면, 블록 4385에서, 시스템은 단어 리스트가 채워졌는 지와, 리스트 내의 각 단어에 대해 계산된 매칭 메트릭의 값이 사전에 정해진 임계치보다 작은 지의 여부를 테스트한다. 만약, 테스트 결과가 만족되면, 그 단어 리스트는 적절한 품질의 잠재적 매칭으로 채워졌다고 간주되며, 블록 4395에서, 프로세서는 도 4b의 블록 4260으로 리턴한다. 만약, 테스트 결과가 만족되지 않으면, 시스템은 식별된 서브그룹 중 하나에 속하고 아직 처리되지 않은, k보다 큰 길이의 단어가 더 있는 지의 여부를 테스트한다. 만약 없으면, 블록 4395에서 프로세서는 블록 4260으로 리턴한다.
블록 4310에서 처리될 다음 단어가 어휘 모듈로부터 획득되면, 블록 4315에서 word_distance가 0으로 설정되어 입력 시퀀스로부터 이 단어로 가중된 거리가 이 변수에 가산될 수 있다. 그 다음에 블록 4320에서, over_max_distance_count가 0으로 설정되어 이 단어에 대한 사전에 설정된 최대 임계치(maximum_key_distance)보다 입력 시퀀스 내의 대응하는 상호작용 지점으로부터 더 멀리 있는 단어 내의 글자 수가 이 변수에 의해 계수될 수 있다.
그 다음에 블록 4330에서, 단어가 도 4d에 도시된 바와 같이 처리된다. 블록 4410은 루프 카운터(i)를 1로 초기화하고, 현재의 시퀀스 내의 각각의 k 개의 입력이 처리되었을 때 루프 종료 동안 블록 4490에서의 테스트를 통해 블록 4420으 로부터의 루프의 범위를 정의한다. 블록 4420에서, 변수 next_key는 다음 인덱스 어레이 값 key_indexi로 설정되는데, 이 값은 도 4j에 따라서 소팅되어 계산된 key_distance가 임계치 maximum_key_distance를 초과할 확률이 가장 높은 것으로 시작하여 처리된다. 그 다음에 루프 카운터(i)가 증분된다. 블록 4430에서, kdy_distance는 이미 계산된 대응 값으로 설정되어 전술한 바와 같이 어레이 CD에 저장되는데, 이 어레이 CD는 입력 시퀀스 내의 각각의 상호작용 지점으로부터 어휘 모듈의 임의의 단어에서 발생하는 각각의 가능한 문자까지의 거리를 포함한다. 판정 블록 4440에서, 만약 key_distance가 임계치 maximum_key_distance를 초과하면, 블록 4450에서 over_max_distance_count가 증분되고, 판정 블록 4455에서 그러한 입력의 최대 수(over_max_distance_limit)가 초과되었는 지의 여부를 판단하기 위해 over_max_distance_count가 테스트된다. 만약 초과되면, 루프 4410은 일찍 종료되고, 블록 4490에서 리턴되는 부정확한 단어 거리는, 이 단어가 추가적인 고려사항으로부터 자격을 상실했으므로, 중요하지 않다. 만약 판정 블록 4440에서, key_distance가 임계치 maximum_key_distance를 초과하지 않거나 또는 판정 블록 4455에서, over_max_distance_count가 임계치 over_max_distance_limit를 초과하지 않으면, 블록 4460에서 key_distance는 현재의 단어에 대해 계산되는 총 word_distance로 가산된다. 이 프로세스는 판정 블록 4470에서 모든 입력이 처리되었다고 결정될 때까지 입력 시퀀스 내의 각 상호작용 지점에 대해 반복된다. 이 프로세스가 블록 4490으로부터 리턴되면, word_distance가 현재의 단어에 대해 정 확하게 계산되었거나 또는 over_max_distance_count가 임계치 over_max_distance_limit를 초과하고, 현재의 단어는 추가의 고려상황으로부터 자격을 상실한다.
도 4c로 돌아가서, 판정 블록 4335에서, 현재의 단어가 자격 상실되었는 지의 여부를 판정하기 위해 over_max_distance_count가 검사되고, 만약 상실되었다면, 블록 4380으로 진행하여 단어 처리 루프 4305를 종료할 것인 지를 결정한다. 만약 상실되지 않았다면, 판정 블록 4340에서, 현재의 단어의 길이가 입력 수보다 더 크면, 블록 4345에서 계산된 word_distance가 고정된 양(wrong_length_additive_factor)만큼 증분된다.
다른 바람직한 실시예에서는, wrong_length_additive_factor가 단어 내의 문자 수와 입력 시퀀스 내의 상호작용 지점의 수 사이의 차의 함수로서 계산된다. 어느 경우든, 프로세싱은 어떠한 단어도 0의 word_distance 값을 갖지 않도록 하기 위해, 고정된 양(all_word_additive_factor)만큼 word_distance가 증분되는 블록 4350으로 리턴하며, 단어에 대해 계산된 match_metric이 어휘 모듈의 리스트 내에서 상대적인 우선순위를 반영한다. 블록 4355에서, 단어에 대한 match_metric의 값을 결정하기 위해, 계산된 word_distance와 함께 가중 인자로서 사용하는 곱셈 인자(idx_multiplier)를 계산한다. 도 4c에 도시된 바람직한 실시예에서는, idx_multiplier가 단어를 멤버로 갖고 있는 리스트 내의 그 단어의 순위의 수치 인덱스의 이진 표시 중 1로 설정된 최고 비트의 비트 위치로서 계산된다. 이 값의 범위는 0 내지 31이며, 여기서 0은 최고 비트 위치에 대응하고, 31은 최하위에 대 응한다. 블록 4360에서, 이 값은, 사용된 곱셈 인자가 1보다 크거나 같도록 1씩 증가하여, 임의의 0이 아닌 word_distance가 0이 아닌 match_metric 값이 된다.
만약, 판정 블록4370에서, match_metric이 단어 선택 리스트 내의 최악, 즉 최고 match_metric 점수보다 작으면, 현재의 단어가 단어 선택 리스트에 삽입된다. 만약 match_metric이 완전한 단어 선택 리스트(full word choice list) 내의 최악의 match_metric 점수 이상이면, 현재의 단어는 무시된다. 만약 현재의 입력 시퀀스와 동일한 길이(k)의 처리되지 않은 단어가 남아 있으면, 판정 블록 4380은 블록 4310으로 리턴한다. 판정 블록(4380)이 처리할 길이 k인 단어를 찾지 못하면, 판정 블록 4385는 단어 선택 리스트가 매칭 단어의 전부(full complement of matching word)를 포함하는 지의 여부를 테스트하는데, 예를 들어 바람직한 일실시예에서는, 단어 전부가 제 개의 단어로 이루어지는데, 이들 각각은 사전에 정해진 임계치보다 낮은 match_metric 값을 갖는다. 만약 판정 블록 4385에서, 단어 리스트가 아직 매칭 단어 전부를 포함하지 않았다고 판정되면, 블록 4390에서 시스템은 현재의 입력 시퀀스 길이(k)보다 더 긴 길이의 단어가 남아 있는 지를 검출하고, 만약 있으면, 블록 4310으로부터 실행을 계속한다. 단어 테스트는 판정 블록 4385가 단어 선택 리스트가 매칭 단어로 채워져 있다고 판정할 때까지 또는 판정 블록 4390이 테트트할 더 이상의 단어가 없다고 판정할 때까지 계속된다.
도 4b로 돌아가서, 단어 선택 리스트는 블록 4260에서 처리된다.
도 4e는 단어 선택 리스트를 처리하는 바람직한 실시예를 도시한다. 블록 4510에서, 단어 선택 리스트에 대해 선택된 단어는 단어 길이에 의해 오름차순으로 소팅되며, 따라서 길이가 엔트리 스트링에 대한 키의 수와 동일한 단어가 단어 선택 리스트 내의 가장 유망한 대체(alternative)로서 제시된다. 블록 4520에서, 동일한 길이의 각각의 단어 그룹이 각 단어에 대해 계산된 match_metric의 값에 따라 오름차순으로 소팅되며, 따라서 match_metric의 하위 값을 갖는 단어가 가장 유망한 대체로서 제시된다.
예를 들어 글자 "i" 및 "e"의 올바른 순서가 일반적으로 뒤바뀌는 영어 단어들과 같이 철자를 잘못 쓴 것으로 표시된 단어들이 어휘 모듈 내에 포함될 수도 있다. 바람직한 일실시예에서는, 이러한 철자가 잘못 쓰여진 단어들이 어휘 모듈로부터 후보 단어들로서 식별되고, 단어 선택 리스트 내에 포함되며, 이들은 블록 4540에서 단어 선택 리스트 내에서 대응하는 올바르게 철자된 단어들로 교체될 수 있도록 플래그(flag) 표시된다. 이와 유사하게, 출력될 텍스트의 다른 스트링 또는 관련 단어의 선택시에 실행되는 지정된 기능과 관련되는 매크로 또는 약어로서 플래그 표시된 단어들이 어휘 모듈에 포함될 수도 있다. 블록 4540에서 그러한 매크로는 단어 선택 중에 대응하는 관련 텍스트 스트링으로 대체된다. 블록 4560은 단어 선택 리스트 내의 단어의 모든 문자에 적절한 시프트 상태를 적용하여, 각 글자에 대응하는 키스트로크가 수행될 때마다 실시되는 시프트 상태에 따라서, 관련 문자들을 대문자 또는 소문자의 적절한 형태로 변환시킨다. 블록 4580에서, 단어 선택 리스트 내의 중복 단어는 하위 우선순위의 중복어를 삭제함으로써 제거된다.
본 발명의 다른 측면에 따르면, 본 발명의 입력 방법을 구현하는 소프트웨어 애플리케이션이 기존의 장치에 설치된다. 이 애플리케이션을 장치에 설치하는 동 안에 또는 텍스트 메시지 또는 기타 데이터의 지속적인 수신시에, 기존의 정보 파일이 목록에 추가될 단어에 대해 스캐닝된다. 스캐닝 동안 새로운 단어가 발견되면, 이들은 낮은 빈도의 단어로서 목록 구조에 추가되되, 관련 단어 리스트의 끝에 위치한다. 스캐닝 동안 주어진 새로운 단어가 검출되는 횟수에 따라서, 그 단어에 상대적으로 높은 우선순위가 할당되고, 관련 리스트 내에 그것을 프롬프트함으로써 정보 입력 동안 단어 선택 리스트 내에 나타나는 단어의 가능성이 증가한다.
본 발명의 다른 측면에 따르면, 단어 목록은 용인할 수 있는 성질의 유사 단어와 쌍을 이루는 비속어(offensive) 부록을 포함하여, 비속어를 포함하는 글자의 위치를 정확하게 타이핑하는 경우에도, 만약 적절하다면 단어 선택 리스트 내에서 제안된 대로 정확한 타입 필드 내의 용인할 수 있는 관련 단어만 출력한다. 이 특징은, 일단 사용자가, 의도하는 글자의 정확한 위치에서 키보드와 상호작용하기 위해 주의를 덜 기울일 때 사용자가 보다 빨리 타이핑하는 것이 가능하다고 알면, 선택 리스트 내에서 무의식적으로 나타날 수도 있는 비속어의 출현을 걸러낼 수 있다. 따라서, 공지되어 있는 기법을 이용하여, 정확한 타입의 단어 스트링을 디스플레이하기 전에, 단어 선택 리스트를 디스플레이하는 것을 담당하는 소프트웨어 루틴이 현재의 정확한 타입의 스트링을 비속어의 부록과 비교하고, 만약 매칭이 발견되면, 디스플레이 스트링을 관련된 용인할 수 있는 단어로 대체한다. 그렇지 않으면, 비속어가 매우 낮은 빈도의 단어로서 취급되는 경우에도, 단어의 각 글자들이 직접 상호작용될 때 정확한 타입의 단어로서 나타날 것이다. 이것은 표준 키보드 상에 비속어 단어를 우발적으로 타이핑하는 것과 유사하지만, 본 발명의 시스템 은 사용자가 낮은 정확도로 타이핑할 수 있도록 허용 및 장려하도록 고안된다. 이 특징은 예를 들어 시스템 메뉴 선택을 통해 사용자에 의해 허가 또는 불허되게 할 수 있다.
당업자라면, 예를 들어 법률 용어, 의학 용어 및 기타 언어를 포함하는 어휘 모듈과 같은 부가적인 어휘 모듈이 컴퓨터 내에서 허가될 수도 있음을 알 수 있을 것이다. 시스템 메뉴를 통해, 사용자는 부가적인 어휘 단어가 특정 컬러 또는 강조 표시를 갖고 가능한 단어들의 리스트의 맨 처음 또는 맨 나중에 나타나도록 하거나 또는 시스템이 바로 전에 선택된 단어에 어떤 어휘 모듈이 제공되었는 지에 기초하여 단어의 순서를 자동으로 바꾸도록 시스템을 구성할 수 있다. 따라서, 첨부된 청구범위 내에서, 본 발명은 본 명세서에 특별히 기술한 것 외의 다른 방식으로 실시될 수 있다.
도 4b를 통해 도 4a로 돌아가면, 단어 선택 리스트가 사용자에게 제공되고, 블록 4110에서 메인 루틴이 가상 키보드(202)로부터 다음 키스트로크를 기다린다. 만약, 키스트로크를 수신하면, 블록 4115에서 시스템은 수신된 키스트로크 상호작용 지점이 자동 정정 영역(106)의 바운다리의 외부에 있는 지를 판정하고, 그 다음에 도 4i에 도시된 바와 같이 블록 4120의 프로세스가 수행된다. 블록 4910은 규정된 영역과 관련된 문자 또는 기능을 식별한다. 만약 판정 블록 4920에서 단어 선택 리스트가 비어 있으면, 블록 4925는 규정된 키 영역과 관련된 문자를 생성하거나 또는 규정된 키 영역과 관련된 기능을 실행하며, 블록 4970에서 시스템은 도 4a로 리턴한다. 만약 하나 이상의 단어가 현재 단어 선택 리스트에 디스플레이되 면, 판정 블록 4930은 키스트로크 x/y 좌표가 단어 선택 리스트 영역(150) 내에 있는 지를 판정한다. 만약 영역(150) 내에 있으면, 블록 4935에서 시스템은 단어 선택 리스트로부터 단어 선택을 처리한다.
본 발명의 다른 측면에 따르면, 사용자가 스페이스키를 눌러 입력된 키스트로크 시퀀스의 범위를 정한다. 스페이스키를 수신한 후에, 모호성 해소 시스템이 가장 빈번하게 사용된 단어를 선택하고 이 단어를 구축되는 정보에 추가한다. 스페이스키는 입력된 시퀀스의 범위를 정하는데 사용된다.
본 발명의 다른 측면에 따르면, 단어 선택 리스트는 각 열에 한 단어씩 후보 단어의 수직 리스트로서 제시되며, 여기서 각 열은 영역 또는 컬럼으로 세분된다. 영역 또는 컬럼은 트레일링 블랭크 스페이스(trailing blank space)의 포함 여부 또는 구두점 부호의 첨가 또는 분음 액센트와 같은 선택된 행 내에 디스플레이된 후보 스트링의 수락과 관련된 기능을 규정한다. 이 기능은, 사용자가 희망하는 기능과 관련된 영역 또는 컬럼 내에 포함된 지점에서 단어 선택 리스트 내의 의도하는 스트링 열을 터치하거나 또는 디스플레이된 영역 또는 컬럼에 대응하는 영역 내의 가상 키보드에 대한 동등한 상호작용 동작을 수행할 때 적용될 수도 있다. 사용자가 소정 영역 또는 컬럼 내의 열과의 상호작용에 의해 희망하는 후보 단어를 선택하면, 그 단어는 자동으로 출력 지정되어 구성되는 정보에 추가된다. 예를 들면, 트레일링 스페이스를 추가하는 것과 관련된 영역 내의 열과 상호작용하면 즉각 트레일링 스페이스를 갖는 관련 단어가 출력된다.
본 발명의 다른 실시예에 따르면, 영역 내의 열과 상호작용하면 현재의 입력 시퀀스를 종료하지 않고 실제 상호작용 지점의 현재의 입력 시퀀스를 선택된 열 내의 단어를 포함하는 문자의 좌표 위치에 대응하는 상호작용 지점의 시퀀스로 대체하는 기능이 발생하도록, 하나의 그러한 영역 또는 컬럼이 규정된다. 그 결과, 선택된 단어가 입력 시퀀스의 정확한 타입의 상호작용으로서 선택 리스트 내에 나타난다. 대부분의 경우, 선택된 단어는 입력 시퀀스의 가장 유망한 단어 해석으로서 나타나며, 그 단어의 글자가 훨씬 더 빈번한 단어의 글자들과 각각 가깝다 하더라도, 보다 빈번한 단어가 가장 유망한 단어 해석으로서 나타난다.
다른 실시예에서는, 각각의 부가적인 입력 후에 매칭된 단어들을 포함하여, 선택된 단어를 포함하는 단어들만 단어 선택 리스트에 나타낸다. 입력을 입력 시퀀스를 종료하지 않고 의도한 단어의 글자들의 좌표 위치로서 재정의하는 이 기능에 의해, 사용자는 예를 들어 단어에 원하는 활용 또는 접미어를 부가하도록 타이핑할 수 있다. 의도하는 문자가 상대적으로 빈번하지 않고, 특히 가끔씩만 희망하는 활용 또는 접미어를 갖는다면, 이 특징은 사용자가 단어의 각 글자를 신중하게 타이핑할 필요없이 빈번하지 않는 단어의 가끔씩 발생하는 희망하는 형식을 타이핑하기 쉽게 한다. 이 특징과 관련된 영역 내의 선택 리스트 내의 관련 열과의 상호작용을 통해 단어의 활용되지 않은 형태가 선택될 때 단지 하나의 부가적인 선택 단계만이 요구된다.
본 발명의 다른 측면에 따르면, 단어 선택 리스트로부터 단어를 선택하기 위해 음성 인식과 같은 다른 입력 장치가 이용될 수도 있다. 만약 리스트 상에서 하나 이상의 적절한 단어 해석이 발견되면, 선택 요소가 다른 후보들을 제거하고 다 른 입력 장치와 매칭되는 적절한 단어 해석만 보여주고, 처음에 선택 리스트에 보여주기에는 계산된 매칭 메트릭 값이 너무 낮은 해석들은 선택적으로 포함한다. 본 발명의 다른 측면에 따르면, 지정된 선택 입력이 완전한 단어를 사용하여 매칭 또는 예측된 복수 음절의 시퀀스 또는 복수의 단어 구로부터 정정 또는 재입력을 위해 한 음절 또는 단어를 선택하는 경우, 자동 정정 키보드 또는 음성 또는 수기 인식과 같은 대체 입력 장치를 사용하여 음절 또는 단어를 수정하거나 재입력할 수 있다.
도 4j는 영역(154, 157 또는 160) 내에서의 상호작용을 기록하여 단어 선택 리스트 선택을 처리하는 바람직한 실시예를 도시하고 있다. 블록 41010은 단어 선택 리스트의 어느 열이 상호작용되었는 지와 관련 단어를 식별한다. 블록 41020은 상호작용한 단어 선택 리스트의 컬럼을 식별하고 그 컬럼에 대한 관련 기능(Fcol)을 식별한다. 도 1b에 도시된 바람직한 실시예에서는, 세 개의 상이한 컬럼이 규정되는데, 하나는 컬럼 마커(170)의 좌측에, 다른 하나는 컬럼 마커(172)의 우측에, 그리고 나머지 하나는 컬럼 마커들(170과 172) 사이로 규정된다. 판정 블록 41030은 기능(Fcol)이 입력 시퀀스를 선택된 단어의 x/y 위치 세트로 교체하는 것으로 구성되어 있는 지의 여부를 판정한다. 도 1b에 도시된 바람직한 실시예에서 이것은 컬럼 마커(172)의 우측에 대한 x/y 위치에 대응한다. 만약 그렇다면, 블록 41032는 입력 시퀀스를 선택된 단어의 문자에 대응하는 x/h 위치의 시퀀스로 대체하고, 블록 41034에서 새로운 단어 선택 리스트가 도 4b에 도시된 바와 같이 생성된다. 만 약 기능(Fcol)이 입력 시퀀스를 대체하지 않으면, 단어 선택 리스트로부터의 선택된 단어의 처리가 계속된다. 블록 41040은 선택된 단어의 우선순위를 조정한다.
다른 실시예에서는, 단어 선택 리스트가, 애플리케이션 텍스트 영역의 하부를 따르거나 가상 키보드의 상부를 따라서 투영된 것과 같이 종래의 영역에 디스플레이된 하나 이상의 라인 내에 나란히 배치된 단어를 갖는 수평 리스트이다. 다른 실시예에서는, 리스트 내의 각 단어 또는 단어 어간 근방에 표시를 하여, 그 단어 어간에 기초한 완전한 단어가 디스플레이될 수 있으며 리스트 엔트리에 인가된 지정된 선택 입력에 의해 선택될 수 있음을 사용자에게 신호할 수도 있다. 후속 팝업 단어 선택 리스트는 그 단어 어간을 포함하는 단어만 보여 주며, 보다 완전한 단어를 나타낼 수도 있다. 단어는, 수평 대 수직 방향에 대해 적절히 조정하는 본 명세서에 기술된 방법들 중 어느 한 방법을 통해 선택되거나 확장될 수도 있다.
본 발명의 다른 측면에 따르면, 사용자가 시스템을 사용하는 동안, 사용자에 의해 단어가 선택될 때마다 그 단어와 관련된 상대적인 빈도를 증분시킴으로써 목록 내에서 그 단어를 승격시키도록 동작하는 "프로모션 알고리즘(Promotion Algorithm)"에 의해 자동으로 목록이 수정된다. 바람직한 일실시예에서는 프로모션 알고리즘이 선택된 단어와 관련된 빈도의 값을 비교적 큰 증분만큼 증가시키는 반면에, 패스된 단어의 빈도 값은 매우 작은 감분만큼 감소시킨다. 상대적인 빈도 정보가 단어가 리스트에 나타나는 순서로 표시되는 목록에 있어서, 선택된 단어를 리스트의 헤드로부터의 거리의 일부분만큼 상향 이동시킴으로써 승격이 이루어진 다. 프로모션 알고리즘은 가장 일반적으로 사용된 단어 및 원래의 위치로부터 매우 멀리 있어 매우 드물게 사용된 단어의 이동을 회피하도록 하는 경향으로 설계된다. 바람직한 일실시예에서, 이것은 전체 리스트에서의 현재의 상대적인 위치에 따라서 선택된 단어를 승격시키는 잔여 거리의 일부분을 변경시킴으로써 달성된다. 예를 들면, 리스트의 중간 범위에 있는 단어는 매 선택마다 가장 큰 부분만큼 승격된다. 선택된 단어가 목록의 중간에 있는 단어는 1의 값만큼 강등된다. "단어 리스트 집합(word list mass)"의 보존이 유지되어, 리스트에 요구된 저장 장소를 증가시키지 않고 리스트 내의 단어의 상대적인 빈도와 관련된 정보가 유지되고 갱신된다.
본 발명의 다른 측면에 따르면, 프로모션 알고리즘은 선택된 단어의 빈도를 증가시키고, 적절한 경우에, 선택되지 않은 단어의 빈도는 감소시키도록 동작한다. 예를 들면, 상대적인 빈도 정보가 단어가 리스트에 나타나는 순차적인 순서로 표시되는 목록에서, 리스트 내의 위치(IDX)에 나타나는 선택된 단어가 위치(IDX/2)로 이동한다. 그 결과, 위치(IDX/2)에서 (IDX+1)까지의 리스트 내의 단어는 리스트 내에서 한 포인트 아래로 이동한다. 상호작용 지점의 시퀀스가 처리되어 계산된 매칭 메트릭 값에 기초하여 단어 선택 리스트가 생성될 때 단어들은 리스트 내에서 강등되고, 하나 이상의 단어가 사용자에 의해 선택된 단어 전에 리스트 내에 나타난다. 선택 리스트 내에서 보다 높게 나타나지만 선택되지 않은 단어는 부적절하게 높은 빈도가 할당된 것으로 추정할 수 있는데, 즉 이들은 리스트 내에서 너무 높게 나타나는 것으로 추정할 수 있다. 처음에 위치(IDX)에서 나타나는 그러한 단 어는 예를 들어 위치(IDX*2+1)로 이동시킴으로써 강등된다. 따라서, 단어가 보다 빈번한 것으로 간주될수록, 보다 적은 수의 스텝만큼 이동된다는 점에서 보다 적게 강등된다.
본 발명의 다른 측면에서는, 승격 및 강등 프로세스가 사용자의 동작에만 응답하여 트리거되거나 또는 사용자의 입력에 따라서 상이하게 행해질 수도 있다. 예를 들면, 사용자가 의도한 단어보다 선택 리스트 내에서 보다 높게 나타나는 단어는, 사용자가 스타일러스 또는 마우스를 사용하거나 또는 가상 키보드 상에서 이와 동등한 상호작용 동작을 하는 것에 의해 단어 선택 리스트 내의 맨 앞의 위치로 원하는 단어를 클릭하여 드래그함으로써 의도한 단어를 선택할 때에만 강등된다. 이와 달리, 선택 리스트 내의 보다 높은 위치로 수동으로 드래그된 선택된 단어는 정상 인자보다 더 큰 인자만큼 승격될 수도 있다. 예를 들면, 승격된 단어는 위치(IDX)로부터 위치(IDX/3)로 이동된다. 이러한 많은 변형들은 당업자에게 자명할 것이다.
도 4f는 단어가 단어 선택 리스트로부터 선택될 때 단어의 우선순위화를 조정하는 바람직한 실시예를 도시한 것이다. 판정 블록 4610은 선택된 단어 선택 항목이 정확한 타입의 단어, 즉 x/y 위치가 상호작용 지점의 시퀀스에 정확하게 대응하는 문자 스트링인 지의 여부를 판정하는데, 이것은 바람직한 실시예에서는, 정확한 타입의 단어(154)(도시된 예에서 "rwzt")가 리스트 내의 다른 단어로부터 실선에 의해 분리되어 있는 도 1b에 서와 같이, 단어 선택 리스트 내의 별개의 위치에 디스플레이된다. 만약 선택된 단어가 항목(157 또는 160)과 같은 정확한 타입의 단어가 아니면, 블록 4620에서 선택된 단어는 도 4g에 도시된 바람직한 실시예에서와 같이 승격되고, 블록 4630에서, 단어 선택 리스트 내에서 선택된 단어의 앞에 나타나는 단어들 각각은 다른 단어의 승격의 결과로서 하나 이상의 단어들에 발생할 수도 있는 부수적 강등과 달리 도 4h에 도시된 바람직한 실시예에서와 같이 명시적으로 강등된다.
만약 블록 4610에서, 선택된 단어가 정확한 타입의 단어라고 판정되면, 판정 블록 4640은 그 단어가 어휘 모듈 내에 아직 포함되지 않은 새로운 단어인 지를 식별한다. 만약 아니라면, 블록 4650에서 선택된 단어가 승격된다. 만약 선택된 정확한 타입의 단어가 아직 어휘 모듈 내에 포함되지 않았다면, 블록 4660이 그 단어가 추가될 적절한 단어 리스트를 식별한다. 판정 블록 4665는 적절한 단어 리스트 내에 공간이 이용가능한 지의 여부를 식별하고, 만약 이용가능하지 않으면, 블록 4670에서, 적절한 단어 리스트 내에서 맨 마지막의 가장 유망하지 않은 단어를 삭제하여 그 단어가 추가될 여지를 만든다. 블록 4675에서, 새로운 단어가 적절한 단어 리스트 내의 가장 유망하지 않은 단어로서 추가되고, 그 다음에 블록 4680에서, 단어 선택 리스트에서 나타나는 다른 단어들을 명시적으로 강등시키지 않고 새롭게 추가된 단어가 승격된다.
도 4g는 블록 4620, 4650, 4680에서 수행된 단어 승격의 바람직한 실시예를 도시한 것이다. 블록 4710은 그 단어 리스트 내의 선택된 단어의 위치를 식별하고, idx를 그 위치값으로 할당한다. 블록 4720은 new_idx를 현재의 위치로부터 리스트의 헤드부, 즉 선택될 가능성이 가장 높은 것으로 생각되는 단어의 위치까지의 리스트 중간의 위치를 지정하는 idx의 값의 1/2로서 규정한다. 블록 4730은 idx와 new_idx 사이의 위치 내의 모든 단어를 1 포지션씩 강등하고, idx에서의 단어의 구 포지션을 채워 new_idx에서 그 단어에 대한 공간을 생성한다. 그 다음에 블록 4740은 위치 new_idx의 리스트 내로 그것을 삽입시켜 선택된 단어를 승격시킨다. 이 바람직한 승격 방법은 본래 블록 4355에서 단어에 대해 계산된 idx_multiplier을 1씩 감소시키는 효과를 갖는다.
도 4h는 블록 4635에서 수행된 명시적인 단어 강등의 바람직한 예를 도시한 것이다. 블록 4810은 단어 리스트 내의 명시적으로 강등된 단어의 위치를 식별하고, idx를 그 위치값으로 할당한다. 블록 4820은 new_idx를 2배의 idx+1의 값으로 규정한다. 판정 블록 4830은 new_idx의 값을 단어 리스트 내의 단어의 총 수와 비교한다. 만약 new_idx가 단어 리스트 내의 총 단어 수보다 더 크면, 단어는 리스트의 끝보다 더 멀리 강등될 수 없으므로, 블록 4835는 new_idx를 단어 리스트 내의 단어의 수의 값과 동일하게 설정한다. 블록 4840은 idx와 new_idx 사이의 위치에 있는 모든 단어를 1 포지션씩 승격시키고 new_idx에서 단어의 구 포지션을 채워 new_idx에서 그 단어에 대한 공간을 생성한다. 그 다음에 블록 4850은 위치 new_idx에서 리스트에 선택된 단어를 삽입함으로써 선택된 단어를 강등시킨다. 이 바람직한 강등 방법은 본래 블록 4355에서 단어에 대해 계산된 idx_multiplier를 1씩 증분시키는 효과를 갖는다.
도 5a 내지 5e는 도 1a, 1b, 2, 6, 7에 도시된 본 발명에 따라 형성된 축소형 자동 정정 키보드 시스템(100)을 포함하는 휴대형 컴퓨터(102)의 바람직한 실시 예에 대한 단어 입력 예로서 문자 입력의 시퀀스를 도시한 개략도이다. 휴대형 컴퓨터(102)는 터치 스크린 디스플레이(103) 상에 구현된 축소형 키보드(105) 또는 텍스트 디스플레이 영역(104)에 출력되는 텍스트를 생성하는 데 사용되는 가상 키보드(도 6 및 7 참조)를 포함한다.
도 5a는 단어 "text"의 입력에 대응하는 키스트로크의 시퀀스의 제 1 키스트로크의 위치(510)를 도시한 것이다. 키스트로크(501)에 응답하여, 자동 정정 키보드 시스템은 텍스트 영역(104)의 상부에 중첩되는 단어 선택 리스트 영역(150)을 디스플레이하여, 단어 리스트 및 키스트로크에 대응하는 다른 해석을 보여준다. 이 예에서, 키스트로크의 좌표 위치(510)는 글자 "r"과 관련된 물리적으로 가장 가까운 좌표 위치이다. 단어 선택 리스트는 디폴트 선택으로서 자동 정정 영역(106)에 가장 가까운 위치에 있는 단어 선택 리스트에 도시된 "R"(511)을 포함한다. 글자 "r"이 유일한 한 글자 길이로서 발생하는 경우, 이 글자 "r"은 "R"이 사람의 이름의 일부분에 포함된 이니셜로서 나타나는 경우와 같이, 보다 빈번하게 대문자로 나타나기 때문에, "R"이 대문자로 단어 선택 리스트에 제공된다. 이것은 입력된 단어의 대문자 사용을 지정하기 위해 시프트 키와 같은 키를 사용자가 활성화시킬 것을 요구하지 않고 단어가 바람직한 대문자 사용 형태로 제시될 수 있도록, 어휘 모듈 내의 단어와 함께 각 단어의 대문자 사용과 관련한 정보가 저장되는 본 발명의 다른 측면에 따른다. 단어 선택 리스트는 본 발명의 상기 측면에 따라서 그 다음의 가장 유망한 선택으로서 "are"(512)를 제시하는데, 여기서 단어 또는 음절은 하나 이상의 글자의 임의의 시퀀스와 관련되어, 글자들의 관련 시퀀스가 사용자에 의해 입력될 때 그 단어 또는 심벌이 단어 선택 리스트 내의 선택으로서 제공될 수도 있다. 이 예에서, 단어 "are"는 영어에서 동일한 발음을 갖는 단일 글자 "r"의 "매크로(macry)"로서 관련된다. 마찬가지로, 단어 선택 리스트는 세 번째로 가장 유망한 선택으로서 "®"(513)을 제시하는데, 이 심벌은 글자 "r"과의 논리적 관련에 기초하여 어휘 모듈에 포함되었다. 단어 선택 리스트는 "a"(514)를 네 번째 가장 유망한 선택으로서 제시하는데, 여기서 "a"는 한 글자의 가장 일반적으로 발생하는 단어이며, 따라서 글자 "a"와 관련된 좌표 위치가 상호작용 위치(501)로부터 비교적 멀리 있는 경우에도 단어 선택 리스트에 후보로서 나타난다. 글자 "r"과 관련된 좌표 위치가 키스트로크의 좌표 위치(510)에 다른 어떠한 글자의 좌표 위치보다 더 가깝기 때문에, 이들 선택 위에 선택에 대한 옵션으로서 "r"(515)을 디스플레이하는 정확한 타입의 영역이 있다.
도 5b는 글자 "w"와 관련된 후보 위치에 가장 가까운 다음 키스트로크의 위치(520)를 보여준다. 다어 선택 리스트는 디폴트 선택으로서 "re"(521)를 포함하고, 그 다음으로 유망한 선택으로서 "Re"(522)를 포함하며, 세 번째로 유망한 선택으로서 "ra"(523)를 포함하고, 네 번째 유망한 선택으로서 "Rs"(524)를 포함한다. 이들 선택 위에 선택에 대한 옵션으로서 "rw"(55)를 디스플레이하는 정확한 타입의 영역이 있다.
도 5c는 글자 "z"와 관련된 후보 위치에 가장 가까운 다음 키스트로크의 위치(530)를 보여준다. 단어 선택 리스트는 디폴트 선택으로서 "tax"(531)를 포함하고, 그 다음 유망한 선택으로서 "Rex"(532)를 포함하며, 세 번째로 유망한 선택으 로서 "fax"(533)를 포함하고, 네 번째로 유망한 선택으로서 "was"(534)를 포함한다. 이들 선택 위에 선택에 대한 옵션으로서 "rwz"(535)를 디스플레이하는 정확한 타입의 영역이 있다.
5d는 글자 "t"와 관련된 좌표 위치에 매우 가까운 그 다음 키스트로크의 위치(540)를 보여준다. 단어 선택 리스트는 디폴트 선택으로서 "text"(541)를 포함하고, 그 다음 유망한 선택으로서 "year"(542)를 포함하며, 세 번째로 유망한 선택으로서 "rest"(543)를 포함하고, 네 번째로 유망한 선택으로서 "fact"(544)를 포함한다. 이들 선택 위에 선택을 위한 옵션으로서 "rwzt"(545)를 디스플레이하는 정확한 타입의 영역이 있다.
도 5e는 "스페이스" 키로서 지정된 영역 내의 550에 그 다음 키스트로크를 도시하고 있다. 스페이스키는 자동 정정 영역(106)의 외부에 있으며, 따라서 모호하지 않게 하는 특정 기능과 관련될 수 있다. 스페이스키는 디폴트 단어인 "text"(541)를 수락하여 커서가 마지막으로 위치한 곳에 생성된 텍스트 내의 삽입 지점(107)에 텍스트 출력 영역(104) 내에 단어 "text"(542)를 입력하는 작용을 한다. 동시에, 현재의 입력 시퀀스는 소거되고, 단어 선택 리스트가 휴대형 컴퓨터(102)의 디스플레이 스크린(103)으로부터 제거되어 텍스트 출력 영역(104)이 드러난다.
도 5f는 본 발명의 넌-스크린(non-screen)을 나타내는 도 5a의 예와 동일한 개략도로서, 여기서는 키보드가 표면(580) 상으로 투영된다.
컴퓨터, PDA, 비디오 게임, 셀 폰 등과 사용자가 상호작용하기 위해 새로운 기회를 제공하는 다양한 입력 장치가 도입되었다. 전술한 바와 같이, 이러한 장치는 정확도 및 등록 문제를 겪기 때문에, 일반적으로 이들이 의도하는 데이터 입력 기능에 적합하지 않다. 본 발명은, 위에서 논의한 바와 같이, 그러한 장치로 유용한 데이터 입력을 획득하는 문제에 대한 해법을 제공한다.
도 6은 본 명세서에 개시된 본 발명과 함께 사용하기 위한 레이저 프로젝션 키보드를 도시한 개략도이다. 예를 들면, VKB(http://www.vkb.co.il/ 참고) 및 Canesta(http://www.canesta.com/ 참고)와 같은 회사에 의해 제공된 레이저 프로젝션 키보드는 스마트 폰, 셀 폰, PDA 또는 이동 또는 무선 장치에 완전히 통합될 수 있는 프로젝션 키보드이다. 레이저 프로젝션 키보드는 매우 작은 레이저 패턴 프로젝터(62)를 사용하여 풀사이즈의 키보드(63)의 이미지를 장치(60)와 사용자(61) 사이의 테이블 표면 또는 손수건과 같은 편리한 평면 표면(64)에 투영한다. 그 다음에 사용자는 이 이미지를 타이핑할 수 있고, 관련 전자 인식 기술이 즉각적으로 사용자의 손가락 움직임을 무선 또는 이동 장치에 의해 쉽게 사용되는 일반적인 일련의 키스트로크 데이터로 분석한다. 레이저 프로젝션 키보드에 의해 제공된 이점은, 대중적이기는 하지만 문서 및 메모 생성과 이메일 합성과 같은 타이핑 지향적 애플리케이션을 지원하는 능력에는 한계가 있는 수기 인식 또는 엄지손 키보드(thumb keyboard)와 같은 현재의 입력 솔루션을 고려하면 매우 높게 평가될 것이다. 레이저 프로젝션 키보드는 이전에는 풀사이즈의 기계식 키보드에 의해서만 실용적이었던 애플리케이션을 이동 또는 무선 장치가 지원하도록 한다.
또 다른 실시예로는 트레이 테이블 및 등받이 또는 팔걸이 디스플레이 상에 가상 키보드를 포함하는 기내(in-flight) 시스템이 있다. 이 키보드는 전술한 전자 인식 기법을 이용하여 원 언어 또는 지역에 따라서 사용자의 선택을 용이하게 하도록 레이저에 의해 투영되거나 또는 손가락 움직임 및 키 위치를 추적하는 종래의 광 인식 기법을 이용하여 트레이 테이블 또는 식탁용 매트 상에 인쇄할 수 있다. 트레이 테이블은 등받이에 대해 미끄러지고 기울어져 있기 때문에, 트레이 테이블 상의 하나 이상의 등록 마크를 이용하여 시스템이 키보드를 배치하거나 또는 추적할 수 있게 한다.
도 7은 본 발명과 함께 사용하기 위한 근육 감지 키보드를 도시한 개략도이다. Senseboard® 가상 키보드(예를 들어, http://www.senseboard.com/)와 같은 근육 감지 키보드는 통상 사용자의 손의 손바닥에 놓이는 패드를 구비하는 한 쌍의 핸드 모듈(71)로 이루어진다. 근육 감지 키보드는 표준 키보드의 물리적 제한 없이 사용자가 타이핑할 수 있게 한다. 이 유형의 가상 키보드는 통상 패턴 인식과 같은 인공 지능 및 센서 기술을 이용하여 사용자가 타이핑하는 문자를 인식한다. 키보드는 손가락의 움직임을 검출하여 이들을 타이피스트가 예를 들어 표준 WQERTY 키보드를 어떻게 이용하는 지와 관련시킨다. 그렇게 생성된 정보는 예를 들어 케이블 또는 블루투스 무선 접속을 이용하여 PDA 또는 스마트폰과 같은 이동 장치로 전송된다.
또 다른 가상 키보드로는 패브릭 키보드(예를 들어, http://www.electrotextiles.com/ 참고)가 있다. 그러한 키보드는 약 1mm 두께의 직물 내에 세 개의 검출 축(X, Y, Z)을 제공한다. 이 기술은 패브릭 센서와 전자 및 소프트웨어 시스템의 조합이다. 그 결과의 패브릭 인터페이스는 그것이 놓여 있는 애플리케이션의 요건에 따라 데이터를 전달한다. 세 개의 센서 동작 모드는 위치 감지(X-Y 배치), 압력 측정(Z 감지) 및 스위치 배열을 포함한다. 따라서, 키보드는 인터페이스의 X-Y 배치 능력을 이용하여 손가락 압력과 같은 압력 지점을 검출하도록 구성될 수 있다. 이 시스템은 직물이 접히거나 걸쳐지거나 펼쳐지는 경우에도 작동한다. 단일 패브릭 스위치를 사용하여 스위치 매트릭스 기능을 제공할 수 있다. 임의의 구성 내의 스위치 영역의 위치를 식별하기 위해, 예를 들어 키보드 기능을 구현하기 위해 해석 소프트웨어가 사용된다.
도 8은 본 발명과 함께 사용하기 위한 눈동자 추적 키보드를 도시한 개략도이다. 이러한 시스템에서, 사용자의 눈의 움직임(80)은 추적 장치(82)에 의해 추적되고, 본 발명에 따라 동작하는 시스템(83)에 의해 결정된 선택이 모니터(81) 상에 디스플레이된다.
이상 본 발명을 설명하였지만, 본 발명의 사상 및 범주를 벗어나지 않고 다양한 변화가 이루어질 수 있다. 예를 들면, 당업자라면, 키보드(105) 및 자동 정정 영역(106)이 다양한 방법으로 구성될 수 있으며, 가변 개수의 명시적 기능키(108-122)를 가질 수도 있다는 것을 알 수 있을 것이다. 본 명세서에 개시된 자동 정정 기법은 상이한 크기의 키보드 및 다양한 크기의 전통적인 기계식 키보드와, 터치 패널 및 터치 스크린 기반의 키보드와, 다양한 다른 유형의 가상 키보드에 동등하게 적용될 수 있다. 제시된 단어 선택의 수, 단어 선택의 배열 및 단어 선택 리스트의 상이한 영역과 관련된 기능과 같은 단어 선택 리스트(150)의 특정 포맷이 변할 수도 있다. 예를 들면, 당업자라면 입력 시퀀스를 선택된 단어의 새로운 세트의 x/y 위치로 대체하는 것으로 이루어지는 기능이 어떠한 애플리케이션에서는 생략될 수 있다는 것을 알 수 있을 것이다. 또한, 어휘 모듈 내의 단어를 승격시키고 강등시키는데 사용된 특정 알고리즘이 변경될 수도 있다. 예를 들면, 선택된 단어는 전술한 바람직한 실시예에 사용된 6의 인자보다 리스트의 헤드까지의 거리의 1/2만큼 이동시킴으로써 승격될 수 있다.
또한, 가상 키보드는 텔레비전, 헤드업 디스플레이 또는 투사 시스템과 같은 출력 장치를 포함할 수도 있으며, 따라서 도 1a-1b에 도시된 바와 같은 디스플레이/키보드 연출을 제공할 수 있다. 또한, 본 발명은 투영된 이미지로 이루어지는 표면에 포함된 가상 키보드, 카메라, 초음파 또는 기타 사용자 상호작용을 검출하는 장치를 포함할 수도 있다. 또한, 사용자 상호작용은 손 또는 손가락의 움직임, 신체의 다른 부분의 움직임, 눈의 움직임, 뇌파 검출 등과 같은 사용자의 의도를 표현하는 다른 움직임 또는 제스처를 포함할 수도 있다. 이런 방법으로, 가상 키보드는 장애인의 특별한 요구에 적합한 어떠한 장치도 포함한다. 또한, 본 발명은 문자 및 그러한 객체들 외에 또는 이들에 더하여 구 또는 구의 일부분의 조합에 적용할 수도 있다. 따라서, 본 발명은 청구범위에 의해서만 제한된다.
Claims (58)
- 텍스트 입력 시스템에 있어서,복수의 알파벳 문자를 포함하는 자동 정정 영역을 포함하는 가상 키보드를 포함하는 사용자 입력 장치로서, 상기 복수의 문자 중 하나 이상이 상기 자동 정정 영역 내의 기지의(known) 좌표를 갖는 위치와 대응하고, 사용자가 상기 자동 정정 영역 내에서 상기 사용자 입력 장치와 상호작용할 때 사용자 상호작용과 관련된 위치가 결정되며, 상기 결정된 상호작용 위치가 상호작용 위치의 현재의 입력 시퀀스에 추가되는, 상기 사용자 입력 장치와,복수의 객체를 포함하는 메모리로서, 하나 이상의 객체가 단어 또는 단어의 일부를 형성하는 하나 또는 복수의 문자의 스트링을 포함하는, 상기 메모리와,출력 장치와,상기 사용자 입력 장치, 메모리 및 출력 장치에 결합된 프로세서를 포함하되,상기 프로세서는상기 상호작용의 입력 시퀀스 내의 결정된 상호작용 위치에 대해 상기 상호작용 위치와 상기 자동 정정 영역 내의 하나 또는 복수의 문자에 대응하는 상기 기지의 좌표 위치 사이의 거리 값 세트를 계산하는 거리 값 계산 요소와,생성된 입력 시퀀스에 대해 메모리 내의 하나 또는 복수의 후보 객체를 식별하고, 상기 하나 이상의 식별된 후보 객체에 대해 상기 계산된 거리에 기초하여 매 칭 메트릭(matching metric)을 계산함으로써 식별된 후보 객체를 평가하고, 상기 계산된 매칭 메트릭 값에 기초하여 상기 평가된 후보 객체의 등급(rank)을 매기는 단어 평가 요소와,상기 평가된 등급에 따라서 상기 하나 또는 복수의 후보 객체를 식별하고, 상기 식별된 객체를 사용자에게 제공하며, 사용자로 하여금 상기 제공된 객체들 중 상기 출력 장치로 출력할 하나의 객체를 선택하게 하는 선택 요소를 포함하는텍스트 입력 시스템.
- 제 1 항에 있어서,메모리 내의 상기 복수의 객체들 중 하나 이상은 또한 하나 또는 복수의 사전 정의된 객체들의 그룹과 관련되고,상기 단어 평가 요소는, 생성된 입력 시퀀스에 대해, 메모리 내의 하나 또는 복수의 상기 후보 객체 그룹을 식별함으로써 매칭 메트릭이 계산되는 객체의 수를 제한하고, 하나 이상의 식별된 후보 객체 그룹과 관련된 하나 또는 복수의 객체에 대해, 상기 계산된 거리 값에 기초하여 매칭 메트릭을 계산하고 상기 계산된 매칭 메트릭 값에 기초하여 상기 평가된 후보 객체의 등급을 매기는텍스트 입력 시스템.
- 제 1 항에 있어서,상기 알파벳의 문자는 대략 표준 QWERTY 레이아웃으로 상기 자동 정정 영역에 배열되는텍스트 입력 시스템.
- 제 1 항에 있어서,상기 자동 정정 영역은 하나 또는 복수의 구두점 문자 및/또는 분음 부호(diacritic mark)와 관련된 하나 또는 복수의 기지의 위치를 포함하고, 상기 메모리는 상기 자동 정정 영역 내의 위치와 관련된 하나 또는 복수의 상기 구두점 문자 및/또는 분음 부호를 포함하는 메모리 내에 하나 또는 복수의 객체를 포함하는텍스트 입력 시스템.
- 제 1 항에 있어서,메모리 내의 객체는 또한 하나 또는 복수의 모듈과 관련되고, 각각의 모듈은 하나 또는 복수의 공통 문자를 갖는 객체 세트를 포함하거나 생성하는텍스트 입력 시스템.
- 제 1 항에 있어서,상기 단어 평가 요소는 상기 입력 시퀀스 내의 각각의 상호작용 위치로부터 계산된 상기 거리 값을 상기 후보 객체의 상기 대응하는 위치 내의 상기 문자에 할당된 위치에 가산함으로써 각각의 후보 객체에 대한 상기 매칭 메트릭을 계산하는텍스트 입력 시스템.
- 제 1 항에 있어서,상기 객체와 관련된 사용 빈도에 따라서 가중 함수를 적용하는 단계를 더 포함하는텍스트 입력 시스템.
- 제 6 항에 있어서,상기 자동 정정 영역 상의 하나 이상의 위치는 수평 및 수직 좌표에 의해 정의되고, 상호작용 위치와 문자에 대응하는 상기 기지의 좌표 위치 사이의 상기 거리 값은 수평 및 수직 성분을 포함하며, 상기 수평 및 수직 성분 중 적어도 하나는 상기 문자로부터 상기 상호작용 위치의 상기 거리를 계산하는데 있어 가중 인자에 의해 조정되는텍스트 입력 시스템.
- 제 7 항에 있어서,메모리 내의 후보 객체와 관련된 상기 사용 빈도는 메모리 내의 다른 객체에 대한 상기 객체의 선호 순서(ordinal ranking)를 포함하는텍스트 입력 시스템.
- 제 6 항에 있어서,상기 단어 평가 요소는 상기 후보 객체와 관련된 상기 사용 빈도에 따라서 가중 함수를 적용하기 전에 증분 값을 상기 거리 값의 합에 더하는텍스트 입력 시스템.
- 제 2 항에 있어서,메모리 내의 객체는, 객체가 동일한 길이의 객체를 포함하는 그룹으로 분류되도록 저장되는텍스트 입력 시스템.
- 제 11 항에 있어서,상기 단어 평가 요소는 상기 입력 시퀀스 내의 입력의 수와 동일한 길이의 후보 객체 그룹을 식별함으로써 매칭 메트릭이 계산되는 객체의 수를 제한하는텍스트 입력 시스템.
- 제 6 항에 있어서,상기 입력 시퀀스 내의 상호작용 위치와 상기 자동 정정 영역 내의 문자에 대응하는 기지의 좌표 위치 사이의 계산된 거리 값에 있어서, 상기 계산된 거리는 임계 거리 값을 초과하며, 상기 입력 시퀀스 내의 상기 상호작용 위치에 대응하는 상기 객체의 문자 시퀀스 내의 위치에서 상기 문자가 발생하는 메모리 내의 하나 이상의 객체에 있어서, 상기 객체는 사용자에게 선택용으로 제시된 것으로부터 배제되는 객체로서 상기 단어 평가 요소에 의해 등급이 매겨지는텍스트 입력 시스템.
- 제 2 항에 있어서,메모리 내의 하나 또는 복수의 상기 식별된 후보 객체 그룹은 사용자에게 선택용으로 제시된 것으로부터 배제되는 객체를 포함하고, 상기 하나 또는 상기 식별된 후보 객체 그룹 내의 각 객체에 대한 거리 값의 계산된 합 내에 포함된 상기 계 산된 거리 값 중 적어도 하나는 임계 거리 값을 초과하는텍스트 입력 시스템.
- 제 1 항에 있어서,상기 자동 정정 영역 내의 기지의 위치에 대응하는 문자에 대해, 하나 또는 복수의 상기 기지의 위치 주위에 영역이 사전 정의되고, 상기 사전 정의된 영역 내의 입력 상호작용 위치와 상기 사전 정의된 영역 내의 상기 기지의 문자 위치 사이의 거리는 0으로 계산되는텍스트 입력 시스템.
- 제 1 항에 있어서,상기 자동 정정 영역 내의 기지의 좌표를 갖는 위치들 중 적어도 하나는 복수의 문자에 대응하고, 상기 복수의 문자 중 하나 또는 복수개는 다양한 분음 부호를 포함하며, 상기 복수의 문자는 단일 기본 문자의 다양한 형태를 포함하고, 메모리 내의 객체는 정확한 액센트가 있는 문자와 함께 저장되는텍스트 입력 시스템.
- 제 1 항에 있어서,상기 선택 요소는 사용자가 선택하도록 후보 객체 리스트 내에 식별된 하나 또는 복수의 후보 객체를 제공하는텍스트 입력 시스템.
- 제 17 항에 있어서,상기 선택 요소는 최고 등급의 후보 객체를 식별하고, 상기 후보 객체 리스트의 첫 번째 위치에 상기 식별된 객체를 제공하는텍스트 입력 시스템.
- 제 1 항에 있어서,상기 자동 정정 영역 외부의 상호작용과 관련되는 문자의 사용자 선택은 상기 문자를 출력하기 전에 결정된 객체를 수신하여 출력하는텍스트 입력 시스템.
- 제 1 항에 있어서,출력을 위한 객체의 사용자 선택은 상기 자동 정정 영역 내의 다음 상호작용 이 새로운 입력 시퀀스를 개시하도록 현재의 입력 시퀀스를 종료하는텍스트 입력 시스템.
- 제 1 항에 있어서,후보의 선택은 다른 입력 장치(input modality)를 통해 이루어지는텍스트 입력 시스템.
- 제 1 항에 있어서,상기 현재의 입력 시퀀스에 대한 사용자 입력은 상이한 장치들의 조합을 통해 이루어지는텍스트 입력 시스템.
- 제 1 항에 있어서,사용자 입력 에러의 정정은 다른 입력 장치를 사용하여 이루어지는텍스트 입력 시스템.
- 제 1 항에 있어서,상기 선택 요소는 후보 객체를 선택하는데 사용되는 특유의 선택 방법을 검출하고, 객체가 상기 특유의 방법을 통해 선택되었음을 검출하면, 상기 시스템은 실제 상호작용 위치의 현재의 입력 시퀀스를 상기 선택된 객체를 포함하는 상기 문자의 좌표 위치에 대응하는 상호작용 위치의 입력 시퀀스로 대체하며, 상기 자동 정정 영역 내의 다음 상호작용이 상기 현재의 입력 시퀀스에 부가되는텍스트 입력 시스템.
- 제 24 항에 있어서,상기 특유의 선택 방법은 상기 선택된 객체를 포함하는 후보들을 제외한 모든 후보를 제거하는텍스트 입력 시스템.
- 제 1 항에 있어서,특유의 선택 방법이 예측/수락된 구 또는 문장 내의 단어의 선택 및/또는 편집을 실행하는텍스트 입력 시스템.
- 제 1 항에 있어서,상기 단어 평가 요소는, 상호작용 위치의 입력 시퀀스 내의 사전 결정된 상호작용 위치에 대해, 문자에 대응하는 가장 가까운 기지의 위치를 결정하고, 상호작용 위치의 상기 입력 시퀀스에 대응하는 순서로 상기 결정된 대응하는 문자로 이루어진 정확한 타이핑 객체를 구성하는텍스트 입력 시스템.
- 제 27 항에 있어서,상기 정확한 타이핑 객체의 문자 추적의 시각적 피드백을 제공하는 수단을 더 포함하는텍스트 입력 시스템.
- 제 28 항에 있어서,정확성을 향상시키기 위해 비례하는 스케일링을 제공하는 수단을 더 포함하는텍스트 입력 시스템.
- 제 1 항에 있어서,상기 선택 요소는 최고 등급의 후보 객체를 식별하여 상기 식별된 객체를 출력장치상에 제공하는텍스트 입력 시스템.
- 제 30 항에 있어서,상기 텍스트 입력 시스템은 객체 선택 함수와 관련된 영역을 포함하고, 상기 영역과의 상호작용은 출력장치상에 제공된 객체를 상기 식별된 하나 또는 복수의 후보 객체의 그 다음으로 높은 등급의 객체로 대체하는텍스트 입력 시스템.
- 제 1 항에 있어서,상기 텍스트 입력 시스템은 삭제 기능과 관련된 삭제 키 영역을 포함하고, 현재의 입력 시퀀스가 적어도 하나의 상호작용을 포함하고 상기 삭제 키 영역이 상호작용될 때, 상호작용들의 상기 현재의 입력 시퀀스로부터 맨 마지막 입력 상호작용이 삭제되는텍스트 입력 시스템.
- 제 1 항에 있어서,상기 텍스트 입력 시스템은 단어 편집 기능과 관련된 영역을 포함하고,현재의 입력 시퀀스가 존재하지 않고 상기 영역이 상호작용될 때와, 상기 출력 장치 상의 상기 텍스트 삽입 지점이 이전에 출력된 단어 내에 포함될 때, 상기 시스템은 상기 단어의 문자와 관련된 좌표 위치에 대응하는 상호작용 위치의 시퀀스를 포함하는 새로운 현재의 입력 시퀀스를 확립하고, 상기 출력 장치 상의 상기 텍스트 디스플레이 영역 내의 텍스트 삽입 지점이 두 개의 이전에 출력된 단어 사이에 위치할 때, 상기 시스템은 상기 텍스트 삽입 지점에 인접한 상기 단어의 상기 문자와 관련된 좌표 위치에 대응하는 상호작용 위치의 시퀀스를 포함하는 새로운 현재의 입력 시퀀스를 확립하며,상기 텍스트 입력 시스템은 상기 새로운 현재의 입력 시퀀스를 처리하여 새로운 후보 객체의 대응하는 등급을 결정하고,상기 새로운 후보 객체 중 하나의 선택은 상기 새로운 현재의 입력 시퀀스를 확립하는데 사용된 상기 이전에 출력된 단어를 교체하는텍스트 입력 시스템.
- 제 33 항에 있어서,상기 텍스트 삽입 위치가 단어 내 또는 단어에 인접하게 있을 때, 및/또는 단어가 선택/하이라이트될 때와, 사용자가 새로운 입력 시퀀스를 개시할 때, 상기 시스템은 상기 시퀀스에 부가된 상기 사용자 입력 상호작용 위치에 의해 상기 인접한/선택된 단어를 사용하여 현재의 입력 시퀀스를 확립할 수 있는텍스트 입력 시스템.
- 제 1 항에 있어서,각각의 입력 상호작용 위치에 대해, 상기 거리 값 계산 요소는 대응하는 입력 상호작용 위치의 상기 좌표에 대해 선택된 단어의 하나 이상의 문자에 대응하는 상기 좌표 위치의 오프셋의 상기 수평 및 수직 성분의 진행 평균을 계산하고,상기 단어 평가 요소에 대한 거리 계산을 수행하는 중에, 상기 거리 값 계산 요소는 각각의 입력 상호작용 위치의 상기 수평 및 수직 좌표를 계산된 평균 표시 수평 및 수직 오프셋의 함수의 양에 의해 조정하는텍스트 입력 시스템.
- 제 1 항에 있어서,상기 프로세서는 상기 자동 정정 영역 내의 하나 이상의 사용자 상호작용 동작에 대해, 상호작용 지점이 상기 가상 키보드로부터 들어올려지기 전에 최초 상호 작용 위치로부터 임계 거리보다 적게 움직였는 지의 여부를 판정하는 스트로크 인식 요소를 더 포함하고,상기 상호작용의 시작 및 종료 지점이 임계 거리보다 작으면, 상기 스트로크 인식 요소는 상기 사용자의 상호작용의 특성이 단일 지점이라고 판정하고, 상기 사용자 상호작용과 관련된다고 판정된 위치가 상기 거리 값 계산 요소, 상기 단어 평가 요소 및 상기 선택 요소에 의해 처리되는 상호작용 위치의 현재의 입력 시퀀스에 부가되며,상기 상호작용의 시작 및 종료 위치가 임계 거리보다 더 크면, 상기 스트로크 인식 요소는 상기 사용자 상호작용이 기지의 시스템 기능 또는 인식 가능한 문자들과 관련되는 복수의 스트로크 상호작용 중 하나라고 판정하고, 상기 스트로크 상호작용을 상기 복수의 사전 정의된 유형의 스트로크 상호작용 중 하나로서 분류하는텍스트 입력 시스템.
- 제 1 항에 있어서,상기 입력 시퀀스 내의 상호작용 위치의 임계 수가 소정의 후보 객체를 포함하는 상기 문자 시퀀스 내의 대응하는 문자로부터의 임계 최대 거리보다 더 큰 경우, 상기 객체는 더 이상 상기 선택 요소에 대한 후보가 아닌 것으로 식별되는텍스트 입력 시스템.
- 제 1 항에 있어서,상기 프로세서는메모리 내의 각 객체와 관련된 사용 빈도 값을 상기 객체가 사용자에 의해 상기 출력 장치 상에 출력하기 위한 것으로 선택되는 횟수의 함수로서 조정하는 빈도 승격 요소(a frequency promotion component)를 더 포함하는텍스트 입력 시스템.
- 제 38 항에 있어서,상기 빈도 승격 요소는 상기 텍스트 입력 시스템에 액세스 가능한 부가적인 정보 파일을 분석하여, 상기 텍스트 입력 시스템의 상기 메모리 내에 이미 존재하는 객체들 중에서 포함되지 않는 상기 파일 내에 수록된 새로운 객체를 식별하고, 상기 새로이 식별된 객체는 낮은 사용 빈도와 관련되는 객체로서 메모리 내의 상기 객체에 부가되는텍스트 입력 시스템.
- 제 1 항에 있어서,하나 또는 복수의 객체의 대문자와 관련된 정보가 메모리 내에 상기 객체들과 함께 저장되고, 상기 선택 요소는 상기 저장된 대문자 정보에 따라서 선호하는 대문자 형태로 각각의 식별된 객체를 제공하는텍스트 입력 시스템.
- 제 1 항에 있어서,메모리 내의 하나 또는 복수의 객체는 하나 또는 복수의 글자 또는 부호의 시퀀스를 포함하는 메모리 내의 제 2 객체와 관련되고, 상기 선택 요소가 상기 단어 평가 요소에 의해 계산된 상기 매칭 메트릭에 기초하여 상기 사용자에게 제공하기 위한 상기 객체들 중 하나를 식별하면, 상기 선택 요소는 선택을 위해 상기 관련된 제 2 객체를 제공하는텍스트 입력 시스템.
- 제 1 항에 있어서,상기 가상 키보드는 레이저 프로젝션 키보드, 근육 감지(muscle sensing) 키보드, 패브릭(fabric) 키보드, 제스처 검출 장치, 눈동자 움직임 추적 장치 및 뇌파 검출 장치 중 어느 하나를 포함하는텍스트 입력 시스템.
- 제 1 항에 있어서,정식(formal) 또는 구어체(conversational written text)의 언어 객체의 발생 빈도와, 선행 언어 객체 또는 언어 객체들에 후속하는 경우의 언어 객체의 발생 빈도와, 상기 주위 문장의 적절한 또는 일반적인 문법과, 현재의 언어 객체 입력의 애플리케이션 환경과, 사용자에 의한 또는 애플리케이션 프로그램 내에서의 상기 언어 객체의 사용 빈도 또는 반복적인 사용 중 어느 하나를 포함하는 언어 모델을 더 포함하는텍스트 입력 시스템.
- 제 1 항에 있어서,상기 사용자 상호작용은, 리스트를 스크롤하여 출력을 위해 선택되는 후보 단어를 변화시키는, 상기 자동 정정 키보드 영역을 가로지르는 또는 상기 자동 정정 키보드 영역에 인접한 스크롤링 제스처를 포함하는텍스트 입력 시스템.
- 제 1 항에 있어서,사용자 상호작용은, 손가락의 두드림(finger tap), 임의의 구별가능한 눈의 움직임, 근육 활동 및 뇌파 패턴 중 어느 하나를 포함하는 사용자 의도를 나타내는 제스처 및 기타 동작을 포함하는텍스트 입력 시스템.
- 텍스트 입력 시스템에 있어서,기지의 좌표에서 정의된 키를 나타내는 복수의 상호작용을 갖는 자동 정정 영역을 포함하는 가상 키보드를 포함하는 사용자 입력 장치로서, 상기 위치는 알파벳의 하나 이상의 문자에 대응하고, 결정된 위치의 사용자 선택은 현재의 입력 시퀀스에 추가되는 키 활성 이벤트에 대응하는, 상기 사용자 입력 장치와,단어 또는 단어의 일부를 형성하는 하나 또는 복수의 문자의 스트링을 각각 포함하는 복수의 객체를 포함하는 메모리와,출력 장치와,상기 사용자 입력 장치, 메모리 및 출력 장치에 결합된 프로세서를 포함하되,상기 프로세서는생성된 키 활성화 이벤트 위치에 대해 상기 키 활성화 이벤트 위치와 상기 자동 정정 영역 내의 하나 또는 복수의 키에 대응하는 상기 기지의 좌표 위치 사이의 거리 값 세트를 계산하는 거리 값 계산 요소와,생성된 입력 시퀀스에 대해 메모리 내의 하나 또는 복수의 후보 객체를 식별하고, 상기 하나 또는 복수의 식별된 후보 객체에 대해 상기 계산된 거리 값에 기초하여 매칭 메트릭(matching metric)을 계산함으로써 각각의 식별된 후보 객체를 평가하며, 상기 계산된 매칭 메트릭 값에 기초하여 상기 평가된 후보 객체의 등급(rank)을 매기는 단어 평가 요소와,상기 평가된 등급에 따라서 상기 하나 또는 복수의 후보 객체를 식별하고, 상기 식별된 객체를 사용자에게 제공하며, 사용자로 하여금 상기 제공된 객체들 중 상기 출력 장치로 출력할 하나의 객체를 선택하게 하는 선택 요소를 포함하는텍스트 입력 시스템.
- 제 46 항에 있어서,메모리 내의 상기 복수의 객체는 또한 하나 또는 복수의 사전 정의된 객체 그룹과 관련되고,상기 단어 평가 요소는, 생성된 입력 시퀀스에 대해, 메모리 내의 하나 또는 복수의 상기 후보 객체 그룹을 식별함으로써 매칭 메트릭이 계산되는 객체의 수를 제한하고, 하나 또는 복수의 식별된 후보 객체 그룹 각각과 관련된 하나 또는 복수의 객체에 대해, 상기 계산된 거리 값에 기초하여 매칭 메트릭을 계산하고 상기 계산된 매칭 메트릭 값에 기초하여 상기 평가된 후보 객체의 등급을 매기는텍스트 입력 시스템.
- 제 46 항에 있어서,상기 알파벳의 문자는 대략 표준 전화 키패드 레이아웃으로 상기 자동 정정 영역에 배열되는텍스트 입력 시스템.
- 제 46 항에 있어서,상기 자동 정정 영역 내의 복수의 인접 키의 실질적으로 동시 활성화를 포함하는 키 활성화 이벤트가 검출되면, 상기 키 활성화 이벤트에 대응하는 위치가 상기 동시에 활성화된 키의 위치의 함수로서 결정되고, 상기 결정된 위치는 상기 키 활성화 이벤트의 위치의 현재의 입력 시퀀스에 부가되는텍스트 입력 시스템.
- 제 46 항에 있어서,상기 자동 정정 영역은 하나 또는 복수의 구두점 문자 및/또는 분음 부호(diacritic mark)와 관련된 하나 또는 복수의 상호작용 위치를 포함하고, 상기 메모리는 상기 자동 정정 영역 내의 키와 관련된 분음 부호에 의해 하나 또는 복수 의 상기 구두점 문자 및/또는 액센트를 갖는 문자를 포함하는 메모리 내에 하나 또는 복수의 객체를 포함하는텍스트 입력 시스템.
- 제 46 항에 있어서,상기 단어 평가 요소는 상기 입력 시퀀스 내의 결정된 위치로부터 계산된 거리 값을 상기 후보 객체의 상기 대응하는 위치 내의 상기 문자에 대응하는 상호작용 위치의 기지의 위치에 가산함으로써 후보 객체에 대한 상기 매칭 메트릭을 계산하는텍스트 입력 시스템.
- 제 46 항에 있어서,상기 객체와 관련된 사용 빈도에 따라서 가중 함수를 적용하는 단계를 더 포함하는텍스트 입력 시스템.
- 제 46 항에 있어서,상기 자동 정정 영역 내의 상호작용 위치 중 적어도 하나는 복수의 문자에 대응하고, 상기 복수의 문자 중 하나 또는 복수개는 다양한 분음 부호를 포함하며, 상기 복수의 문자는 단일 기본 문자의 다양한 형태를 포함하고, 메모리 내의 객체는 정확한 액센트가 있는 문자와 함께 저장되는텍스트 입력 시스템.
- 제 46 항에 있어서,상기 선택 요소는 사용자가 선택하도록 후보 객체 리스트 내에 식별된 하나 또는 복수의 후보 객체를 제공하는텍스트 입력 시스템.
- 제 54 항에 있어서,상기 선택 요소는 최고 등급의 후보 객체를 식별하고, 상기 자동 정정 영역에 가장 가까운 위치 내의 상기 후보 객체 리스트에 상기 식별된 객체를 제공하는텍스트 입력 시스템.
- 제 46 항에 있어서,상기 자동 정정 영역 내에 포함되지 않는, 문자와 관련되는 상호작용 위치의 활성화가 상기 선택된 문자를 출력하기 전에 결정된 최상위 등급의 후보 객체를 수신하여 출력하는텍스트 입력 시스템.
- 제 46 항에 있어서,출력 영역에 대한 객체의 사용자 선택은 현재의 입력 시퀀스를 종료하고, 상기 자동 정정 영역 내의 다음 키 활성화 이벤트가 새로운 입력 시퀀스를 개시하는텍스트 입력 시스템.
- 제 46 항에 있어서,상기 가상 키보드는 레이저 프로젝션 키보드, 근육 감지(muscle sensing) 키보드, 패브릭(fabric) 키보드, 제스처 검출 장치, 눈동자 움직임 추적 장치 및 뇌파 검출 장치 중 어느 하나를 포함하는텍스트 입력 시스템.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US53213103P | 2003-12-22 | 2003-12-22 | |
US60/532,131 | 2003-12-22 | ||
US11/019,517 US7030863B2 (en) | 2000-05-26 | 2004-12-20 | Virtual keyboard system with automatic correction |
US11/019,517 | 2004-12-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070114329A true KR20070114329A (ko) | 2007-12-03 |
KR101003879B1 KR101003879B1 (ko) | 2010-12-30 |
Family
ID=34742392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067014590A KR101003879B1 (ko) | 2003-12-22 | 2004-12-22 | 텍스트 입력 시스템 |
Country Status (7)
Country | Link |
---|---|
US (6) | US7030863B2 (ko) |
EP (1) | EP1700291B1 (ko) |
JP (1) | JP4527731B2 (ko) |
KR (1) | KR101003879B1 (ko) |
CN (1) | CN100472600C (ko) |
CA (1) | CA2550669C (ko) |
WO (1) | WO2005064587A2 (ko) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101293863B1 (ko) * | 2011-06-29 | 2013-08-16 | 한양대학교 산학협력단 | 안정상태 시각유발전위를 이용한 qwerty 타입의 문자 입력 인터페이스 장치 및 문자 입력 방법 |
KR101852774B1 (ko) * | 2017-01-16 | 2018-06-07 | 주식회사 유비케어 | 처방전 인식 오류 보정 방법 및 처방전 인식 오류 보정 시스템 |
US10095405B2 (en) | 2013-02-05 | 2018-10-09 | Google Llc | Gesture keyboard input of non-dictionary character strings |
US11354503B2 (en) | 2017-07-27 | 2022-06-07 | Samsung Electronics Co., Ltd. | Method for automatically providing gesture-based auto-complete suggestions and electronic device thereof |
KR20230044566A (ko) * | 2014-06-24 | 2023-04-04 | 애플 인크. | 입력 디바이스 및 사용자 인터페이스 상호작용 |
US11797606B2 (en) | 2019-05-31 | 2023-10-24 | Apple Inc. | User interfaces for a podcast browsing and playback application |
US11843838B2 (en) | 2020-03-24 | 2023-12-12 | Apple Inc. | User interfaces for accessing episodes of a content series |
US11863837B2 (en) | 2019-05-31 | 2024-01-02 | Apple Inc. | Notification of augmented reality content on an electronic device |
US11899895B2 (en) | 2020-06-21 | 2024-02-13 | Apple Inc. | User interfaces for setting up an electronic device |
US11934640B2 (en) | 2021-01-29 | 2024-03-19 | Apple Inc. | User interfaces for record labels |
US11962836B2 (en) | 2019-03-24 | 2024-04-16 | Apple Inc. | User interfaces for a media browsing application |
US11966560B2 (en) | 2016-10-26 | 2024-04-23 | Apple Inc. | User interfaces for browsing content from multiple content applications on an electronic device |
Families Citing this family (613)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8479122B2 (en) | 2004-07-30 | 2013-07-02 | Apple Inc. | Gestures for touch sensitive input devices |
US7614008B2 (en) | 2004-07-30 | 2009-11-03 | Apple Inc. | Operation of a computer with touch screen interface |
US7844914B2 (en) * | 2004-07-30 | 2010-11-30 | Apple Inc. | Activating virtual keys of a touch-screen virtual keyboard |
US9239673B2 (en) | 1998-01-26 | 2016-01-19 | Apple Inc. | Gesturing with a multipoint sensing device |
US7760187B2 (en) * | 2004-07-30 | 2010-07-20 | Apple Inc. | Visual expander |
US9292111B2 (en) | 1998-01-26 | 2016-03-22 | Apple Inc. | Gesturing with a multipoint sensing device |
US7712053B2 (en) | 1998-12-04 | 2010-05-04 | Tegic Communications, Inc. | Explicit character filtering of ambiguous text entry |
US8938688B2 (en) | 1998-12-04 | 2015-01-20 | Nuance Communications, Inc. | Contextual prediction of user words and user actions |
US7030863B2 (en) | 2000-05-26 | 2006-04-18 | America Online, Incorporated | Virtual keyboard system with automatic correction |
CA2392446C (en) * | 1999-05-27 | 2009-07-14 | America Online Incorporated | Keyboard system with automatic correction |
US7821503B2 (en) * | 2003-04-09 | 2010-10-26 | Tegic Communications, Inc. | Touch screen and graphical user interface |
US7750891B2 (en) | 2003-04-09 | 2010-07-06 | Tegic Communications, Inc. | Selective input system based on tracking of motion parameters of an input device |
US7286115B2 (en) | 2000-05-26 | 2007-10-23 | Tegic Communications, Inc. | Directional input system with automatic correction |
US20100122164A1 (en) * | 1999-12-03 | 2010-05-13 | Tegic Communications, Inc. | Contextual prediction of user words and user actions |
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
KR100865598B1 (ko) * | 2000-05-29 | 2008-10-27 | 브이케이비 인코포레이티드 | 수문자 조합 및 다른 데이터의 입력을 위한 가상 데이터입력 장치 및 방법 |
JP2004523031A (ja) * | 2001-01-08 | 2004-07-29 | ヴィーケービー インコーポレイテッド | データ入力装置 |
KR100498323B1 (ko) * | 2001-01-16 | 2005-07-01 | 엘지전자 주식회사 | 이동통신 단말기의 특수문자 선택방법 |
US7152213B2 (en) * | 2001-10-04 | 2006-12-19 | Infogation Corporation | System and method for dynamic key assignment in enhanced user interface |
US20030112277A1 (en) * | 2001-12-14 | 2003-06-19 | Koninklijke Philips Electronics N.V. | Input of data using a combination of data input systems |
US8583440B2 (en) * | 2002-06-20 | 2013-11-12 | Tegic Communications, Inc. | Apparatus and method for providing visual indication of character ambiguity during text entry |
JP2005533463A (ja) * | 2002-06-26 | 2005-11-04 | ヴイケイビー・インコーポレーテッド | 多機能統合画像センサおよび仮想インタフェース技術への適用 |
US7061403B2 (en) | 2002-07-03 | 2006-06-13 | Research In Motion Limited | Apparatus and method for input of ideographic Korean syllables from reduced keyboard |
TW589577B (en) * | 2003-01-03 | 2004-06-01 | Tatung Co | Method to display software keyboard |
US7769540B2 (en) * | 2003-02-26 | 2010-08-03 | Tomtom International B.V. | Navigation device and method for displaying simulated navigation data |
US20040193557A1 (en) * | 2003-03-25 | 2004-09-30 | Olsen Jesse Dale | Systems and methods for reducing ambiguity of communications |
US7130846B2 (en) | 2003-06-10 | 2006-10-31 | Microsoft Corporation | Intelligent default selection in an on-screen keyboard |
US7164410B2 (en) * | 2003-07-28 | 2007-01-16 | Sig G. Kupka | Manipulating an on-screen object using zones surrounding the object |
US8487915B1 (en) * | 2003-09-11 | 2013-07-16 | Luidia Inc. | Mobile device incorporating projector and pen-location transcription system |
US20050114115A1 (en) * | 2003-11-26 | 2005-05-26 | Karidis John P. | Typing accuracy relaxation system and method in stylus and other keyboards |
US8095364B2 (en) | 2004-06-02 | 2012-01-10 | Tegic Communications, Inc. | Multimodal disambiguation of speech recognition |
US7312726B2 (en) * | 2004-06-02 | 2007-12-25 | Research In Motion Limited | Handheld electronic device with text disambiguation |
US7324083B2 (en) * | 2004-06-02 | 2008-01-29 | Research In Motion Limited | Handheld electronic device with text disambiguation |
US7333085B2 (en) | 2004-06-02 | 2008-02-19 | Research In Motion Limited | Handheld electronic device with text disambiguation |
US8542132B2 (en) * | 2004-06-02 | 2013-09-24 | Blackberry Limited | Handheld electronic device and associated method employing a multiple-axis input device and using non-edited characters as context in text disambiguation |
US7091885B2 (en) * | 2004-06-02 | 2006-08-15 | 2012244 Ontario Inc. | Handheld electronic device with text disambiguation |
US7515135B2 (en) * | 2004-06-15 | 2009-04-07 | Research In Motion Limited | Virtual keypad for touchscreen display |
US8381135B2 (en) | 2004-07-30 | 2013-02-19 | Apple Inc. | Proximity detector in handheld device |
JP4383302B2 (ja) * | 2004-09-29 | 2009-12-16 | 富士通株式会社 | 評価結果出力プログラム |
US7443386B2 (en) * | 2004-11-01 | 2008-10-28 | Nokia Corporation | Mobile phone and method |
US7895218B2 (en) | 2004-11-09 | 2011-02-22 | Veveo, Inc. | Method and system for performing searches for television content using reduced text input |
KR100595694B1 (ko) * | 2004-11-12 | 2006-07-03 | 엘지전자 주식회사 | 휴대용 단말기의 상용구 등록방법 |
WO2006090386A2 (en) * | 2005-02-24 | 2006-08-31 | Vkb Inc. | A virtual keyboard device |
US7599830B2 (en) | 2005-03-16 | 2009-10-06 | Research In Motion Limited | Handheld electronic device with reduced keyboard and associated method of providing quick text entry in a message |
US20070024646A1 (en) * | 2005-05-23 | 2007-02-01 | Kalle Saarinen | Portable electronic apparatus and associated method |
US9785329B2 (en) * | 2005-05-23 | 2017-10-10 | Nokia Technologies Oy | Pocket computer and associated methods |
US8185841B2 (en) * | 2005-05-23 | 2012-05-22 | Nokia Corporation | Electronic text input involving a virtual keyboard and word completion functionality on a touch-sensitive display screen |
US7886233B2 (en) * | 2005-05-23 | 2011-02-08 | Nokia Corporation | Electronic text input involving word completion functionality for predicting word candidates for partial word inputs |
US8122034B2 (en) | 2005-06-30 | 2012-02-21 | Veveo, Inc. | Method and system for incremental search with reduced text entry where the relevance of results is a dynamically computed function of user input search string character count |
US20070019099A1 (en) * | 2005-07-25 | 2007-01-25 | Vkb Inc. | Optical apparatus for virtual interface projection and sensing |
US20070019103A1 (en) * | 2005-07-25 | 2007-01-25 | Vkb Inc. | Optical apparatus for virtual interface projection and sensing |
US7573404B2 (en) * | 2005-07-28 | 2009-08-11 | Research In Motion Limited | Handheld electronic device with disambiguation of compound word text input employing separating input |
US7788266B2 (en) | 2005-08-26 | 2010-08-31 | Veveo, Inc. | Method and system for processing ambiguous, multi-term search queries |
US7737999B2 (en) * | 2005-08-26 | 2010-06-15 | Veveo, Inc. | User interface for visual cooperation between text input and display device |
US7779011B2 (en) | 2005-08-26 | 2010-08-17 | Veveo, Inc. | Method and system for dynamically processing ambiguous, reduced text search queries and highlighting results thereof |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US20070061718A1 (en) * | 2005-09-13 | 2007-03-15 | Nokia Corporation | Method for selecting character interpretation mode |
US7539472B2 (en) * | 2005-09-13 | 2009-05-26 | Microsoft Corporation | Type-ahead keypad input for an input device |
US20070152980A1 (en) * | 2006-01-05 | 2007-07-05 | Kenneth Kocienda | Touch Screen Keyboards for Portable Electronic Devices |
US7694231B2 (en) * | 2006-01-05 | 2010-04-06 | Apple Inc. | Keyboards for portable electronic devices |
US20080098331A1 (en) * | 2005-09-16 | 2008-04-24 | Gregory Novick | Portable Multifunction Device with Soft Keyboards |
US7644054B2 (en) | 2005-11-23 | 2010-01-05 | Veveo, Inc. | System and method for finding desired results by incremental search using an ambiguous keypad with the input containing orthographic and typographic errors |
US7509588B2 (en) | 2005-12-30 | 2009-03-24 | Apple Inc. | Portable electronic device with interface reconfiguration mode |
US8918736B2 (en) * | 2006-01-05 | 2014-12-23 | Apple Inc. | Replay recommendations in a text entry interface |
EP1808747A1 (en) * | 2006-01-13 | 2007-07-18 | 2012244 Ontario Inc. | Handheld electronic device and method for disambiguation of compound text input |
US7538692B2 (en) | 2006-01-13 | 2009-05-26 | Research In Motion Limited | Handheld electronic device and method for disambiguation of compound text input and for prioritizing compound language solutions according to quantity of text components |
US7880646B2 (en) | 2006-01-13 | 2011-02-01 | Research In Motion Limited | Handheld electronic device and method for disambiguation of compound text input and employing different groupings of data sources to disambiguate different parts of input |
US20080126079A1 (en) * | 2006-01-20 | 2008-05-29 | Research In Motion Limited | Handheld electronic device with automatic text generation |
JP4744317B2 (ja) * | 2006-02-16 | 2011-08-10 | 富士通株式会社 | 単語検索装置、単語検索方法、及びコンピュータプログラム |
US7657526B2 (en) | 2006-03-06 | 2010-02-02 | Veveo, Inc. | Methods and systems for selecting and presenting content based on activity level spikes associated with the content |
US8068605B2 (en) * | 2006-03-07 | 2011-11-29 | Sony Ericsson Mobile Communications Ab | Programmable keypad |
US20070219954A1 (en) * | 2006-03-15 | 2007-09-20 | Microsoft Corporation | Refined Search User Interface |
US8296484B2 (en) * | 2006-03-30 | 2012-10-23 | Harris Corporation | Alphanumeric data entry apparatus and method using multicharacter keys of a keypad |
US8073860B2 (en) | 2006-03-30 | 2011-12-06 | Veveo, Inc. | Method and system for incrementally selecting and providing relevant search engines in response to a user query |
US7777717B2 (en) * | 2006-04-05 | 2010-08-17 | Research In Motion Limited | Handheld electronic device and method for performing spell checking during text entry and for integrating the output from such spell checking into the output from disambiguation |
EP2016513A4 (en) | 2006-04-20 | 2010-03-03 | Veveo Inc | USER INTERFACE METHODS AND SYSTEMS FOR SELECTING AND PRESENTING CONTENT BASED ON NAVIGATION AND USER SELECTION ACTIONS ASSOCIATED WITH THE CONTENT |
US7562811B2 (en) | 2007-01-18 | 2009-07-21 | Varcode Ltd. | System and method for improved quality management in a product logistic chain |
WO2007129316A2 (en) | 2006-05-07 | 2007-11-15 | Varcode Ltd. | A system and method for improved quality management in a product logistic chain |
EP1855210B1 (en) * | 2006-05-11 | 2018-01-03 | Dassault Systèmes | Spell checking |
CN101079907B (zh) * | 2006-05-26 | 2011-11-30 | 鸿富锦精密工业(深圳)有限公司 | 移动设备显示装置及其显示方法 |
US20080141125A1 (en) * | 2006-06-23 | 2008-06-12 | Firooz Ghassabian | Combined data entry systems |
US11978436B2 (en) | 2022-06-03 | 2024-05-07 | Apple Inc. | Application vocabulary integration with a digital assistant |
WO2008013658A2 (en) * | 2006-07-03 | 2008-01-31 | Cliff Kushler | System and method for a user interface for text editing and menu selection |
US8077974B2 (en) | 2006-07-28 | 2011-12-13 | Hewlett-Packard Development Company, L.P. | Compact stylus-based input technique for indic scripts |
US8098232B2 (en) * | 2006-08-30 | 2012-01-17 | Research In Motion Limited | Touch sensitive display having tactile structures |
US7675435B2 (en) * | 2006-08-31 | 2010-03-09 | Microsoft Corporation | Smart filtering with multiple simultaneous keyboard inputs |
US10313505B2 (en) | 2006-09-06 | 2019-06-04 | Apple Inc. | Portable multifunction device, method, and graphical user interface for configuring and displaying widgets |
US7843427B2 (en) | 2006-09-06 | 2010-11-30 | Apple Inc. | Methods for determining a cursor position from a finger contact with a touch screen display |
US8564544B2 (en) | 2006-09-06 | 2013-10-22 | Apple Inc. | Touch screen device, method, and graphical user interface for customizing display of content category icons |
US9304675B2 (en) * | 2006-09-06 | 2016-04-05 | Apple Inc. | Portable electronic device for instant messaging |
US8014760B2 (en) | 2006-09-06 | 2011-09-06 | Apple Inc. | Missed telephone call management for a portable multifunction device |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US7536384B2 (en) | 2006-09-14 | 2009-05-19 | Veveo, Inc. | Methods and systems for dynamically rearranging search results into hierarchically organized concept clusters |
US8364468B2 (en) | 2006-09-27 | 2013-01-29 | Academia Sinica | Typing candidate generating method for enhancing typing efficiency |
US7925986B2 (en) * | 2006-10-06 | 2011-04-12 | Veveo, Inc. | Methods and systems for a linear character selection display interface for ambiguous text input |
US7793228B2 (en) * | 2006-10-13 | 2010-09-07 | Apple Inc. | Method, system, and graphical user interface for text entry with partial word display |
US7856605B2 (en) * | 2006-10-26 | 2010-12-21 | Apple Inc. | Method, system, and graphical user interface for positioning an insertion marker in a touch screen display |
US8570278B2 (en) | 2006-10-26 | 2013-10-29 | Apple Inc. | Portable multifunction device, method, and graphical user interface for adjusting an insertion point marker |
WO2008063987A2 (en) | 2006-11-13 | 2008-05-29 | Veveo, Inc. | Method of and system for selecting and presenting content based on user identification |
US7957955B2 (en) | 2007-01-05 | 2011-06-07 | Apple Inc. | Method and system for providing word recommendations for text input |
US8074172B2 (en) | 2007-01-05 | 2011-12-06 | Apple Inc. | Method, system, and graphical user interface for providing word recommendations |
US7975242B2 (en) | 2007-01-07 | 2011-07-05 | Apple Inc. | Portable multifunction device, method, and graphical user interface for conference calling |
US8519964B2 (en) | 2007-01-07 | 2013-08-27 | Apple Inc. | Portable multifunction device, method, and graphical user interface supporting user navigations of graphical objects on a touch screen display |
US20080168478A1 (en) | 2007-01-07 | 2008-07-10 | Andrew Platzer | Application Programming Interfaces for Scrolling |
US20080168402A1 (en) | 2007-01-07 | 2008-07-10 | Christopher Blumenberg | Application Programming Interfaces for Gesture Operations |
US8788954B2 (en) | 2007-01-07 | 2014-07-22 | Apple Inc. | Web-clip widgets on a portable multifunction device |
US8519963B2 (en) * | 2007-01-07 | 2013-08-27 | Apple Inc. | Portable multifunction device, method, and graphical user interface for interpreting a finger gesture on a touch screen display |
US8225203B2 (en) | 2007-02-01 | 2012-07-17 | Nuance Communications, Inc. | Spell-check for a keyboard system with automatic correction |
US8201087B2 (en) | 2007-02-01 | 2012-06-12 | Tegic Communications, Inc. | Spell-check for a keyboard system with automatic correction |
US8028230B2 (en) * | 2007-02-12 | 2011-09-27 | Google Inc. | Contextual input method |
US8086047B2 (en) * | 2007-03-14 | 2011-12-27 | Xerox Corporation | Method and system for image evaluation data analysis |
US20080238886A1 (en) * | 2007-03-29 | 2008-10-02 | Sony Ericsson Mobile Communications Ab | Method for providing tactile feedback for touch-based input device |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
DE602007003807D1 (de) * | 2007-04-25 | 2010-01-28 | Research In Motion Ltd | Tippfehlerkorrekturverfahren |
US8059097B2 (en) * | 2007-04-27 | 2011-11-15 | Virgin Mobile USA LP | Shared symbol and emoticon key and methods |
US9423996B2 (en) * | 2007-05-03 | 2016-08-23 | Ian Cummings | Vehicle navigation user interface customization methods |
US8528808B2 (en) | 2007-05-06 | 2013-09-10 | Varcode Ltd. | System and method for quality management utilizing barcode indicators |
WO2008148009A1 (en) | 2007-05-25 | 2008-12-04 | Veveo, Inc. | Method and system for unified searching across and within multiple documents |
WO2008148012A1 (en) | 2007-05-25 | 2008-12-04 | Veveo, Inc. | System and method for text disambiguation and context designation in incremental search |
JP2008293403A (ja) | 2007-05-28 | 2008-12-04 | Sony Ericsson Mobilecommunications Japan Inc | 文字入力装置、携帯端末および文字入力プログラム |
IL184178A0 (en) | 2007-06-24 | 2008-03-20 | Rdc Rafael Dev Corp Ltd | A method and apparatus for connecting a cellular telephone user to the internet |
US9772751B2 (en) | 2007-06-29 | 2017-09-26 | Apple Inc. | Using gestures to slide between user interfaces |
US9043727B2 (en) * | 2007-07-26 | 2015-05-26 | Microsoft Technology Licensing, Llc | Visualization techniques for imprecise statement completion |
CN105045777A (zh) | 2007-08-01 | 2015-11-11 | 金格软件有限公司 | 使用互联网语料库的自动的上下文相关的语言校正和增强 |
US20090058823A1 (en) * | 2007-09-04 | 2009-03-05 | Apple Inc. | Virtual Keyboards in Multi-Language Environment |
US8619038B2 (en) | 2007-09-04 | 2013-12-31 | Apple Inc. | Editing interface |
US11126321B2 (en) | 2007-09-04 | 2021-09-21 | Apple Inc. | Application menu user interface |
US9619143B2 (en) | 2008-01-06 | 2017-04-11 | Apple Inc. | Device, method, and graphical user interface for viewing application launch icons |
US8661340B2 (en) * | 2007-09-13 | 2014-02-25 | Apple Inc. | Input methods for device having multi-language environment |
US10126942B2 (en) | 2007-09-19 | 2018-11-13 | Apple Inc. | Systems and methods for detecting a press on a touch-sensitive surface |
US10203873B2 (en) | 2007-09-19 | 2019-02-12 | Apple Inc. | Systems and methods for adaptively presenting a keyboard on a touch-sensitive display |
JP5178119B2 (ja) | 2007-09-28 | 2013-04-10 | キヤノン株式会社 | 画像処理装置および画像処理方法 |
KR101422837B1 (ko) * | 2007-10-02 | 2014-08-13 | 엘지전자 주식회사 | 터치스크린 장치 및 이의 문자 입력 방법 |
US8015232B2 (en) * | 2007-10-11 | 2011-09-06 | Roaming Keyboards Llc | Thin terminal computer architecture utilizing roaming keyboard files |
US8606562B2 (en) * | 2007-10-25 | 2013-12-10 | Blackberry Limited | Disambiguated text message retype function |
EP2218055B1 (en) | 2007-11-14 | 2014-07-16 | Varcode Ltd. | A system and method for quality management utilizing barcode indicators |
KR101445196B1 (ko) | 2007-11-23 | 2014-09-29 | 삼성전자주식회사 | 터치 스크린을 가지는 휴대 단말기의 문자 입력 방법 및장치 |
US8020119B2 (en) * | 2007-12-14 | 2011-09-13 | Microsoft Corporation | Engine support for parsing correction user interfaces |
US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
US9275019B2 (en) * | 2007-12-21 | 2016-03-01 | Sap Se | System and method for performing Unicode matching |
JP4364273B2 (ja) | 2007-12-28 | 2009-11-11 | パナソニック株式会社 | 携帯端末装置及び表示制御方法並びに表示制御プログラム |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8232973B2 (en) | 2008-01-09 | 2012-07-31 | Apple Inc. | Method, device, and graphical user interface providing word recommendations for text input |
US9454516B2 (en) * | 2008-01-14 | 2016-09-27 | Blackberry Limited | Method and handheld electronic device employing a touch screen for ambiguous word review or correction |
US20090201258A1 (en) * | 2008-02-13 | 2009-08-13 | Jason Griffin | Three-dimensional touch-sensitive display device |
US8289283B2 (en) * | 2008-03-04 | 2012-10-16 | Apple Inc. | Language input interface on a device |
US8201109B2 (en) | 2008-03-04 | 2012-06-12 | Apple Inc. | Methods and graphical user interfaces for editing on a portable multifunction device |
US8717305B2 (en) | 2008-03-04 | 2014-05-06 | Apple Inc. | Touch event model for web pages |
US8645827B2 (en) | 2008-03-04 | 2014-02-04 | Apple Inc. | Touch event model |
US8908973B2 (en) * | 2008-03-04 | 2014-12-09 | Apple Inc. | Handwritten character recognition interface |
US8650507B2 (en) | 2008-03-04 | 2014-02-11 | Apple Inc. | Selecting of text using gestures |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
CN103135787B (zh) * | 2008-04-18 | 2017-02-01 | 上海触乐信息科技有限公司 | 用于向电子设备输入文本的方法及键盘系统 |
US8949743B2 (en) * | 2008-04-22 | 2015-02-03 | Apple Inc. | Language input interface on a device |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US9355090B2 (en) | 2008-05-30 | 2016-05-31 | Apple Inc. | Identification of candidate characters for text input |
US11704526B2 (en) | 2008-06-10 | 2023-07-18 | Varcode Ltd. | Barcoded indicators for quality management |
US20090327871A1 (en) * | 2008-06-26 | 2009-12-31 | Microsoft Corporation | I/o for constrained devices |
US8570279B2 (en) | 2008-06-27 | 2013-10-29 | Apple Inc. | Touch screen device, method, and graphical user interface for inserting a character from an alternate keyboard |
US8645831B2 (en) * | 2008-07-03 | 2014-02-04 | Cyberlink Corp. | Translating user input in a user interface |
TWI428812B (zh) * | 2008-07-18 | 2014-03-01 | Htc Corp | 操控應用程式的方法、其電子裝置、儲存媒體,及使用此方法之電腦程式產品 |
US9041653B2 (en) * | 2008-07-18 | 2015-05-26 | Htc Corporation | Electronic device, controlling method thereof and computer program product |
TW201005590A (en) * | 2008-07-30 | 2010-02-01 | Pegatron Corp | Electronic device and input method thereof |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US8589149B2 (en) | 2008-08-05 | 2013-11-19 | Nuance Communications, Inc. | Probability-based approach to recognition of user-entered data |
US20100149103A1 (en) * | 2008-08-08 | 2010-06-17 | Oqo, Inc. | Touch-typing keyboard for touch screens |
US20100070908A1 (en) * | 2008-09-18 | 2010-03-18 | Sun Microsystems, Inc. | System and method for accepting or rejecting suggested text corrections |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
WO2010040199A1 (en) * | 2008-10-07 | 2010-04-15 | Research In Motion Limited | Dynamic alteration of input mode on touch screen device |
US8462123B1 (en) | 2008-10-21 | 2013-06-11 | Google Inc. | Constrained keyboard organization |
CN101533403B (zh) * | 2008-11-07 | 2010-12-01 | 广东国笔科技股份有限公司 | 一种派生词生成方法及系统 |
US8219905B2 (en) * | 2008-11-17 | 2012-07-10 | International Business Machines Corporation | Automatically detecting keyboard layout in order to improve the quality of spelling suggestions |
US8146011B2 (en) * | 2008-11-19 | 2012-03-27 | Feitian Technologies Co. Ltd. | Virtual keyboard input means with multiple input focuses and method thereof |
US8584031B2 (en) | 2008-11-19 | 2013-11-12 | Apple Inc. | Portable touch screen device, method, and graphical user interface for using emoji characters |
KR101021099B1 (ko) * | 2008-12-05 | 2011-03-14 | 엔에이치엔(주) | 터치스크린을 통한 정보 입력 시 오입력을 방지하기 위한 방법, 연산 장치 및 컴퓨터 판독 가능한 기록 매체 |
WO2010067118A1 (en) | 2008-12-11 | 2010-06-17 | Novauris Technologies Limited | Speech recognition involving a mobile device |
US20110276528A1 (en) * | 2009-01-20 | 2011-11-10 | Kenta Shioiri | Input device, information processing device, input method, and program |
US8407599B1 (en) * | 2009-01-30 | 2013-03-26 | Sprint Communications Company L.P. | Address book extension |
RU2011134935A (ru) * | 2009-02-04 | 2013-03-10 | Кейлесс Системз Лтд. | Система ввода данных |
US20100207888A1 (en) * | 2009-02-18 | 2010-08-19 | Mr. Noam Camiel | System and method for using a keyboard with a touch-sensitive display |
US8285499B2 (en) | 2009-03-16 | 2012-10-09 | Apple Inc. | Event recognition |
US8566045B2 (en) | 2009-03-16 | 2013-10-22 | Apple Inc. | Event recognition |
US8564541B2 (en) * | 2009-03-16 | 2013-10-22 | Apple Inc. | Zhuyin input interface on a device |
US20100235784A1 (en) | 2009-03-16 | 2010-09-16 | Bas Ording | Methods and Graphical User Interfaces for Editing on a Multifunction Device with a Touch Screen Display |
US9684521B2 (en) | 2010-01-26 | 2017-06-20 | Apple Inc. | Systems having discrete and continuous gesture recognizers |
KR20120016060A (ko) * | 2009-03-20 | 2012-02-22 | 구글 인코포레이티드 | 입력 방식 편집기 컴퓨팅 디바이스와의 상호작용 |
US20100251176A1 (en) * | 2009-03-24 | 2010-09-30 | Microsoft Corporation | Virtual keyboard with slider buttons |
US9424246B2 (en) | 2009-03-30 | 2016-08-23 | Touchtype Ltd. | System and method for inputting text into electronic devices |
US10191654B2 (en) | 2009-03-30 | 2019-01-29 | Touchtype Limited | System and method for inputting text into electronic devices |
GB0917753D0 (en) | 2009-10-09 | 2009-11-25 | Touchtype Ltd | System and method for inputting text into electronic devices |
GB201108200D0 (en) | 2011-05-16 | 2011-06-29 | Touchtype Ltd | User input prediction |
GB201016385D0 (en) | 2010-09-29 | 2010-11-10 | Touchtype Ltd | System and method for inputting text into electronic devices |
GB0905457D0 (en) | 2009-03-30 | 2009-05-13 | Touchtype Ltd | System and method for inputting text into electronic devices |
US9189472B2 (en) | 2009-03-30 | 2015-11-17 | Touchtype Limited | System and method for inputting text into small screen devices |
KR101542136B1 (ko) | 2009-03-31 | 2015-08-05 | 삼성전자 주식회사 | 문자 메시지 작성 방법 및 이를 이용한 휴대 단말기 |
US8300023B2 (en) * | 2009-04-10 | 2012-10-30 | Qualcomm Incorporated | Virtual keypad generator with learning capabilities |
US9231964B2 (en) * | 2009-04-14 | 2016-01-05 | Microsoft Corporation | Vulnerability detection based on aggregated primitives |
US20100275126A1 (en) * | 2009-04-27 | 2010-10-28 | Scott David Lincke | Automatic On-Screen Keyboard |
CN101876878A (zh) * | 2009-04-29 | 2010-11-03 | 深圳富泰宏精密工业有限公司 | 单词预测输入系统及方法 |
US9836448B2 (en) * | 2009-04-30 | 2017-12-05 | Conversant Wireless Licensing S.A R.L. | Text editing |
US8739055B2 (en) * | 2009-05-07 | 2014-05-27 | Microsoft Corporation | Correction of typographical errors on touch displays |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US9043718B2 (en) * | 2009-06-05 | 2015-05-26 | Blackberry Limited | System and method for applying a text prediction algorithm to a virtual keyboard |
US10706373B2 (en) | 2011-06-03 | 2020-07-07 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
EP2264563A1 (en) * | 2009-06-19 | 2010-12-22 | Tegic Communications, Inc. | Virtual keyboard system with automatic correction |
US20100332215A1 (en) * | 2009-06-26 | 2010-12-30 | Nokia Corporation | Method and apparatus for converting text input |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
CN101996020B (zh) * | 2009-08-28 | 2012-11-28 | 中国移动通信集团公司 | 虚拟键盘显示方法及装置 |
US9166714B2 (en) | 2009-09-11 | 2015-10-20 | Veveo, Inc. | Method of and system for presenting enriched video viewing analytics |
US9223590B2 (en) * | 2010-01-06 | 2015-12-29 | Apple Inc. | System and method for issuing commands to applications based on contextual information |
US8516367B2 (en) * | 2009-09-29 | 2013-08-20 | Verizon Patent And Licensing Inc. | Proximity weighted predictive key entry |
KR101115467B1 (ko) * | 2009-09-30 | 2012-02-24 | 주식회사 팬택 | 가상 키보드 제공 단말 및 그 방법 |
US8358281B2 (en) * | 2009-12-15 | 2013-01-22 | Apple Inc. | Device, method, and graphical user interface for management and manipulation of user interface elements |
US11416214B2 (en) | 2009-12-23 | 2022-08-16 | Google Llc | Multi-modal input on an electronic device |
EP2339576B1 (en) | 2009-12-23 | 2019-08-07 | Google LLC | Multi-modal input on an electronic device |
US9207765B2 (en) * | 2009-12-31 | 2015-12-08 | Microsoft Technology Licensing, Llc | Recognizing interactive media input |
CN102117143B (zh) * | 2009-12-31 | 2015-05-13 | 深圳迈瑞生物医疗电子股份有限公司 | 一种触摸屏响应方法及装置 |
US8806362B2 (en) * | 2010-01-06 | 2014-08-12 | Apple Inc. | Device, method, and graphical user interface for accessing alternate keys |
US9052894B2 (en) * | 2010-01-15 | 2015-06-09 | Apple Inc. | API to replace a keyboard with custom controls |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
KR101202706B1 (ko) * | 2010-01-27 | 2012-11-19 | 교세라 가부시키가이샤 | 휴대 전자기기 및 휴대 전자기기의 제어방법 |
CA2787390A1 (en) | 2010-02-01 | 2011-08-04 | Ginger Software, Inc. | Automatic context sensitive language correction using an internet corpus particularly for small keyboard devices |
US20110191332A1 (en) | 2010-02-04 | 2011-08-04 | Veveo, Inc. | Method of and System for Updating Locally Cached Content Descriptor Information |
US8898585B2 (en) * | 2010-02-11 | 2014-11-25 | Htc Corporation | Electronic device, input method thereof, and computer-readable medium using the method |
US8782556B2 (en) | 2010-02-12 | 2014-07-15 | Microsoft Corporation | User-centric soft keyboard predictive technologies |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
GB201003628D0 (en) | 2010-03-04 | 2010-04-21 | Touchtype Ltd | System and method for inputting text into electronic devices |
US20110219299A1 (en) * | 2010-03-07 | 2011-09-08 | DSNR Labs Ltd. | Method and system of providing completion suggestion to a partial linguistic element |
KR101477530B1 (ko) | 2010-03-12 | 2014-12-30 | 뉘앙스 커뮤니케이션즈, 인코포레이티드 | 이동 전화의 터치 스크린과 함께 사용하기 위한 다중 모드 문자 입력 시스템 |
US8756522B2 (en) * | 2010-03-19 | 2014-06-17 | Blackberry Limited | Portable electronic device and method of controlling same |
WO2011118096A1 (ja) * | 2010-03-23 | 2011-09-29 | シャープ株式会社 | 情報表示装置及び文書データ編集方法 |
EP2383970B1 (en) * | 2010-04-30 | 2013-07-10 | beyo GmbH | Camera based method for text input and keyword detection |
JP5010714B2 (ja) * | 2010-05-21 | 2012-08-29 | 株式会社東芝 | 電子機器、入力制御プログラム、及び入力制御方法 |
BR112012029421A2 (pt) * | 2010-05-24 | 2017-02-21 | John Temple Will | botão multidirecional, tecla e teclado |
US8487877B2 (en) | 2010-06-10 | 2013-07-16 | Michael William Murphy | Character specification system and method that uses a limited number of selection keys |
US8552999B2 (en) | 2010-06-14 | 2013-10-08 | Apple Inc. | Control selection approximation |
US8462131B2 (en) * | 2010-06-23 | 2013-06-11 | John CHACHO | Electronic device having virtual keyboard with predictive key and related methods |
CA2804014A1 (en) * | 2010-06-28 | 2012-01-12 | Cleankeys Inc. | Method for detecting and locating keypress-events on touch-and vibration-sensitive flat surfaces |
US8922498B2 (en) * | 2010-08-06 | 2014-12-30 | Ncr Corporation | Self-service terminal and configurable screen therefor |
JP5614173B2 (ja) * | 2010-08-25 | 2014-10-29 | ソニー株式会社 | 情報処理装置、情報処理方法およびプログラム |
US8346793B1 (en) * | 2010-08-31 | 2013-01-01 | The Mathworks, Inc. | Techniques for suggesting correct identifiers |
US9081761B1 (en) * | 2010-08-31 | 2015-07-14 | The Mathworks, Inc. | Mistake avoidance and correction suggestions |
US8577915B2 (en) | 2010-09-10 | 2013-11-05 | Veveo, Inc. | Method of and system for conducting personalized federated search and presentation of results therefrom |
US8719014B2 (en) * | 2010-09-27 | 2014-05-06 | Apple Inc. | Electronic device with text error correction based on voice recognition data |
GB201200643D0 (en) | 2012-01-16 | 2012-02-29 | Touchtype Ltd | System and method for inputting text |
JP5598223B2 (ja) * | 2010-09-30 | 2014-10-01 | アイシン・エィ・ダブリュ株式会社 | 検索支援装置、検索支援方法および検索支援プログラム |
JP5587119B2 (ja) * | 2010-09-30 | 2014-09-10 | キヤノン株式会社 | 文字入力装置、その制御方法、及びプログラム |
WO2012048380A1 (en) * | 2010-10-14 | 2012-04-19 | University Of Technology, Sydney | Virtual keyboard |
TWI416374B (zh) * | 2010-10-26 | 2013-11-21 | Wistron Corp | 輸入方法、輸入裝置及電腦系統 |
KR20120045218A (ko) * | 2010-10-29 | 2012-05-09 | 삼성전자주식회사 | 멀티 터치를 이용한 문자 입력 방법 및 장치 |
EP2636149A4 (en) * | 2010-11-04 | 2016-10-05 | Nuance Communications Inc | WRITE CHECK FOR A KEYBOARD SYSTEM WITH AUTOMATIC CORRECTION |
JP5561549B2 (ja) * | 2010-11-25 | 2014-07-30 | アイシン・エィ・ダブリュ株式会社 | 検索装置、検索方法、およびプログラム |
US20120167009A1 (en) * | 2010-12-22 | 2012-06-28 | Apple Inc. | Combining timing and geometry information for typing correction |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
JP5565320B2 (ja) * | 2011-01-06 | 2014-08-06 | 富士通株式会社 | 情報処理装置及び情報処理プログラム |
US20120182220A1 (en) * | 2011-01-19 | 2012-07-19 | Samsung Electronics Co., Ltd. | Mobile terminal including an improved keypad for character entry and a usage method thereof |
US9667932B2 (en) * | 2011-02-03 | 2017-05-30 | Videa, Llc | Automatic correction of keystone distortion and other unwanted artifacts in projected images |
US8878858B2 (en) * | 2011-02-03 | 2014-11-04 | Videa, Llc | Video projection apparatus and methods, with image content control |
US20120203544A1 (en) * | 2011-02-04 | 2012-08-09 | Nuance Communications, Inc. | Correcting typing mistakes based on probabilities of intended contact for non-contacted keys |
TW201237732A (en) * | 2011-03-11 | 2012-09-16 | Sunplus Technology Co Ltd | Nine-square arrangement virtual input system using a remote control |
US9037459B2 (en) * | 2011-03-14 | 2015-05-19 | Apple Inc. | Selection of text prediction results by an accessory |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US8766936B2 (en) * | 2011-03-25 | 2014-07-01 | Honeywell International Inc. | Touch screen and method for providing stable touches |
US9519369B2 (en) | 2011-04-19 | 2016-12-13 | Hewlett-Packard Development Company, L.P. | Touch screen selection |
US8972260B2 (en) * | 2011-04-20 | 2015-03-03 | Robert Bosch Gmbh | Speech recognition using multiple language models |
US20120280925A1 (en) * | 2011-05-03 | 2012-11-08 | Htc Corporation | Handheld Electronic Device and Method for Calibrating Input of Webpage Address |
WO2012159246A1 (en) * | 2011-05-20 | 2012-11-29 | Microsoft Corporation | Displaying and inputting symbols |
US8826190B2 (en) | 2011-05-27 | 2014-09-02 | Google Inc. | Moving a graphical selector |
US8656315B2 (en) | 2011-05-27 | 2014-02-18 | Google Inc. | Moving a graphical selector |
US8661339B2 (en) | 2011-05-31 | 2014-02-25 | Apple Inc. | Devices, methods, and graphical user interfaces for document manipulation |
US9471560B2 (en) * | 2011-06-03 | 2016-10-18 | Apple Inc. | Autocorrecting language input for virtual keyboards |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US9092136B1 (en) * | 2011-06-08 | 2015-07-28 | Rockwell Collins, Inc. | Projected button display system |
US20120324391A1 (en) * | 2011-06-16 | 2012-12-20 | Microsoft Corporation | Predictive word completion |
US9024882B2 (en) * | 2011-07-18 | 2015-05-05 | Fleksy, Inc. | Data input system and method for a touch sensor input |
US20140189569A1 (en) * | 2011-07-18 | 2014-07-03 | Syntellia, Inc. | User interface for text input on three dimensional interface |
US9108369B2 (en) * | 2011-07-25 | 2015-08-18 | Microsoft Technology Licensing, Llc | Wedge light guide |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
JP2013047872A (ja) * | 2011-08-29 | 2013-03-07 | Sharp Corp | 文字入力装置、文字入力方法及びコンピュータプログラム |
US8959430B1 (en) * | 2011-09-21 | 2015-02-17 | Amazon Technologies, Inc. | Facilitating selection of keys related to a selected key |
US9310941B2 (en) * | 2011-10-04 | 2016-04-12 | Atmel Corporation | Touch sensor input tool with offset between touch icon and input icon |
US8490008B2 (en) | 2011-11-10 | 2013-07-16 | Research In Motion Limited | Touchscreen keyboard predictive display and generation of a set of characters |
US9122672B2 (en) | 2011-11-10 | 2015-09-01 | Blackberry Limited | In-letter word prediction for virtual keyboard |
US9715489B2 (en) | 2011-11-10 | 2017-07-25 | Blackberry Limited | Displaying a prediction candidate after a typing mistake |
US9652448B2 (en) | 2011-11-10 | 2017-05-16 | Blackberry Limited | Methods and systems for removing or replacing on-keyboard prediction candidates |
US9310889B2 (en) | 2011-11-10 | 2016-04-12 | Blackberry Limited | Touchscreen keyboard predictive display and generation of a set of characters |
US9038014B2 (en) * | 2011-12-15 | 2015-05-19 | Microsoft Technology Licensing, Llc | Intelligently recommending schemas based on user input |
US9176666B2 (en) * | 2011-12-23 | 2015-11-03 | Symbol Technologies, Llc | Method and device for a multi-touch based correction of a handwriting sentence system |
CN103176594B (zh) * | 2011-12-23 | 2016-08-17 | 联想(北京)有限公司 | 一种文本操作方法及系统 |
US9064436B1 (en) | 2012-01-06 | 2015-06-23 | Google Inc. | Text input on touch sensitive interface |
CN104137038B (zh) * | 2012-01-09 | 2017-08-25 | 谷歌公司 | 具有手指鉴别的智能触摸屏键盘 |
US10452188B2 (en) * | 2012-01-13 | 2019-10-22 | Microsoft Technology Licensing, Llc | Predictive compensation for a latency of an input device |
CA2789827C (en) | 2012-01-19 | 2017-06-13 | Research In Motion Limited | Virtual keyboard providing an indication of received input |
US9557913B2 (en) | 2012-01-19 | 2017-01-31 | Blackberry Limited | Virtual keyboard display having a ticker proximate to the virtual keyboard |
GB2499288A (en) * | 2012-02-09 | 2013-08-14 | Sita Inf Networking Computing Usa Inc | Path determination |
US9244612B1 (en) | 2012-02-16 | 2016-01-26 | Google Inc. | Key selection of a graphical keyboard based on user input posture |
CA2865272C (en) | 2012-02-24 | 2019-11-05 | Blackberry Limited | Virtual keyboard with dynamically reconfigurable layout |
DE112012000189B4 (de) | 2012-02-24 | 2023-06-15 | Blackberry Limited | Berührungsbildschirm-Tastatur zum Vorsehen von Wortvorhersagen in Partitionen der Berührungsbildschirm-Tastatur in naher Assoziation mit Kandidaten-Buchstaben |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
EP2637128B1 (en) | 2012-03-06 | 2018-01-17 | beyo GmbH | Multimodal text input by a keyboard/camera text input module replacing a conventional keyboard text input module on a mobile device |
US9733707B2 (en) | 2012-03-22 | 2017-08-15 | Honeywell International Inc. | Touch screen display user interface and method for improving touch interface utility on the same employing a rules-based masking system |
US8667414B2 (en) | 2012-03-23 | 2014-03-04 | Google Inc. | Gestural input at a virtual keyboard |
US8996356B1 (en) * | 2012-04-10 | 2015-03-31 | Google Inc. | Techniques for predictive input method editors |
US9043198B1 (en) | 2012-04-13 | 2015-05-26 | Google Inc. | Text suggestion |
US9201510B2 (en) | 2012-04-16 | 2015-12-01 | Blackberry Limited | Method and device having touchscreen keyboard with visual cues |
US9354805B2 (en) | 2012-04-30 | 2016-05-31 | Blackberry Limited | Method and apparatus for text selection |
US9292192B2 (en) | 2012-04-30 | 2016-03-22 | Blackberry Limited | Method and apparatus for text selection |
US20130285916A1 (en) * | 2012-04-30 | 2013-10-31 | Research In Motion Limited | Touchscreen keyboard providing word predictions at locations in association with candidate letters |
US8884881B2 (en) | 2012-05-11 | 2014-11-11 | Blackberry Limited | Portable electronic device and method of controlling same |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
CN107273022A (zh) * | 2012-05-17 | 2017-10-20 | 联发科技(新加坡)私人有限公司 | 自动纠错方法及装置和移动终端 |
US8484573B1 (en) | 2012-05-23 | 2013-07-09 | Google Inc. | Predictive virtual keyboard |
US9207860B2 (en) | 2012-05-25 | 2015-12-08 | Blackberry Limited | Method and apparatus for detecting a gesture |
AU2013204311B2 (en) * | 2012-05-30 | 2016-09-29 | Chomley Consulting Pty. Ltd | Methods, Controllers and Devices for Assembling a Word |
KR20130136182A (ko) * | 2012-06-04 | 2013-12-12 | 삼성전자주식회사 | 터치 키패드의 문자 입력 방법 및 장치 |
WO2013184106A1 (en) * | 2012-06-06 | 2013-12-12 | Thomson Licensing | Method and apparatus for entering symbols from a touch-sensitive screen |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
JP5910345B2 (ja) * | 2012-06-21 | 2016-04-27 | 富士通株式会社 | 文字入力プログラム、情報処理装置および文字入力方法 |
US20130346904A1 (en) * | 2012-06-26 | 2013-12-26 | International Business Machines Corporation | Targeted key press zones on an interactive display |
US9116552B2 (en) | 2012-06-27 | 2015-08-25 | Blackberry Limited | Touchscreen keyboard providing selection of word predictions in partitions of the touchscreen keyboard |
EP2680120B1 (en) * | 2012-06-27 | 2018-03-21 | BlackBerry Limited | Touchscreen keyboard providing selection of word predictions in partitions of the touchscreen keyboard |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
US9779080B2 (en) * | 2012-07-09 | 2017-10-03 | International Business Machines Corporation | Text auto-correction via N-grams |
US9087030B2 (en) * | 2012-07-16 | 2015-07-21 | International Business Machines Corporation | Handling excessive input characters in a field |
KR20140011073A (ko) * | 2012-07-17 | 2014-01-28 | 삼성전자주식회사 | 텍스트 추천 방법 및 장치 |
US9298295B2 (en) * | 2012-07-25 | 2016-03-29 | Facebook, Inc. | Gestures for auto-correct |
US9305229B2 (en) | 2012-07-30 | 2016-04-05 | Bruno Delean | Method and system for vision based interfacing with a computer |
US9423871B2 (en) | 2012-08-07 | 2016-08-23 | Honeywell International Inc. | System and method for reducing the effects of inadvertent touch on a touch screen controller |
US9524290B2 (en) | 2012-08-31 | 2016-12-20 | Blackberry Limited | Scoring predictions based on prediction length and typing speed |
US9063653B2 (en) | 2012-08-31 | 2015-06-23 | Blackberry Limited | Ranking predictions based on typing speed and typing confidence |
US9189064B2 (en) * | 2012-09-05 | 2015-11-17 | Apple Inc. | Delay of display event based on user gaze |
US9329778B2 (en) * | 2012-09-07 | 2016-05-03 | International Business Machines Corporation | Supplementing a virtual input keyboard |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
CN103677299A (zh) * | 2012-09-12 | 2014-03-26 | 深圳市世纪光速信息技术有限公司 | 一种在输入法中实现智能联想的方法、装置及终端设备 |
US9081482B1 (en) | 2012-09-18 | 2015-07-14 | Google Inc. | Text input suggestion ranking |
WO2014047161A2 (en) | 2012-09-18 | 2014-03-27 | Google Inc. | Posture-adaptive selection |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
US8656296B1 (en) | 2012-09-27 | 2014-02-18 | Google Inc. | Selection of characters in a string of characters |
US8782549B2 (en) | 2012-10-05 | 2014-07-15 | Google Inc. | Incremental feature-based gesture-keyboard decoding |
US9021380B2 (en) | 2012-10-05 | 2015-04-28 | Google Inc. | Incremental multi-touch gesture recognition |
US9164623B2 (en) | 2012-10-05 | 2015-10-20 | Htc Corporation | Portable device and key hit area adjustment method thereof |
US9026428B2 (en) | 2012-10-15 | 2015-05-05 | Nuance Communications, Inc. | Text/character input system, such as for use with touch screens on mobile phones |
US8701032B1 (en) | 2012-10-16 | 2014-04-15 | Google Inc. | Incremental multi-word recognition |
US9557818B2 (en) | 2012-10-16 | 2017-01-31 | Google Inc. | Contextually-specific automatic separators |
US8713433B1 (en) | 2012-10-16 | 2014-04-29 | Google Inc. | Feature-based autocorrection |
US8914751B2 (en) | 2012-10-16 | 2014-12-16 | Google Inc. | Character deletion during keyboard gesture |
US8850350B2 (en) | 2012-10-16 | 2014-09-30 | Google Inc. | Partial gesture text entry |
US8843845B2 (en) | 2012-10-16 | 2014-09-23 | Google Inc. | Multi-gesture text input prediction |
US9569107B2 (en) | 2012-10-16 | 2017-02-14 | Google Inc. | Gesture keyboard with gesture cancellation |
US8612213B1 (en) | 2012-10-16 | 2013-12-17 | Google Inc. | Correction of errors in character strings that include a word delimiter |
US9304595B2 (en) | 2012-10-19 | 2016-04-05 | Google Inc. | Gesture-keyboard decoding using gesture path deviation |
US8704792B1 (en) | 2012-10-19 | 2014-04-22 | Google Inc. | Density-based filtering of gesture events associated with a user interface of a computing device |
US8994681B2 (en) | 2012-10-19 | 2015-03-31 | Google Inc. | Decoding imprecise gestures for gesture-keyboards |
US8807422B2 (en) | 2012-10-22 | 2014-08-19 | Varcode Ltd. | Tamper-proof quality management barcode indicators |
US8819574B2 (en) | 2012-10-22 | 2014-08-26 | Google Inc. | Space prediction for text input |
US9804777B1 (en) | 2012-10-23 | 2017-10-31 | Google Inc. | Gesture-based text selection |
US8949735B2 (en) | 2012-11-02 | 2015-02-03 | Google Inc. | Determining scroll direction intent |
US8806384B2 (en) | 2012-11-02 | 2014-08-12 | Google Inc. | Keyboard gestures for character string replacement |
US9265458B2 (en) | 2012-12-04 | 2016-02-23 | Sync-Think, Inc. | Application of smooth pursuit cognitive testing paradigms to clinical drug development |
US9996213B2 (en) * | 2012-12-24 | 2018-06-12 | Nokia Technology Oy | Apparatus for a user interface and associated methods |
US8832589B2 (en) * | 2013-01-15 | 2014-09-09 | Google Inc. | Touch keyboard using language and spatial models |
US8971968B2 (en) | 2013-01-18 | 2015-03-03 | Dell Products, Lp | System and method for context aware usability management of human machine interfaces |
US9047268B2 (en) | 2013-01-31 | 2015-06-02 | Google Inc. | Character and word level language models for out-of-vocabulary text input |
CN104969289B (zh) | 2013-02-07 | 2021-05-28 | 苹果公司 | 数字助理的语音触发器 |
US8782550B1 (en) | 2013-02-28 | 2014-07-15 | Google Inc. | Character string replacement |
US11727005B2 (en) * | 2013-03-05 | 2023-08-15 | Cubic Design Studios Llc | Fill in the blanks word completion system |
US8701050B1 (en) | 2013-03-08 | 2014-04-15 | Google Inc. | Gesture completion path display for gesture-based keyboards |
US9380976B2 (en) | 2013-03-11 | 2016-07-05 | Sync-Think, Inc. | Optical neuroinformatics |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
KR101759009B1 (ko) | 2013-03-15 | 2017-07-17 | 애플 인크. | 적어도 부분적인 보이스 커맨드 시스템을 트레이닝시키는 것 |
US20140267029A1 (en) * | 2013-03-15 | 2014-09-18 | Alok Govil | Method and system of enabling interaction between a user and an electronic device |
US9665246B2 (en) | 2013-04-16 | 2017-05-30 | Google Inc. | Consistent text suggestion output |
US8825474B1 (en) | 2013-04-16 | 2014-09-02 | Google Inc. | Text suggestion output using past interaction data |
US9122376B1 (en) | 2013-04-18 | 2015-09-01 | Google Inc. | System for improving autocompletion of text input |
US8887103B1 (en) | 2013-04-22 | 2014-11-11 | Google Inc. | Dynamically-positioned character string suggestions for gesture typing |
US8756499B1 (en) | 2013-04-29 | 2014-06-17 | Google Inc. | Gesture keyboard input of non-dictionary character strings using substitute scoring |
US9081500B2 (en) | 2013-05-03 | 2015-07-14 | Google Inc. | Alternative hypothesis error correction for gesture typing |
US20140351760A1 (en) * | 2013-05-24 | 2014-11-27 | Google Inc. | Order-independent text input |
US8997013B2 (en) | 2013-05-31 | 2015-03-31 | Google Inc. | Multiple graphical keyboards for continuous gesture input |
JP2014235612A (ja) | 2013-06-03 | 2014-12-15 | 富士通株式会社 | 端末装置、補正方法および補正プログラム |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
US8989668B2 (en) * | 2013-06-07 | 2015-03-24 | Apple Inc. | Ordering a list of wireless devices for display in a graphical user interface |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US9898187B2 (en) | 2013-06-09 | 2018-02-20 | Apple Inc. | Managing real-time handwriting recognition |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
US9733716B2 (en) | 2013-06-09 | 2017-08-15 | Apple Inc. | Proxy gesture recognizer |
KR101959188B1 (ko) | 2013-06-09 | 2019-07-02 | 애플 인크. | 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스 |
WO2014200731A1 (en) | 2013-06-13 | 2014-12-18 | Apple Inc. | System and method for emergency calls initiated by voice command |
US9576074B2 (en) | 2013-06-20 | 2017-02-21 | Microsoft Technology Licensing, Llc | Intent-aware keyboard |
KR20150010516A (ko) * | 2013-07-19 | 2015-01-28 | 삼성전자주식회사 | 플렉서블 디바이스가 객체를 디스플레이 하는 방법 및 장치 |
US10853572B2 (en) * | 2013-07-30 | 2020-12-01 | Oracle International Corporation | System and method for detecting the occureances of irrelevant and/or low-score strings in community based or user generated content |
KR101749009B1 (ko) | 2013-08-06 | 2017-06-19 | 애플 인크. | 원격 디바이스로부터의 활동에 기초한 스마트 응답의 자동 활성화 |
US10289302B1 (en) | 2013-09-09 | 2019-05-14 | Apple Inc. | Virtual keyboard animation |
US10042543B2 (en) * | 2013-09-18 | 2018-08-07 | Lenovo (Singapore) Pte. Ltd. | Indicating a word length using an input device |
KR102187255B1 (ko) * | 2013-09-30 | 2020-12-04 | 삼성전자주식회사 | 전자 장치의 디스플레이 방법 및 그 전자 장치 |
US10055103B1 (en) * | 2013-10-21 | 2018-08-21 | Google Llc | Text entry based on persisting actions |
US9176668B2 (en) * | 2013-10-24 | 2015-11-03 | Fleksy, Inc. | User interface for text input and virtual keyboard manipulation |
KR101556599B1 (ko) | 2013-10-30 | 2015-10-02 | 연세대학교 산학협력단 | 패턴 입력 장치 및 방법과 이를 이용한 기록 매체 |
US9857971B2 (en) * | 2013-12-02 | 2018-01-02 | Industrial Technology Research Institute | System and method for receiving user input and program storage medium thereof |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
CN104750374B (zh) * | 2013-12-27 | 2019-11-22 | 深圳富泰宏精密工业有限公司 | 拨号盘管理方法及系统 |
EP2894548B1 (en) * | 2014-01-08 | 2017-09-27 | Arthur Nicholas Keenan | System and method of manipulating an inputted character string to a diacritic-modified character string using a single layout for a character entry device |
JP5930228B2 (ja) | 2014-02-25 | 2016-06-08 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 情報処理装置、方法及びプログラム |
US9620105B2 (en) | 2014-05-15 | 2017-04-11 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
US10592095B2 (en) | 2014-05-23 | 2020-03-17 | Apple Inc. | Instantaneous speaking of content on touch devices |
US9502031B2 (en) | 2014-05-27 | 2016-11-22 | Apple Inc. | Method for supporting dynamic grammars in WFST-based ASR |
US10204096B2 (en) * | 2014-05-30 | 2019-02-12 | Apple Inc. | Device, method, and graphical user interface for a predictive keyboard |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US10579212B2 (en) | 2014-05-30 | 2020-03-03 | Apple Inc. | Structured suggestions |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US10565219B2 (en) | 2014-05-30 | 2020-02-18 | Apple Inc. | Techniques for automatically generating a suggested contact based on a received message |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US9966065B2 (en) | 2014-05-30 | 2018-05-08 | Apple Inc. | Multi-command single utterance input method |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US9377871B2 (en) | 2014-08-01 | 2016-06-28 | Nuance Communications, Inc. | System and methods for determining keyboard input in the presence of multiple contact points |
US10534532B2 (en) | 2014-08-08 | 2020-01-14 | Samsung Electronics Co., Ltd. | Electronic device and method for processing letter input in electronic device |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
EP3201737B1 (en) * | 2014-09-29 | 2021-10-27 | Hewlett-Packard Development Company, L.P. | Virtual keyboard |
EP3002669A1 (en) * | 2014-09-30 | 2016-04-06 | Advanced Digital Broadcast S.A. | System and method for controlling a virtual input interface |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
EP3002661A1 (en) * | 2014-09-30 | 2016-04-06 | Advanced Digital Broadcast S.A. | System and method for controlling a virtual input interface |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US9740743B2 (en) * | 2014-10-20 | 2017-08-22 | Salesforce.Com, Inc. | Matching objects using keys based on match rules |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US9711141B2 (en) | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US10152299B2 (en) | 2015-03-06 | 2018-12-11 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US10726197B2 (en) * | 2015-03-26 | 2020-07-28 | Lenovo (Singapore) Pte. Ltd. | Text correction using a second input |
US9678664B2 (en) | 2015-04-10 | 2017-06-13 | Google Inc. | Neural network for keyboard input decoding |
EP3309686B1 (en) * | 2015-04-10 | 2020-08-19 | Soliton Systems K.K. | Electronic mail transmission error determination device, electronic mail transmission system, and recording medium |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
WO2016176359A1 (en) | 2015-04-30 | 2016-11-03 | Murphy Michael William | Improved method of word identification that uses interspersed time-independent selection keys |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
JP6649472B2 (ja) | 2015-05-18 | 2020-02-19 | バーコード リミティド | 活性化可能な品質表示ラベルのための熱変色性インク証印 |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
CN106295266A (zh) | 2015-05-28 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 信息输入方法和装置 |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
CN105045484B (zh) * | 2015-07-06 | 2018-04-17 | 腾讯科技(深圳)有限公司 | 操作处理方法及电子设备 |
CN107709946B (zh) | 2015-07-07 | 2022-05-10 | 发可有限公司 | 电子质量标志 |
US20170011303A1 (en) * | 2015-07-09 | 2017-01-12 | Qualcomm Incorporated | Contact-Based Predictive Response |
US10003938B2 (en) | 2015-08-14 | 2018-06-19 | Apple Inc. | Easy location sharing |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10445425B2 (en) | 2015-09-15 | 2019-10-15 | Apple Inc. | Emoji and canned responses |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US20170091167A1 (en) * | 2015-09-25 | 2017-03-30 | Ehtasham Malik | Input Processing |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US11113714B2 (en) * | 2015-12-30 | 2021-09-07 | Verizon Media Inc. | Filtering machine for sponsored content |
JP2017138698A (ja) * | 2016-02-02 | 2017-08-10 | ソニー株式会社 | 情報処理装置、情報処理方法およびプログラム |
CN205540572U (zh) * | 2016-03-08 | 2016-08-31 | 硕擎科技股份有限公司 | 供搭配手机使用的虚拟输入设备 |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179309B1 (en) | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK179329B1 (en) | 2016-06-12 | 2018-05-07 | Apple Inc | Handwriting keyboard for monitors |
GB201610984D0 (en) | 2016-06-23 | 2016-08-10 | Microsoft Technology Licensing Llc | Suppression of input images |
US10503808B2 (en) | 2016-07-15 | 2019-12-10 | Sap Se | Time user interface with intelligent text reduction |
US10140260B2 (en) * | 2016-07-15 | 2018-11-27 | Sap Se | Intelligent text reduction for graphical interface elements |
US20180039608A1 (en) * | 2016-08-03 | 2018-02-08 | Google Inc. | Correction of previously received textual messages based on one or more later received textual messages |
US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US10579729B2 (en) * | 2016-10-18 | 2020-03-03 | International Business Machines Corporation | Methods and system for fast, adaptive correction of misspells |
US10372814B2 (en) | 2016-10-18 | 2019-08-06 | International Business Machines Corporation | Methods and system for fast, adaptive correction of misspells |
CN108008832A (zh) * | 2016-10-31 | 2018-05-08 | 北京搜狗科技发展有限公司 | 一种输入方法和装置、一种用于输入的装置 |
US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
US10444987B2 (en) * | 2016-12-19 | 2019-10-15 | Microsoft Technology Licensing, Llc | Facilitating selection of holographic keyboard keys |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
US20180188823A1 (en) * | 2017-01-04 | 2018-07-05 | International Business Machines Corporation | Autocorrect with weighted group vocabulary |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
US11151130B2 (en) * | 2017-02-04 | 2021-10-19 | Tata Consultancy Services Limited | Systems and methods for assessing quality of input text using recurrent neural networks |
CN107193392A (zh) * | 2017-04-25 | 2017-09-22 | 北京百度网讯科技有限公司 | 一种在输入法应用中的输入方法和输入装置 |
DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | USER INTERFACE FOR CORRECTING RECOGNITION ERRORS |
US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK201770427A1 (en) | 2017-05-12 | 2018-12-20 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
DK179560B1 (en) | 2017-05-16 | 2019-02-18 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
US10303715B2 (en) | 2017-05-16 | 2019-05-28 | Apple Inc. | Intelligent automated assistant for media exploration |
CN110637275B (zh) | 2017-05-19 | 2023-11-14 | M·W·墨菲 | 交错字符选择界面 |
US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
US10481791B2 (en) * | 2017-06-07 | 2019-11-19 | Microsoft Technology Licensing, Llc | Magnified input panels |
JP6860431B2 (ja) * | 2017-06-08 | 2021-04-14 | 株式会社日立製作所 | 計算機システム、対話制御方法、及び計算機 |
US10983753B2 (en) | 2017-06-09 | 2021-04-20 | International Business Machines Corporation | Cognitive and interactive sensor based smart home solution |
US11455094B2 (en) | 2017-07-11 | 2022-09-27 | Thumba Inc. | Interactive virtual keyboard configured for gesture based word selection and having a plurality of keys arranged approximately radially about at least one center point |
WO2019014927A1 (en) * | 2017-07-21 | 2019-01-24 | Orange | METHOD FOR MANAGING A MOBILE TERMINAL OF A CONTENT LIST ASSOCIATED WITH A SUB-CONTENT |
US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
US10929606B2 (en) | 2017-12-29 | 2021-02-23 | Samsung Electronics Co., Ltd. | Method for follow-up expression for intelligent assistance |
US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
CN110377186B (zh) * | 2018-04-12 | 2023-10-10 | 海信视像科技股份有限公司 | 一种虚拟键盘的生成方法及装置 |
US10956402B2 (en) * | 2018-04-13 | 2021-03-23 | Visa International Service Association | Method and system for automatically detecting errors in at least one date entry using image maps |
JP7053995B2 (ja) * | 2018-04-16 | 2022-04-13 | 富士通株式会社 | 最適化装置及び最適化装置の制御方法 |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
DK180171B1 (en) | 2018-05-07 | 2020-07-14 | Apple Inc | USER INTERFACES FOR SHARING CONTEXTUALLY RELEVANT MEDIA CONTENT |
DK201870378A1 (en) | 2018-05-07 | 2020-01-13 | Apple Inc. | DISPLAYING USER INTERFACES ASSOCIATED WITH PHYSICAL ACTIVITIES |
US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US10496705B1 (en) | 2018-06-03 | 2019-12-03 | Apple Inc. | Accelerated task performance |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
CN109521889B (zh) * | 2018-09-29 | 2021-02-09 | 咪咕音乐有限公司 | 一种输入方法及装置、终端及存储介质 |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US11922007B2 (en) | 2018-11-29 | 2024-03-05 | Michael William Murphy | Apparatus, method and system for inputting characters to an electronic device |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
DK201970531A1 (en) | 2019-05-06 | 2021-07-09 | Apple Inc | Avatar integration with multiple applications |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11568307B2 (en) * | 2019-05-20 | 2023-01-31 | International Business Machines Corporation | Data augmentation for text-based AI applications |
US11140099B2 (en) * | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
DK201970510A1 (en) | 2019-05-31 | 2021-02-11 | Apple Inc | Voice identification in digital assistant systems |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
US11194467B2 (en) | 2019-06-01 | 2021-12-07 | Apple Inc. | Keyboard management user interfaces |
US11074408B2 (en) | 2019-06-01 | 2021-07-27 | Apple Inc. | Mail application features |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
CN110688036B (zh) * | 2019-08-28 | 2021-05-14 | 云知声智能科技股份有限公司 | 一种web界面缺陷关联内容位置变化的展示方法 |
US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
EP4010841A4 (en) * | 2019-09-27 | 2022-10-26 | Samsung Electronics Co., Ltd. | SYSTEM AND METHOD FOR RESOLVING TEXT SENSITIVITY BASED BIAS IN A LANGUAGE MODEL |
CN110705551B (zh) * | 2019-10-09 | 2022-05-20 | 北京百度网讯科技有限公司 | 按键位置的识别方法、装置、电子设备和存储介质 |
US11295088B2 (en) | 2019-11-20 | 2022-04-05 | Apple Inc. | Sanitizing word predictions |
US11727284B2 (en) | 2019-12-12 | 2023-08-15 | Business Objects Software Ltd | Interpretation of machine learning results using feature analysis |
US11068073B2 (en) * | 2019-12-13 | 2021-07-20 | Dell Products, L.P. | User-customized keyboard input error correction |
US20210192376A1 (en) * | 2019-12-23 | 2021-06-24 | Sap Se | Automated, progressive explanations of machine learning results |
US11216182B2 (en) * | 2020-03-03 | 2022-01-04 | Intel Corporation | Dynamic configuration of a virtual keyboard |
US11580455B2 (en) | 2020-04-01 | 2023-02-14 | Sap Se | Facilitating machine learning configuration |
US11783198B2 (en) * | 2020-04-03 | 2023-10-10 | Baidu Usa Llc | Estimating the implicit likelihoods of generative adversarial networks |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
CN111859914B (zh) * | 2020-07-24 | 2023-07-21 | 中国平安人寿保险股份有限公司 | 敏感信息检测方法、装置、计算机设备及存储介质 |
US11416136B2 (en) | 2020-09-14 | 2022-08-16 | Apple Inc. | User interfaces for assigning and responding to user inputs |
CN112256138B (zh) * | 2020-10-22 | 2022-10-14 | 米环科技(长春)有限公司 | 具有键位布局的键盘及其应用于电子设备的输入方法 |
US11816137B2 (en) | 2021-01-12 | 2023-11-14 | Samsung Electronics Co., Ltd | Method for providing search word and electronic device for supporting the same |
EP4057259A1 (en) * | 2021-03-12 | 2022-09-14 | OMRON Corporation | Character input device, character input method, and character input program |
JP2023129955A (ja) * | 2022-03-07 | 2023-09-20 | オムロン株式会社 | 文字入力装置、文字入力方法、および文字入力プログラム |
US20230333867A1 (en) * | 2022-04-18 | 2023-10-19 | Celligence International Llc | Method and computing apparatus for operating a form-based interface |
Family Cites Families (350)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3980869A (en) | 1974-11-25 | 1976-09-14 | Litton Business Systems, Inc. | Rotatable keyboard |
US4353552A (en) * | 1979-02-23 | 1982-10-12 | Peptek, Incorporated | Touch panel system and method |
US4286329A (en) | 1979-12-17 | 1981-08-25 | International Business Machines Corporation | Complex character generator |
US4454592A (en) * | 1980-11-20 | 1984-06-12 | International Business Machines Corporation | Prompt line display in a word processing system |
US4365235A (en) | 1980-12-31 | 1982-12-21 | International Business Machines Corporation | Chinese/Kanji on-line recognition system |
CA1200910A (en) * | 1981-12-29 | 1986-02-18 | Toshiaki Yamada | Terminal device for editing document and communicating data |
US4689768A (en) | 1982-06-30 | 1987-08-25 | International Business Machines Corporation | Spelling verification system with immediate operator alerts to non-matches between inputted words and words stored in plural dictionary memories |
US4439649A (en) | 1982-08-30 | 1984-03-27 | Suncom, Incorporated | Joy stick switch |
US4573196A (en) | 1983-01-19 | 1986-02-25 | Communications Intelligence Corporation | Confusion grouping of strokes in pattern recognition method and system |
US4561105A (en) | 1983-01-19 | 1985-12-24 | Communication Intelligence Corporation | Complex pattern recognition method and system |
US4891777A (en) | 1983-05-11 | 1990-01-02 | The Laitram Corporation | Single hand keyboard arrays providing alphanumeric capabilities from twelve keys |
CA1213067A (en) | 1983-01-21 | 1986-10-21 | James M. Lapeyre | Contoured touch type data processing keyboard |
US4559598A (en) * | 1983-02-22 | 1985-12-17 | Eric Goldwasser | Method of creating text using a computer |
US4891786A (en) * | 1983-02-22 | 1990-01-02 | Goldwasser Eric P | Stroke typing system |
US4544276A (en) * | 1983-03-21 | 1985-10-01 | Cornell Research Foundation, Inc. | Method and apparatus for typing Japanese text using multiple systems |
US4615013A (en) * | 1983-08-02 | 1986-09-30 | The Singer Company | Method and apparatus for texture generation |
JPS60204065A (ja) | 1984-03-28 | 1985-10-15 | Hitachi Ltd | 個人辞書方式 |
US4613945A (en) * | 1984-05-07 | 1986-09-23 | Pitney Bowes Inc. | Method and apparatus for creating fonts for an electronic character generator |
JPH0683816B2 (ja) | 1985-03-13 | 1994-10-26 | 関西ペイント株式会社 | 塗膜の形成方法 |
JPS61166403A (ja) | 1985-01-14 | 1986-07-28 | Rohm Co Ltd | 物品給送装置 |
US4783758A (en) * | 1985-02-05 | 1988-11-08 | Houghton Mifflin Company | Automated word substitution using numerical rankings of structural disparity between misspelled words & candidate substitution words |
US4710758A (en) | 1985-04-26 | 1987-12-01 | Westinghouse Electric Corp. | Automatic touch screen calibration method |
NL8501956A (nl) * | 1985-07-09 | 1987-02-02 | Philips Nv | Beeldherstelschakeling. |
JPH0236661Y2 (ko) | 1985-10-16 | 1990-10-04 | ||
US4783761A (en) | 1985-12-26 | 1988-11-08 | Smith Corona Corporation | Spelling check dictionary with early error signal |
US4782464A (en) | 1985-12-26 | 1988-11-01 | Smith Corona Corporation | Compact spelling-check dictionary |
US4725694A (en) | 1986-05-13 | 1988-02-16 | American Telephone And Telegraph Company, At&T Bell Laboratories | Computer interface device |
US4712923A (en) | 1986-06-23 | 1987-12-15 | Martin Victor G | Electronic calendar and method for randomly selecting and displaying messages |
US6002799A (en) | 1986-07-25 | 1999-12-14 | Ast Research, Inc. | Handwritten keyboardless entry computer system |
JPH0527896Y2 (ko) | 1988-07-18 | 1993-07-16 | ||
US5109352A (en) * | 1988-08-09 | 1992-04-28 | Dell Robert B O | System for encoding a collection of ideographic characters |
US5187480A (en) | 1988-09-05 | 1993-02-16 | Allan Garnham | Symbol definition apparatus |
US5224179A (en) | 1988-12-20 | 1993-06-29 | At&T Bell Laboratories | Image skeletonization method |
CA2006163A1 (en) | 1988-12-21 | 1990-06-21 | Alfred B. Freeman | Keyboard express typing system |
US5127055A (en) | 1988-12-30 | 1992-06-30 | Kurzweil Applied Intelligence, Inc. | Speech recognition apparatus & method having dynamic reference pattern adaptation |
US5261112A (en) | 1989-09-08 | 1993-11-09 | Casio Computer Co., Ltd. | Spelling check apparatus including simple and quick similar word retrieval operation |
JP3143461B2 (ja) | 1990-05-29 | 2001-03-07 | キヤノン株式会社 | 文字認識方法及び文字認識装置 |
US5572423A (en) | 1990-06-14 | 1996-11-05 | Lucent Technologies Inc. | Method for correcting spelling using error frequencies |
US5305205A (en) | 1990-10-23 | 1994-04-19 | Weber Maria L | Computer-assisted transcription apparatus |
US5347295A (en) | 1990-10-31 | 1994-09-13 | Go Corporation | Control of a computer through a position-sensed stylus |
US5317507A (en) * | 1990-11-07 | 1994-05-31 | Gallant Stephen I | Method for document retrieval and for word sense disambiguation using neural networks |
JP2906646B2 (ja) * | 1990-11-09 | 1999-06-21 | 松下電器産業株式会社 | 音声帯域分割符号化装置 |
US5462711A (en) | 1990-12-17 | 1995-10-31 | Ricottone; Jacqueline L. | Disposable beaker sheath |
US5415549A (en) * | 1991-03-21 | 1995-05-16 | Atari Games Corporation | Method for coloring a polygon on a video display |
CA2042068C (en) * | 1991-05-08 | 1995-03-21 | Gez Microsystems, Inc. | Telephone dialler with fast access telephone directory and "call back" feature |
JP2924321B2 (ja) * | 1991-07-22 | 1999-07-26 | 日本電気株式会社 | ディジタル計算機におけるかな文字入力方式 |
JP3155577B2 (ja) | 1991-10-16 | 2001-04-09 | キヤノン株式会社 | 文字認識方法及び装置 |
US5963671A (en) | 1991-11-27 | 1999-10-05 | International Business Machines Corporation | Enhancement of soft keyboard operations using trigram prediction |
EP0554492B1 (en) * | 1992-02-07 | 1995-08-09 | International Business Machines Corporation | Method and device for optical input of commands or data |
JPH05233600A (ja) | 1992-02-24 | 1993-09-10 | Matsushita Electric Ind Co Ltd | ワードプロセッサ |
US5870492A (en) | 1992-06-04 | 1999-02-09 | Wacom Co., Ltd. | Hand-written character entry apparatus |
US5880411A (en) | 1992-06-08 | 1999-03-09 | Synaptics, Incorporated | Object position detector with edge motion feature and gesture recognition |
JP3155616B2 (ja) | 1992-06-25 | 2001-04-16 | キヤノン株式会社 | 文字認識方法及び装置 |
US5451724A (en) * | 1992-08-05 | 1995-09-19 | Fujitsu Limited | Touch panel for detecting a coordinate of an arbitrary position where pressure is applied |
JP3157304B2 (ja) | 1992-09-22 | 2001-04-16 | 富士通株式会社 | 仮想キーボード |
JPH0683512U (ja) | 1993-05-21 | 1994-11-29 | 日本プラスト株式会社 | エアバッグ装置 |
US5612690A (en) | 1993-06-03 | 1997-03-18 | Levy; David | Compact keypad system and method |
US5973676A (en) | 1993-06-30 | 1999-10-26 | Kabushiki Kaisha Toshiba | Input apparatus suitable for portable electronic device |
US5586198A (en) | 1993-08-24 | 1996-12-17 | Lakritz; David | Method and apparatus for identifying characters in ideographic alphabet |
US5583946A (en) | 1993-09-30 | 1996-12-10 | Apple Computer, Inc. | Method and apparatus for recognizing gestures on a computer system |
JPH07146918A (ja) | 1993-11-24 | 1995-06-06 | Hitachi Ltd | 手書き文字認識装置 |
JP3546337B2 (ja) | 1993-12-21 | 2004-07-28 | ゼロックス コーポレイション | 計算システム用ユーザ・インタフェース装置及びグラフィック・キーボード使用方法 |
US5577170A (en) * | 1993-12-23 | 1996-11-19 | Adobe Systems, Incorporated | Generation of typefaces on high resolution output devices |
US5734749A (en) * | 1993-12-27 | 1998-03-31 | Nec Corporation | Character string input system for completing an input character string with an incomplete input indicative sign |
US5561446A (en) * | 1994-01-28 | 1996-10-01 | Montlick; Terry F. | Method and apparatus for wireless remote information retrieval and pen-based data entry |
JP3453422B2 (ja) | 1994-02-10 | 2003-10-06 | キヤノン株式会社 | 文字パターンのユーザ辞書への登録方法及び該ユーザ辞書を有する文字認識装置 |
US5574482A (en) * | 1994-05-17 | 1996-11-12 | Niemeier; Charles J. | Method for data input on a touch-sensitive screen |
US6008799A (en) * | 1994-05-24 | 1999-12-28 | Microsoft Corporation | Method and system for entering data using an improved on-screen keyboard |
US5537317A (en) | 1994-06-01 | 1996-07-16 | Mitsubishi Electric Research Laboratories Inc. | System for correcting grammer based parts on speech probability |
US5812697A (en) | 1994-06-10 | 1998-09-22 | Nippon Steel Corporation | Method and apparatus for recognizing hand-written characters using a weighting dictionary |
WO1996001453A1 (en) | 1994-07-01 | 1996-01-18 | Palm Computing, Inc. | Multiple pen stroke character set and handwriting recognition system |
CN1116335A (zh) | 1994-11-02 | 1996-02-07 | 北京振中电子集团 | 一种利用笔写屏技术的汉字输入系统 |
CA2178959C (en) | 1994-11-14 | 2000-05-16 | Kenneth J. Guzik | Method of splitting handwritten input |
JP2845149B2 (ja) | 1994-12-28 | 1999-01-13 | 日本電気株式会社 | 手書文字入力装置および手書文字入力方法 |
US5745719A (en) | 1995-01-19 | 1998-04-28 | Falcon; Fernando D. | Commands functions invoked from movement of a control input device |
US5847697A (en) * | 1995-01-31 | 1998-12-08 | Fujitsu Limited | Single-handed keyboard having keys with multiple characters and character ambiguity resolution logic |
US5805911A (en) | 1995-02-01 | 1998-09-08 | Microsoft Corporation | Word prediction system |
US5893073A (en) | 1995-02-27 | 1999-04-06 | Sun Microsystems, Inc. | Method and apparatus for representing recurring events |
US5748512A (en) * | 1995-02-28 | 1998-05-05 | Microsoft Corporation | Adjusting keyboard |
US5786776A (en) * | 1995-03-13 | 1998-07-28 | Kabushiki Kaisha Toshiba | Character input terminal device and recording apparatus |
US6392640B1 (en) | 1995-04-18 | 2002-05-21 | Cognitive Research & Design Corp. | Entry of words with thumbwheel by disambiguation |
CN1144354A (zh) | 1995-04-25 | 1997-03-05 | 齐兰发展股份有限公司 | 增强的字符录入系统 |
US6496182B1 (en) | 1995-06-07 | 2002-12-17 | Microsoft Corporation | Method and system for providing touch-sensitive screens for the visually impaired |
US5798760A (en) | 1995-06-07 | 1998-08-25 | Vayda; Mark | Radial graphical menuing system with concentric region menuing |
US5748177A (en) * | 1995-06-07 | 1998-05-05 | Semantic Compaction Systems | Dynamic keyboard and method for dynamically redefining keys on a keyboard |
US6044165A (en) | 1995-06-15 | 2000-03-28 | California Institute Of Technology | Apparatus and method for tracking handwriting from visual input |
WO1997005541A1 (en) | 1995-07-26 | 1997-02-13 | King Martin T | Reduced keyboard disambiguating system |
US5818437A (en) * | 1995-07-26 | 1998-10-06 | Tegic Communications, Inc. | Reduced keyboard disambiguating computer |
US5675361A (en) * | 1995-08-23 | 1997-10-07 | Santilli; Donald S. | Computer keyboard pointing device |
US6041137A (en) | 1995-08-25 | 2000-03-21 | Microsoft Corporation | Radical definition and dictionary creation for a handwriting recognition system |
US6278445B1 (en) | 1995-08-31 | 2001-08-21 | Canon Kabushiki Kaisha | Coordinate input device and method having first and second sampling devices which sample input data at staggered intervals |
JPH0981320A (ja) * | 1995-09-20 | 1997-03-28 | Matsushita Electric Ind Co Ltd | ペン入力式選択入力装置及びその方法 |
CA2162188C (en) | 1995-11-06 | 1999-05-25 | Harold Jeffrey Gartner | Location transparency of distributed objects over multiple middlewares |
US5706431A (en) | 1995-12-29 | 1998-01-06 | At&T | System and method for distributively propagating revisions through a communications network |
US5917889A (en) * | 1995-12-29 | 1999-06-29 | At&T Corp | Capture of alphabetic or alphanumeric character strings in an automated call processing environment |
US5754173A (en) | 1996-02-28 | 1998-05-19 | Sun Microsystems, Inc. | Method and system for creating user interface independent programs with a user interface provider |
US5862325A (en) | 1996-02-29 | 1999-01-19 | Intermind Corporation | Computer-based communication system and method using metadata defining a control structure |
US5855006A (en) | 1996-03-01 | 1998-12-29 | Humware | Personal activity scheduling apparatus |
US6098034A (en) | 1996-03-18 | 2000-08-01 | Expert Ease Development, Ltd. | Method for standardizing phrasing in a document |
US5828999A (en) * | 1996-05-06 | 1998-10-27 | Apple Computer, Inc. | Method and system for deriving a large-span semantic language model for large-vocabulary recognition systems |
GB2313939B (en) * | 1996-06-03 | 2000-09-13 | Ibm | Word processing |
JPH09325939A (ja) | 1996-06-05 | 1997-12-16 | Hitachi Ltd | エージェント機能を備えるグループウェアシステム |
US5813013A (en) | 1996-06-06 | 1998-09-22 | Microsoft Corporation | Representing recurring events |
US5796867A (en) | 1996-06-12 | 1998-08-18 | Industrial Technology Research Institute | Stroke-number-free and stroke-order-free on-line Chinese character recognition method |
GB2314433A (en) * | 1996-06-22 | 1997-12-24 | Xerox Corp | Finding and modifying strings of a regular language in a text |
US6054990A (en) * | 1996-07-05 | 2000-04-25 | Tran; Bao Q. | Computer system with handwriting annotation |
US5802460A (en) * | 1996-07-22 | 1998-09-01 | Sony Corporation | Telephone handset with remote controller for transferring information to a wireless messaging device |
US5937420A (en) * | 1996-07-23 | 1999-08-10 | Adobe Systems Incorporated | Pointsize-variable character spacing |
US5931878A (en) | 1996-08-09 | 1999-08-03 | Mindersoft, Inc. | Computerized prompting systems |
US6016478A (en) | 1996-08-13 | 2000-01-18 | Starfish Software, Inc. | Scheduling system with methods for peer-to-peer scheduling of remote users |
US5664896A (en) | 1996-08-29 | 1997-09-09 | Blumberg; Marvin R. | Speed typing apparatus and method |
US5812657A (en) * | 1996-09-05 | 1998-09-22 | Nynex Science & Technology, Inc. | Telephone number data input methods and apparatus |
US5882517A (en) | 1996-09-10 | 1999-03-16 | Cuno Incorporated | Porous structures |
US5917476A (en) | 1996-09-24 | 1999-06-29 | Czerniecki; George V. | Cursor feedback text input method |
US6049801A (en) | 1996-10-07 | 2000-04-11 | Whitmyer, Jr.; Wesley W. | Web site providing professional services |
US5983200A (en) | 1996-10-09 | 1999-11-09 | Slotznick; Benjamin | Intelligent agent for executing delegated tasks |
KR100318573B1 (ko) | 1996-10-16 | 2001-12-28 | 마찌다 가쯔히꼬 | 문자 입력 장치 및 문자 입력 프로그램을 기억한 기록 매체 |
US6275611B1 (en) | 1996-10-17 | 2001-08-14 | Motorola, Inc. | Handwriting recognition device, method and alphabet, with strokes grouped into stroke sub-structures |
JPH10135399A (ja) | 1996-10-31 | 1998-05-22 | Hitachi Ltd | 半導体装置およびその製造方法並びにそれに使用されるリードフレーム |
JP2891949B2 (ja) * | 1996-11-06 | 1999-05-17 | 米沢日本電気株式会社 | キーボードレス・コンピュータ |
US6166739A (en) | 1996-11-07 | 2000-12-26 | Natrificial, Llc | Method and apparatus for organizing and processing information using a digital computer |
US5926566A (en) | 1996-11-15 | 1999-07-20 | Synaptics, Inc. | Incremental ideographic character input method |
US6052130A (en) * | 1996-11-20 | 2000-04-18 | International Business Machines Corporation | Data processing system and method for scaling a realistic object on a user interface |
US5952942A (en) * | 1996-11-21 | 1999-09-14 | Motorola, Inc. | Method and device for input of text messages from a keypad |
JPH10154144A (ja) * | 1996-11-25 | 1998-06-09 | Sony Corp | 文章入力装置及び方法 |
US5950010A (en) | 1996-11-25 | 1999-09-07 | J.D. Edwards World Source Co. | System and method for customized application package building and installation |
US6081262A (en) | 1996-12-04 | 2000-06-27 | Quark, Inc. | Method and apparatus for generating multi-media presentations |
US6157935A (en) | 1996-12-17 | 2000-12-05 | Tran; Bao Q. | Remote data access and management system |
US6047297A (en) | 1997-01-13 | 2000-04-04 | Microsoft Corporation | Method and system for editing actual work records |
US5953541A (en) | 1997-01-24 | 1999-09-14 | Tegic Communications, Inc. | Disambiguating system for disambiguating ambiguous input sequences by displaying objects associated with the generated input sequences in the order of decreasing frequency of use |
EP1016021A4 (en) * | 1997-01-27 | 2004-05-19 | Benjamin Slotznick | SYSTEM FOR DELIVERING AND SIMULTANEOUSLY PLAYING PRIMARY AND SECONDARY INFORMATION AND FOR PLAYING ONLY SECONDARY INFORMATION DURING THE INTERSTITIAL TIME |
US6029171A (en) | 1997-02-10 | 2000-02-22 | Actioneer, Inc. | Method and apparatus for group action processing between users of a collaboration system |
US7146381B1 (en) | 1997-02-10 | 2006-12-05 | Actioneer, Inc. | Information organization and collaboration tool for processing notes and action requests in computer systems |
US6026410A (en) | 1997-02-10 | 2000-02-15 | Actioneer, Inc. | Information organization and collaboration tool for processing notes and action requests in computer systems |
US6144378A (en) | 1997-02-11 | 2000-11-07 | Microsoft Corporation | Symbol entry system and methods |
US6111573A (en) * | 1997-02-14 | 2000-08-29 | Velocity.Com, Inc. | Device independent window and view system |
US6009444A (en) * | 1997-02-24 | 1999-12-28 | Motorola, Inc. | Text input device and method |
US6005495A (en) * | 1997-02-27 | 1999-12-21 | Ameritech Corporation | Method and system for intelligent text entry on a numeric keypad |
US5948066A (en) | 1997-03-13 | 1999-09-07 | Motorola, Inc. | System and method for delivery of information over narrow-band communications links |
JPH10275046A (ja) * | 1997-03-31 | 1998-10-13 | Toshiba Corp | 単語入力装置及び方法 |
US6023714A (en) | 1997-04-24 | 2000-02-08 | Microsoft Corporation | Method and system for dynamically adapting the layout of a document to an output device |
US5937160A (en) | 1997-05-01 | 1999-08-10 | Reedy Creek Technologies, Inc. | Systems, methods and computer program products for updating hypertext documents via electronic mail |
US6054941A (en) * | 1997-05-27 | 2000-04-25 | Motorola, Inc. | Apparatus and method for inputting ideographic characters |
US6047260A (en) | 1997-06-05 | 2000-04-04 | Attention Control Systems, Inc. | Intelligent planning and calendaring system with cueing feature and floating tasks |
JP4098880B2 (ja) | 1997-06-06 | 2008-06-11 | 松下電器産業株式会社 | 情報検索装置 |
US6320943B1 (en) * | 1997-06-12 | 2001-11-20 | Legerity, Inc. | Electronic directory system and method |
JPH1121274A (ja) | 1997-07-01 | 1999-01-26 | Nippon Soda Co Ltd | ベンゾイルシクロヘキサンジオン誘導体および除草剤 |
US6144764A (en) | 1997-07-02 | 2000-11-07 | Mitsui High-Tec, Inc. | Method and apparatus for on-line handwritten input character recognition and recording medium for executing the method |
JPH1128406A (ja) | 1997-07-11 | 1999-02-02 | Matsushita Electric Ind Co Ltd | 粘性体塗布装置 |
CA2210755C (en) | 1997-07-17 | 2003-12-23 | Ibm Canada Limited - Ibm Canada Limitee | Creating proxies for distribution of beans and event objects |
JPH11102414A (ja) | 1997-07-25 | 1999-04-13 | Kuraritec Corp | ヒートマップを用いて光学式文字認識の訂正を行うための方法および装置、並びに、ocr出力の誤りを発見するための一連の命令を記録したコンピュータ読み取り可能な記録媒体 |
US6232970B1 (en) | 1997-08-04 | 2001-05-15 | Starfish Software, Inc. | User interface methodology supporting light data entry for microprocessor device having limited user input |
US6141011A (en) | 1997-08-04 | 2000-10-31 | Starfish Software, Inc. | User interface methodology supporting light data entry for microprocessor device having limited user input |
US6018708A (en) | 1997-08-26 | 2000-01-25 | Nortel Networks Corporation | Method and apparatus for performing speech recognition utilizing a supplementary lexicon of frequently used orthographies |
US6104384A (en) | 1997-09-12 | 2000-08-15 | Ericsson, Inc. | Image based keyboard for a small computing device |
PT1018069E (pt) | 1997-09-25 | 2002-12-31 | Tegic Communications Inc | Sistema de resolucao de ambiguidade para teclado reduzido |
US6075992A (en) | 1997-10-22 | 2000-06-13 | Ericsson Inc. | Apparatus and method for automatically handling initiation of a call by a portable intelligent communications device |
US5896321A (en) | 1997-11-14 | 1999-04-20 | Microsoft Corporation | Text completion system for a miniature computer |
US6788315B1 (en) | 1997-11-17 | 2004-09-07 | Fujitsu Limited | Platform independent computer network manager |
US5999179A (en) | 1997-11-17 | 1999-12-07 | Fujitsu Limited | Platform independent computer network management client |
US6167441A (en) | 1997-11-21 | 2000-12-26 | International Business Machines Corporation | Customization of web pages based on requester type |
JP4074431B2 (ja) * | 1997-12-16 | 2008-04-09 | マイクロソフト コーポレーション | ソフト入力パネルシステムおよび方法 |
US5960406A (en) | 1998-01-22 | 1999-09-28 | Ecal, Corp. | Scheduling system for use between users on the web |
US7257528B1 (en) * | 1998-02-13 | 2007-08-14 | Zi Corporation Of Canada, Inc. | Method and apparatus for Chinese character text input |
US6012098A (en) | 1998-02-23 | 2000-01-04 | International Business Machines Corp. | Servlet pairing for isolation of the retrieval and rendering of data |
WO1999044212A1 (en) * | 1998-02-25 | 1999-09-02 | Tso Kevin H K | Alphanumerical data input device using multiple input keys |
US6104317A (en) | 1998-02-27 | 2000-08-15 | Motorola, Inc. | Data entry device and method |
US6037942A (en) | 1998-03-10 | 2000-03-14 | Magellan Dis, Inc. | Navigation system character input device |
JP3218007B2 (ja) | 1998-03-20 | 2001-10-15 | 富士通株式会社 | インデックスの管理装置,更新方法及び管理方法並びにコンピュータ読取可能な記憶媒体 |
US6448987B1 (en) | 1998-04-03 | 2002-09-10 | Intertainer, Inc. | Graphic user interface for a digital content delivery system using circular menus |
US6215485B1 (en) * | 1998-04-03 | 2001-04-10 | Avid Technology, Inc. | Storing effects descriptions from a nonlinear editor using field chart and/or pixel coordinate data for use by a compositor |
US6081786A (en) | 1998-04-03 | 2000-06-27 | Triangle Pharmaceuticals, Inc. | Systems, methods and computer program products for guiding the selection of therapeutic treatment regimens |
US6313841B1 (en) * | 1998-04-13 | 2001-11-06 | Terarecon, Inc. | Parallel volume rendering system with a resampling module for parallel and perspective projections |
CN1156741C (zh) | 1998-04-16 | 2004-07-07 | 国际商业机器公司 | 手写汉字识别方法及装置 |
US6247048B1 (en) | 1998-04-30 | 2001-06-12 | Openwave Systems Inc | Method and apparatus for transcoding character sets between internet hosts and thin client devices over data networks |
US6040829A (en) | 1998-05-13 | 2000-03-21 | Croy; Clemens | Personal navigator system |
US20050120870A1 (en) | 1998-05-15 | 2005-06-09 | Ludwig Lester F. | Envelope-controlled dynamic layering of audio signal processing and synthesis for music applications |
US6157379A (en) | 1998-05-21 | 2000-12-05 | Ericsson Inc. | Apparatus and method of formatting a list for display on a touchscreen |
JPH11338858A (ja) | 1998-05-22 | 1999-12-10 | Toshiba Corp | 入力予測装置、入力予測方法及び入力予測プログラムを記録した記録媒体 |
US6245348B1 (en) * | 1998-05-26 | 2001-06-12 | Timothy Williams | Topical, therapeutic composition for external use and method of treatment |
US6424983B1 (en) * | 1998-05-26 | 2002-07-23 | Global Information Research And Technologies, Llc | Spelling and grammar checking system |
JP3481136B2 (ja) | 1998-05-29 | 2003-12-22 | シャープ株式会社 | 文字フォント生成方法およびそのための装置ならびに文字フォント生成プログラムを記録したコンピュータで読取可能な記録媒体 |
US6253326B1 (en) | 1998-05-29 | 2001-06-26 | Palm, Inc. | Method and system for secure communications |
US6898569B1 (en) | 1998-06-02 | 2005-05-24 | At&T Corp. | Method and apparatus for advanced scheduling and messaging system |
JPH11345000A (ja) | 1998-06-03 | 1999-12-14 | Nec Corp | 雑音消去方法及び雑音消去装置 |
JP3191284B2 (ja) | 1998-06-23 | 2001-07-23 | 日本電気株式会社 | 文字入力装置 |
US6300947B1 (en) | 1998-07-06 | 2001-10-09 | International Business Machines Corporation | Display screen and window size related web page adaptation system |
US6157958A (en) * | 1998-07-31 | 2000-12-05 | Qubit, Llc | Modular tablet computer system |
US6088649A (en) | 1998-08-05 | 2000-07-11 | Visteon Technologies, Llc | Methods and apparatus for selecting a destination in a vehicle navigation system |
US6075469A (en) | 1998-08-11 | 2000-06-13 | Pong; Gim Yee | Three stroke Chinese character word processing techniques and apparatus |
US6169538B1 (en) * | 1998-08-13 | 2001-01-02 | Motorola, Inc. | Method and apparatus for implementing a graphical user interface keyboard and a text buffer on electronic devices |
SE514377C2 (sv) * | 1998-08-26 | 2001-02-19 | Gunnar Sparr | Teckenigenkänning |
WO2000014622A1 (fr) | 1998-09-09 | 2000-03-16 | Qi Hao | Clavier et procede de saisie correspondant |
US6741267B1 (en) | 1998-10-30 | 2004-05-25 | Smart Technologies, Inc. | Keyboard for an electronic writeboard and method |
US7720682B2 (en) | 1998-12-04 | 2010-05-18 | Tegic Communications, Inc. | Method and apparatus utilizing voice input to resolve ambiguous manually entered text input |
US8938688B2 (en) * | 1998-12-04 | 2015-01-20 | Nuance Communications, Inc. | Contextual prediction of user words and user actions |
US6646573B1 (en) * | 1998-12-04 | 2003-11-11 | America Online, Inc. | Reduced keyboard text input system for the Japanese language |
US7386586B1 (en) | 1998-12-22 | 2008-06-10 | Computer Associates Think, Inc. | System for scheduling and monitoring computer processes |
US6362752B1 (en) * | 1998-12-23 | 2002-03-26 | Motorola, Inc. | Keypad with strokes assigned to key for ideographic text input |
FI110216B (fi) | 1998-12-29 | 2002-12-13 | Nokia Corp | Menetelmä ja laite syötetyn tekstin muokkaamiseksi |
US6801659B1 (en) * | 1999-01-04 | 2004-10-05 | Zi Technology Corporation Ltd. | Text input system for ideographic and nonideographic languages |
GB2347247A (en) * | 1999-02-22 | 2000-08-30 | Nokia Mobile Phones Ltd | Communication terminal with predictive editor |
GB2388938B (en) * | 1999-02-22 | 2004-03-17 | Nokia Corp | A communication terminal having a predictive editor application |
GB2347240A (en) * | 1999-02-22 | 2000-08-30 | Nokia Mobile Phones Ltd | Communication terminal having a predictive editor application |
US7293231B1 (en) * | 1999-03-18 | 2007-11-06 | British Columbia Ltd. | Data entry for personal computing devices |
WO2000057338A1 (en) | 1999-03-25 | 2000-09-28 | Final Thoughts.Com, Inc | Posthumous communication |
US6765567B1 (en) * | 1999-04-06 | 2004-07-20 | Microsoft Corporation | Method and apparatus for providing and accessing hidden tool spaces |
US6549219B2 (en) | 1999-04-09 | 2003-04-15 | International Business Machines Corporation | Pie menu graphical user interface |
US6204848B1 (en) * | 1999-04-14 | 2001-03-20 | Motorola, Inc. | Data entry apparatus having a limited number of character keys and method |
US20030006956A1 (en) | 1999-05-24 | 2003-01-09 | Charles Yimin Wu | Data entry device recording input in two dimensions |
US7750891B2 (en) | 2003-04-09 | 2010-07-06 | Tegic Communications, Inc. | Selective input system based on tracking of motion parameters of an input device |
US7821503B2 (en) | 2003-04-09 | 2010-10-26 | Tegic Communications, Inc. | Touch screen and graphical user interface |
JP4392089B2 (ja) | 1999-05-27 | 2009-12-24 | 株式会社デンソー | ニューロン、当該ニューロンを用いて構成された階層型ニューラルネットワーク及び当該ニューロン内部での乗算処理に用いられる乗算回路 |
US7286115B2 (en) | 2000-05-26 | 2007-10-23 | Tegic Communications, Inc. | Directional input system with automatic correction |
US6970599B2 (en) | 2002-07-25 | 2005-11-29 | America Online, Inc. | Chinese character handwriting recognition system |
US7030863B2 (en) | 2000-05-26 | 2006-04-18 | America Online, Incorporated | Virtual keyboard system with automatic correction |
CA2392446C (en) * | 1999-05-27 | 2009-07-14 | America Online Incorporated | Keyboard system with automatic correction |
US7523385B2 (en) | 1999-06-22 | 2009-04-21 | Starcite, Inc. | System and method for enterprise event marketing and management automation |
US6681110B1 (en) | 1999-07-02 | 2004-01-20 | Musco Corporation | Means and apparatus for control of remote electrical devices |
US6172625B1 (en) | 1999-07-06 | 2001-01-09 | Motorola, Inc. | Disambiguation method and apparatus, and dictionary data compression techniques |
JP3702414B2 (ja) * | 1999-08-11 | 2005-10-05 | 株式会社日立製作所 | 情報検索支援方法、コンピュータ読み取り可能な記憶媒体および情報検索装置 |
FI112978B (fi) | 1999-09-17 | 2004-02-13 | Nokia Corp | Symbolien syöttö |
US6850644B1 (en) | 1999-10-01 | 2005-02-01 | Samsung Electronics Co., Ltd. | Method for analyzing texture of digital image |
AU780674B2 (en) * | 1999-10-27 | 2005-04-07 | Keyless Systems Ltd. | Integrated keypad system |
US7403888B1 (en) * | 1999-11-05 | 2008-07-22 | Microsoft Corporation | Language input user interface |
US6424743B1 (en) * | 1999-11-05 | 2002-07-23 | Motorola, Inc. | Graphical handwriting recognition user interface |
US7275029B1 (en) * | 1999-11-05 | 2007-09-25 | Microsoft Corporation | System and method for joint optimization of language model performance and size |
US6904402B1 (en) * | 1999-11-05 | 2005-06-07 | Microsoft Corporation | System and iterative method for lexicon, segmentation and language model joint optimization |
US20020065890A1 (en) | 1999-12-03 | 2002-05-30 | Ira Barron | Internet based automated outbound message delivery method and system |
US6829746B1 (en) | 1999-12-09 | 2004-12-07 | International Business Machines Corp. | Electronic document delivery system employing distributed document object model (DOM) based transcoding |
US6812941B1 (en) | 1999-12-09 | 2004-11-02 | International Business Machines Corp. | User interface management through view depth |
US6654733B1 (en) | 2000-01-18 | 2003-11-25 | Microsoft Corporation | Fuzzy keyboard |
JP2001282778A (ja) | 2000-03-29 | 2001-10-12 | Sony Corp | 情報処理装置および方法、並びに記録媒体 |
JP2001291060A (ja) | 2000-04-04 | 2001-10-19 | Toshiba Corp | 単語列照合装置および単語列照合方法 |
US6829607B1 (en) | 2000-04-24 | 2004-12-07 | Microsoft Corporation | System and method for facilitating user input by automatically providing dynamically generated completion information |
US7107204B1 (en) * | 2000-04-24 | 2006-09-12 | Microsoft Corporation | Computer-aided writing system and method with cross-language writing wizard |
US20010048425A1 (en) | 2000-04-28 | 2001-12-06 | Partridge Gary R. | Device or component for alphanumeric and direction input |
ES2258972T3 (es) * | 2000-05-16 | 2006-09-16 | Swisscom Mobile Ag | Procedimiento y terminal para entrar instrucciones. |
US6611252B1 (en) | 2000-05-17 | 2003-08-26 | Dufaux Douglas P. | Virtual data input device |
WO2001088683A1 (en) * | 2000-05-18 | 2001-11-22 | Eleksen Ltd | Data input device |
KR20010107388A (ko) | 2000-05-27 | 2001-12-07 | 강원희 | 사용 선호도와 입력문자에 근거한 휴대용 전자기기의단어입력방법 |
GB2364493B (en) | 2000-06-30 | 2004-11-10 | Nokia Mobile Phones Ltd | Improved data input |
KR200207298Y1 (ko) | 2000-07-05 | 2000-12-15 | 이동선 | 문자 입력 키보드 |
TW498264B (en) | 2000-07-14 | 2002-08-11 | Inventec Corp | Input correction method and system for Chinese characters |
US7177797B1 (en) * | 2000-08-31 | 2007-02-13 | Semantic Compaction Systems | Linguistic retrieval system and method |
US6686852B1 (en) * | 2000-09-15 | 2004-02-03 | Motorola, Inc. | Keypad layout for alphabetic character input |
CN1440521A (zh) | 2000-10-08 | 2003-09-03 | 皇家菲利浦电子有限公司 | 电子日历系统中组织和显示消息和期限信息的方法 |
FI113094B (fi) * | 2000-12-15 | 2004-02-27 | Nokia Corp | Parannettu menetelmä ja järjestely toiminnon aikaansaamiseksi elektronisessa laitteessa ja elektroninen laite |
CN1121004C (zh) | 2000-12-21 | 2003-09-10 | 国际商业机器公司 | 用于小键盘的汉字输入方法 |
SE521911C2 (sv) * | 2001-01-15 | 2003-12-16 | Decuma Ab Ideon Res Park | Metod, anordning och datorprogram för igenkänning av ett handskrivet tecken |
GB0103053D0 (en) | 2001-02-07 | 2001-03-21 | Nokia Mobile Phones Ltd | A communication terminal having a predictive text editor application |
US20030234766A1 (en) | 2001-02-15 | 2003-12-25 | Hildebrand Alfred P. | Virtual image display with virtual keyboard |
US7076738B2 (en) | 2001-03-02 | 2006-07-11 | Semantic Compaction Systems | Computer device, method and article of manufacture for utilizing sequenced symbols to enable programmed application and commands |
SE519014C2 (sv) * | 2001-03-07 | 2002-12-23 | Decuma Ab Ideon Res Park | Metod och anordning för igenkänning av ett handskrivet mönster |
US7302634B2 (en) | 2001-03-14 | 2007-11-27 | Microsoft Corporation | Schema-based services for identity-based data access |
US20030041076A1 (en) | 2001-03-14 | 2003-02-27 | Lucovsky Mark H. | Schema-based services for identity-based access to calendar data |
CN1375759A (zh) | 2001-03-21 | 2002-10-23 | 宋硕昌 | 无键键盘输入定标器 |
US6982658B2 (en) * | 2001-03-22 | 2006-01-03 | Motorola, Inc. | Keypad layout for alphabetic symbol input |
US6502118B1 (en) * | 2001-03-22 | 2002-12-31 | Motorola, Inc. | Fast system and method for producing a logarithmic signal approximation with variable precision |
EP1246048A1 (en) | 2001-03-26 | 2002-10-02 | SAP Aktiengesellschaft | Method and computer system for executing functions for objects based on the movement of an input device |
US7385591B2 (en) | 2001-03-31 | 2008-06-10 | Microsoft Corporation | Out-of-vocabulary word determination and user interface for text input via reduced keypad keys |
US7117144B2 (en) | 2001-03-31 | 2006-10-03 | Microsoft Corporation | Spell checking for text input via reduced keypad keys |
US6696985B2 (en) * | 2001-04-24 | 2004-02-24 | International Business Machines Corporation | Reformable keyboard with variable key design |
GB0111012D0 (en) * | 2001-05-04 | 2001-06-27 | Nokia Corp | A communication terminal having a predictive text editor application |
FR2824979B1 (fr) | 2001-05-15 | 2005-03-11 | Sagem | Clavier circulaire pour telephone mobile |
US20030023426A1 (en) * | 2001-06-22 | 2003-01-30 | Zi Technology Corporation Ltd. | Japanese language entry mechanism for small keypads |
US6801604B2 (en) | 2001-06-25 | 2004-10-05 | International Business Machines Corporation | Universal IP-based and scalable architectures across conversational applications using web services for speech and audio processing resources |
AU2001286697A1 (en) | 2001-07-16 | 2003-03-03 | America Online Incorporated | Method and apparatus for calendaring reminders |
US6990534B2 (en) | 2001-07-20 | 2006-01-24 | Flowfinity Wireless, Inc. | Method for a proactive browser system for implementing background frame maintenance and asynchronous frame submissions |
US7305441B2 (en) | 2001-07-20 | 2007-12-04 | International Business Machines Corporation | Time-sensitive messages and events |
US6947771B2 (en) * | 2001-08-06 | 2005-09-20 | Motorola, Inc. | User interface for a portable electronic device |
AUPR687701A0 (en) | 2001-08-08 | 2001-08-30 | Litster, Gregory John | Method of and apparatus for selecting symbols in ideographic languages |
US6820075B2 (en) | 2001-08-13 | 2004-11-16 | Xerox Corporation | Document-centric system with auto-completion |
US6757544B2 (en) * | 2001-08-15 | 2004-06-29 | Motorola, Inc. | System and method for determining a location relevant to a communication device and/or its associated user |
US7164367B2 (en) | 2001-08-30 | 2007-01-16 | America Online, Inc. | Component-based, adaptive stroke-order system |
US20030054830A1 (en) * | 2001-09-04 | 2003-03-20 | Zi Corporation | Navigation system for mobile communication devices |
US20030048257A1 (en) | 2001-09-06 | 2003-03-13 | Nokia Mobile Phones Ltd. | Telephone set having a touch pad device |
US6807631B2 (en) | 2001-11-16 | 2004-10-19 | National Instruments Corporation | System and method for deploying a hardware configuration with a computer program |
US7149550B2 (en) * | 2001-11-27 | 2006-12-12 | Nokia Corporation | Communication terminal having a text editor application with a word completion feature |
US7075520B2 (en) * | 2001-12-12 | 2006-07-11 | Zi Technology Corporation Ltd | Key press disambiguation using a keypad of multidirectional keys |
US7949513B2 (en) * | 2002-01-22 | 2011-05-24 | Zi Corporation Of Canada, Inc. | Language module and method for use with text processing devices |
US6912581B2 (en) * | 2002-02-27 | 2005-06-28 | Motorola, Inc. | System and method for concurrent multimodal communication session persistence |
US6807529B2 (en) | 2002-02-27 | 2004-10-19 | Motorola, Inc. | System and method for concurrent multimodal communication |
US6864809B2 (en) * | 2002-02-28 | 2005-03-08 | Zi Technology Corporation Ltd | Korean language predictive mechanism for text entry by a user |
US7272564B2 (en) * | 2002-03-22 | 2007-09-18 | Motorola, Inc. | Method and apparatus for multimodal communication with user control of delivery modality |
JP4369245B2 (ja) * | 2002-03-22 | 2009-11-18 | ソニー エリクソン モバイル コミュニケーションズ, エービー | 携帯電話装置及びテキストを入力する方法 |
US6847311B2 (en) | 2002-03-28 | 2005-01-25 | Motorola Inc. | Method and apparatus for character entry in a wireless communication device |
EP1355225A1 (en) | 2002-04-15 | 2003-10-22 | TELEFONAKTIEBOLAGET LM ERICSSON (publ) | Method and device for inputting chinese characters on a hand-held electronic device |
US7020849B1 (en) * | 2002-05-31 | 2006-03-28 | Openwave Systems Inc. | Dynamic display for communication devices |
US7444297B2 (en) | 2002-06-13 | 2008-10-28 | Aol Llc, A Delaware Limited Liability Company | Method and medium for associating a wish list with buddy list screen name |
US7113950B2 (en) | 2002-06-27 | 2006-09-26 | Microsoft Corporation | Automated error checking system and method |
US7162305B2 (en) * | 2002-10-23 | 2007-01-09 | The Hong Kong Polytechnic University | Functional electrical stimulation system |
US7095403B2 (en) | 2002-12-09 | 2006-08-22 | Motorola, Inc. | User interface of a keypad entry system for character input |
US20040163032A1 (en) * | 2002-12-17 | 2004-08-19 | Jin Guo | Ambiguity resolution for predictive text entry |
US7547380B2 (en) * | 2003-01-13 | 2009-06-16 | North Carolina State University | Droplet transportation devices and methods having a fluid surface |
US7453439B1 (en) | 2003-01-16 | 2008-11-18 | Forward Input Inc. | System and method for continuous stroke word-based text input |
US7382358B2 (en) | 2003-01-16 | 2008-06-03 | Forword Input, Inc. | System and method for continuous stroke word-based text input |
US20040153963A1 (en) * | 2003-02-05 | 2004-08-05 | Simpson Todd G. | Information entry mechanism for small keypads |
US20040153975A1 (en) * | 2003-02-05 | 2004-08-05 | Williams Roland E. | Text entry mechanism for small keypads |
US7013732B2 (en) * | 2003-02-19 | 2006-03-21 | Sonix, Inc. | Method and apparatus for temperature-controlled ultrasonic inspection |
US7584173B2 (en) | 2003-02-24 | 2009-09-01 | Avaya Inc. | Edit distance string search |
US7256769B2 (en) * | 2003-02-24 | 2007-08-14 | Zi Corporation Of Canada, Inc. | System and method for text entry on a reduced keyboard |
US6955602B2 (en) * | 2003-05-15 | 2005-10-18 | Zi Technology Corporation Ltd | Text entry within a video game |
WO2004111871A1 (en) | 2003-06-18 | 2004-12-23 | Zi Corporation | Configurable information identification system and method |
TWI319537B (en) | 2003-06-18 | 2010-01-11 | Zi Corp Canada Inc | Text entry system and method |
US7296011B2 (en) | 2003-06-20 | 2007-11-13 | Microsoft Corporation | Efficient fuzzy match for evaluating data records |
US7057607B2 (en) * | 2003-06-30 | 2006-06-06 | Motorola, Inc. | Application-independent text entry for touch-sensitive display |
US20050027805A1 (en) | 2003-07-15 | 2005-02-03 | Aoki Norihiro Edwin | Instant messaging and enhanced scheduling |
US7088861B2 (en) | 2003-09-16 | 2006-08-08 | America Online, Inc. | System and method for chinese input using a joystick |
US7389235B2 (en) * | 2003-09-30 | 2008-06-17 | Motorola, Inc. | Method and system for unified speech and graphic user interfaces |
US6973332B2 (en) * | 2003-10-24 | 2005-12-06 | Motorola, Inc. | Apparatus and method for forming compound words |
US8136050B2 (en) * | 2003-11-21 | 2012-03-13 | Nuance Communications, Inc. | Electronic device and user interface and input method therefor |
US7848573B2 (en) | 2003-12-03 | 2010-12-07 | Microsoft Corporation | Scaled text replacement of ink |
US7283999B1 (en) | 2003-12-19 | 2007-10-16 | Ncr Corp. | Similarity string filtering |
US7904192B2 (en) | 2004-01-14 | 2011-03-08 | Agency For Science, Technology And Research | Finite capacity scheduling using job prioritization and machine selection |
US20050190970A1 (en) | 2004-02-27 | 2005-09-01 | Research In Motion Limited | Text input system for a mobile electronic device and methods thereof |
US7254774B2 (en) | 2004-03-16 | 2007-08-07 | Microsoft Corporation | Systems and methods for improved spell checking |
US20060176283A1 (en) | 2004-08-06 | 2006-08-10 | Daniel Suraqui | Finger activated reduced keyboard and a method for performing text input |
WO2006026908A1 (fr) | 2004-08-25 | 2006-03-16 | Dong Li | Procede permettant d'introduire dans un terminal portatif des caracteres chinois a l'aide de lettres phonetiques continues |
US7672543B2 (en) | 2005-08-23 | 2010-03-02 | Ricoh Co., Ltd. | Triggering applications based on a captured text in a mixed media environment |
US7890492B2 (en) | 2004-11-15 | 2011-02-15 | Zi Corporation Of Canada, Inc. | Organizing pointers to objects in an array to improve the speed of object retrieval |
US20060129928A1 (en) * | 2004-12-02 | 2006-06-15 | Weigen Qiu | Use of pointing device to identify ideographic characters |
EP1836564A4 (en) * | 2004-12-07 | 2011-07-27 | Nuance Communications Inc | USER INTERFACE WITH ADDED SEARCH PROPERTIES |
US20060155536A1 (en) * | 2004-12-20 | 2006-07-13 | Williams Roland E | Method and device for displaying a telephone number |
US7466859B2 (en) * | 2004-12-30 | 2008-12-16 | Motorola, Inc. | Candidate list enhancement for predictive text input in electronic devices |
RU2007135945A (ru) * | 2005-02-28 | 2009-04-10 | Зи Декума Аб (Se) | Граф распознавания |
KR101145986B1 (ko) * | 2005-02-28 | 2012-05-21 | 지 데쿠마 아베 | 세그먼트화-기반 인식 |
WO2006102227A2 (en) | 2005-03-19 | 2006-09-28 | Activeprime, Inc. | Systems and methods for manipulation of inexact semi-structured data |
US20060265359A1 (en) | 2005-05-18 | 2006-11-23 | Microsoft Corporation | Flexible data-bound user interfaces |
TWI416934B (zh) * | 2005-11-21 | 2013-11-21 | Zi Corp Canada Inc | 用於行動裝置之資訊傳遞系統及方法 |
US7689554B2 (en) | 2006-02-28 | 2010-03-30 | Yahoo! Inc. | System and method for identifying related queries for languages with multiple writing systems |
US8018439B2 (en) * | 2006-03-22 | 2011-09-13 | Zi Corporation Of Canada, Inc. | Mobile appliance system and method enabling efficient entry |
JP4872079B2 (ja) | 2006-05-19 | 2012-02-08 | 国立大学法人長岡技術科学大学 | 文章更新量評価プログラム |
US7558725B2 (en) | 2006-05-23 | 2009-07-07 | Lexisnexis, A Division Of Reed Elsevier Inc. | Method and apparatus for multilingual spelling corrections |
US8166418B2 (en) * | 2006-05-26 | 2012-04-24 | Zi Corporation Of Canada, Inc. | Device and method of conveying meaning |
US20080133222A1 (en) | 2006-11-30 | 2008-06-05 | Yehuda Kogan | Spell checker for input of reduced keypad devices |
CN101611417B (zh) * | 2006-12-01 | 2012-07-04 | Zi德库玛股份公司 | 用于字符识别的方法 |
US7957955B2 (en) | 2007-01-05 | 2011-06-07 | Apple Inc. | Method and system for providing word recommendations for text input |
US8225203B2 (en) | 2007-02-01 | 2012-07-17 | Nuance Communications, Inc. | Spell-check for a keyboard system with automatic correction |
US8201087B2 (en) | 2007-02-01 | 2012-06-12 | Tegic Communications, Inc. | Spell-check for a keyboard system with automatic correction |
US8299943B2 (en) | 2007-05-22 | 2012-10-30 | Tegic Communications, Inc. | Multiple predictions in a reduced keyboard disambiguating system |
CA2689356A1 (en) | 2007-06-01 | 2008-12-11 | 454 Life Sciences Corporation | System and meth0d for identification of individual samples from a multiplex mixture |
US8065624B2 (en) | 2007-06-28 | 2011-11-22 | Panasonic Corporation | Virtual keypad systems and methods |
US20090037399A1 (en) | 2007-07-31 | 2009-02-05 | Yahoo! Inc. | System and Method for Determining Semantically Related Terms |
US8091023B2 (en) | 2007-09-28 | 2012-01-03 | Research In Motion Limited | Handheld electronic device and associated method enabling spell checking in a text disambiguation environment |
US7911944B2 (en) | 2007-12-26 | 2011-03-22 | Nortel Networks Limited | Tie-breaking in shortest path determination |
US8180641B2 (en) | 2008-09-29 | 2012-05-15 | Microsoft Corporation | Sequential speech recognition with two unequal ASR systems |
US20100325136A1 (en) | 2009-06-23 | 2010-12-23 | Microsoft Corporation | Error tolerant autocompletion |
US8949267B2 (en) | 2010-02-26 | 2015-02-03 | Rakuten, Inc. | Information processing device, information processing method, and recording medium that has recorded information processing program |
CN111937320B (zh) | 2018-02-15 | 2023-11-17 | 瑞典爱立信有限公司 | 无线通信装置、用于该装置的方法和布置、以及可读介质 |
-
2004
- 2004-12-20 US US11/019,517 patent/US7030863B2/en not_active Expired - Fee Related
- 2004-12-22 KR KR1020067014590A patent/KR101003879B1/ko not_active IP Right Cessation
- 2004-12-22 WO PCT/US2004/043329 patent/WO2005064587A2/en active Application Filing
- 2004-12-22 JP JP2006545610A patent/JP4527731B2/ja not_active Expired - Fee Related
- 2004-12-22 CN CNB2004800415358A patent/CN100472600C/zh active Active
- 2004-12-22 CA CA2550669A patent/CA2550669C/en not_active Expired - Fee Related
- 2004-12-22 EP EP04815408.2A patent/EP1700291B1/en not_active Not-in-force
-
2006
- 2006-04-17 US US11/379,006 patent/US20060274051A1/en not_active Abandoned
-
2009
- 2009-06-19 US US12/488,375 patent/US8441454B2/en not_active Expired - Fee Related
-
2010
- 2010-04-22 US US12/765,687 patent/US7920132B2/en not_active Expired - Fee Related
-
2011
- 2011-03-25 US US13/072,499 patent/US8570292B2/en not_active Expired - Fee Related
-
2013
- 2013-10-25 US US14/064,068 patent/US9400782B2/en not_active Expired - Lifetime
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101293863B1 (ko) * | 2011-06-29 | 2013-08-16 | 한양대학교 산학협력단 | 안정상태 시각유발전위를 이용한 qwerty 타입의 문자 입력 인터페이스 장치 및 문자 입력 방법 |
US10095405B2 (en) | 2013-02-05 | 2018-10-09 | Google Llc | Gesture keyboard input of non-dictionary character strings |
KR20230044566A (ko) * | 2014-06-24 | 2023-04-04 | 애플 인크. | 입력 디바이스 및 사용자 인터페이스 상호작용 |
US11966560B2 (en) | 2016-10-26 | 2024-04-23 | Apple Inc. | User interfaces for browsing content from multiple content applications on an electronic device |
KR101852774B1 (ko) * | 2017-01-16 | 2018-06-07 | 주식회사 유비케어 | 처방전 인식 오류 보정 방법 및 처방전 인식 오류 보정 시스템 |
US11354503B2 (en) | 2017-07-27 | 2022-06-07 | Samsung Electronics Co., Ltd. | Method for automatically providing gesture-based auto-complete suggestions and electronic device thereof |
US11962836B2 (en) | 2019-03-24 | 2024-04-16 | Apple Inc. | User interfaces for a media browsing application |
US11797606B2 (en) | 2019-05-31 | 2023-10-24 | Apple Inc. | User interfaces for a podcast browsing and playback application |
US11863837B2 (en) | 2019-05-31 | 2024-01-02 | Apple Inc. | Notification of augmented reality content on an electronic device |
US11843838B2 (en) | 2020-03-24 | 2023-12-12 | Apple Inc. | User interfaces for accessing episodes of a content series |
US11899895B2 (en) | 2020-06-21 | 2024-02-13 | Apple Inc. | User interfaces for setting up an electronic device |
US11934640B2 (en) | 2021-01-29 | 2024-03-19 | Apple Inc. | User interfaces for record labels |
Also Published As
Publication number | Publication date |
---|---|
US7030863B2 (en) | 2006-04-18 |
EP1700291B1 (en) | 2016-08-17 |
KR101003879B1 (ko) | 2010-12-30 |
JP4527731B2 (ja) | 2010-08-18 |
US20140052437A1 (en) | 2014-02-20 |
JP2007538299A (ja) | 2007-12-27 |
CA2550669A1 (en) | 2005-07-14 |
US20050169527A1 (en) | 2005-08-04 |
CN1954355A (zh) | 2007-04-25 |
WO2005064587A2 (en) | 2005-07-14 |
US20090284471A1 (en) | 2009-11-19 |
CA2550669C (en) | 2014-02-11 |
EP1700291A2 (en) | 2006-09-13 |
WO2005064587A3 (en) | 2005-09-15 |
WO2005064587A8 (en) | 2007-08-16 |
US20100257478A1 (en) | 2010-10-07 |
US9400782B2 (en) | 2016-07-26 |
CN100472600C (zh) | 2009-03-25 |
EP1700291A4 (en) | 2007-08-22 |
US7920132B2 (en) | 2011-04-05 |
US20060274051A1 (en) | 2006-12-07 |
US8441454B2 (en) | 2013-05-14 |
US20110234524A1 (en) | 2011-09-29 |
US8570292B2 (en) | 2013-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101003879B1 (ko) | 텍스트 입력 시스템 | |
US7880730B2 (en) | Keyboard system with automatic correction | |
US9557916B2 (en) | Keyboard system with automatic correction | |
US10156981B2 (en) | User-centric soft keyboard predictive technologies | |
KR101061317B1 (ko) | 알파벳 텍스트 입력 방법 및 장치 | |
KR20120107110A (ko) | 데이터입력 시스템 및 그 방법 | |
EP2264563A1 (en) | Virtual keyboard system with automatic correction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
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: 20131119 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20141126 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20151118 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20161209 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20171128 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |