KR101808377B1 - 소프트 키보드 인터페이스 - Google Patents
소프트 키보드 인터페이스 Download PDFInfo
- Publication number
- KR101808377B1 KR101808377B1 KR1020147006539A KR20147006539A KR101808377B1 KR 101808377 B1 KR101808377 B1 KR 101808377B1 KR 1020147006539 A KR1020147006539 A KR 1020147006539A KR 20147006539 A KR20147006539 A KR 20147006539A KR 101808377 B1 KR101808377 B1 KR 101808377B1
- Authority
- KR
- South Korea
- Prior art keywords
- key
- probability distribution
- soft keyboard
- probability
- distribution function
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/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
- G06F3/04895—Guidance during keyboard input operation, e.g. prompting
-
- 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/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Input From Keyboards Or The Like (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
컴퓨팅 디바이스의 성능에 대한 사용자 경험은, 운영 체제를 통해서, 소프트 키보드로부터의 입력을 처리하여, 타이핑 중에 사용자가 누르고자 했던 키를 정확하게 결정하는데 사용될 수 있는 정보를 제공함으로써 개선되고 있다. 검출된 각각의 탭(키 두드리기)에 대해서, 운영 체제는 하나 이상의 키가 사용자가 희망하였던 목표였는지의 확률을 제공한다. 이들 확률은 타이핑 속도 및 키보드 스타일 또는 레이아웃과 같은 사용자 및/또는 시스템 요인에 기초하여 동적으로 결정되는 확률 분포 함수로부터 계산될 수 있다. 다른 컴포넌트들은 의도된 사용자 입력을 나타내는 것으로서 검출된 키보드 탭에 대응하는 키를 선택하도록 확률을 사용할 수 있다. 상기 선택은 상기 확률 단독으로 또는 사용자가 특정 키를 목표로 하여 발생되는 검출된 탭(tap)인 전체 확률을 생성하는 문맥적 요인들과 조합되어 이루어질 수 있다.
Description
컴퓨팅 디바이스는 다양한 형태의 휴먼 인터페이스 디바이스를 형성하고 있다. 대부분의 컴퓨터는 사용자에게 시각적으로 정보를 표시하기 위한 몇 가지 형태의 디스플레이를 포함하고 있다. 또한, 대부분의 컴퓨터는 하나 이상의 사용자 입력 디바이스를 가지고 있다. 키보드 및 마우스는 데스크톱 컴퓨터에서 널리 사용되는 입력 디바이스이다.
이동성이 높은 컴퓨터를 위해서, 터치 감지식 디스플레이에 출력 및 입력 디바이스의 기능이 통합될 수 있다. 그와 같은 디스플레이는 전통적인 컴퓨터에서와 마찬가지로 출력을 표시할 수 있다. 또한, 스크린의 각 부분은 제어 기능과 관련되어 있을 수 있다. 사용자가 스크린 중의 지정된 부분을 터치하게 되면, 컴퓨터는 이 터치를 사용자 입력이 해당 제어를 활성화하라는 것으로 해석한다.
터치 감지식 디스플레이를 구비한 다수의 컴퓨터, 특히 사용자 입력을 수신하기 위한 별도의 키보드를 구비하지 않은 컴퓨터는 키보드를 표시하도록 제어될 수 있다. 사용자가 키 또는 키보드가 표시된 디스플레이 스크린을 누르게 되면 컴퓨터는 키가 눌렸을 때의 전통적인 키보드로부터의 신호를 해석하게 되는 것과 동일한 방식으로 검출된 입력을 해석한다. 이와 같은 방식으로 터치 감지식 디스플레이 상에 생성되는 키보드는 종종 "소프트 키보드"로 불리고 있다.
컴퓨팅 디바이스는 활성화되어 검출된 키보드가 사용자가 목표로 하는 키보드 상의 키를 나타내는 확률을 결정한다. 일부 실시예에 있어서, 키보드 부근에서의 터치 스크린의 검출된 활성화에 대해서, 키보드 입력으로서 후속하는 처리를 위해서 하나의 키와 각각 관련된 복수의 확률이 결정되고 보고될 수 있다. 확률은 소프트 키보드의 키와 관련되어 있는 확률 분포 함수에 기초하여 계산될 수 있다.
확률 분포 함수는 다양한 요인에 기초하여 결정될 수 있다. 요인들은 컴퓨팅 디바이스의 디자인 또는 표시되는 소프트 키보드의 파라미터와 관련될 수 있다. 대안적으로 또는 추가적으로, 확률 분포 함수를 결정함에 있어서 컴퓨팅 디바이스의 사용자와 관련된 요인들을 사용할 수도 있다. 사용 가능한 예시적인 요인으로는 타이핑 속도를 들 수 있으며, 이 타이핑 속도는 키 스트로크를 나타내는 탭이 검출되는 평균 속도로 나타내어질 수 있다.
일 특징에 있어서, 본 발명은 소프트 키보드를 갖는 컴퓨팅 디바이스의 조작 방법에 관련된다. 본 발명의 방법은 적어도 (i) 소프트 키보드와 사용자의 상호 작용, 또는 (ii) 소프트 키보드의 레이아웃 결정 중의 하나의 적어도 하나의 특징을 결정하는 단계를 포함한다. 소프트 키보드 상에서의 복수의 키 각각에 대해서, 확률 분포 함수는 적어도 하나의 결정된 특징에 기초하여 결정된다. 적어도 하나의 처리 회로를 사용하면서, 소프트 키보드를 통해서 수신된 입력에 반응하고 또한 확률 분포 함수에 기초하여, 복수의 키 중에서 사용자가 목표로 하는 키의 확률이 생성된다.
다른 특징에 있어서, 본 발명은 실행되었을 때 소프트 키보드로부터의 입력을 처리하는 컴퓨팅 디바이스 내의 컴포넌트를 조작하는 방법을 수행하는 컴퓨터로 실행 가능한 명령을 포함하는 적어도 하나의 컴퓨터 판독 가능 스토리지 매체에 관련된다. 컴포넌트는 소프트 키보드가 위치한 곳에서의 사용자에 의한 활성화 표시를 수신하고 출력을 제공한다. 출력은, 소프트 키보드 상에서의 복수의 키 각각에 대해서, 검출된 활성화가 사용자가 목표로 하는 키를 나타내는 확률을 포함한다.
또 다른 특징에 있어서, 본 발명은 디스플레이의 임의의 위치에서 사용자가 탭한 것을 표시하도록 제공되는 디스플레이를 구비한 컴퓨팅 디바이스에 관련된다. 컴퓨팅 디바이스는 또한 디스플레이의 임의의 영역에 소프트 키보드를 표시하도록 구성된 처리 회로를 포함하고 있다. 특정 영역 내의 사용자의 탭을 검출함에 있어서, 처리 회로는, 특정 위치에 인접한 적어도 하나의 키에 대해서, 사용자가 목표로 하는 키의 확률을 제공한다. 이 확률은 사용자의 타이핑 속도에 기초할 수도 있다.
이상의 설명은 본 발명을 제한하지 않는 요약부이며, 본 발명은 첨부한 특허청구범위에 의해서 한정된다.
첨부한 도면은 축척대로 도시되도록 의도되지 않는다. 도면에서, 다양한 도면에 나타낸 각각의 동일한 또는 거의 동일한 구성 요소는 동일한 도면 부호로 나타내어진다. 명확성을 위해서 모든 도면에서 모든 구성 요소에 대해서 도면 부호가 첨부되어 있지 않을 수도 있다.
도 1은 터치 스크린 상에 표시된 제 1 스타일의 소프트 키보드를 구비한 터치 스크린 컴퓨팅 디바이스의 약도이다.
도 2는 터치 스크린 상에 표시된 다른 스타일의 소프트 키보드를 구비한 도 1의 컴퓨팅 디바이스의 약도이다.
도 3은 터치 스크린 상에 표시된 또 다른 스타일의 소프트 키보드를 구비한 도 1의 컴퓨팅 디바이스의 약도이다.
도 4a 및 4b는 소프트 키보드 상의 키를 목표로 하도록 의도함을 나타내는 사용자 입력을 도시한 개념적인 약도이다.
도 5a 및 5b는 소프트 키보드 상의 목표 키에 상대적인 입력 위치의 확률 분포 함수를 나타내는 개념적인 약도이다.
도 6a 및 6b는 동적으로 결정된 요인에 기초하여 확률 분포 함수에서의 변화를 나타내는 개념적인 약도이다.
도 7a는 제 1 타이핑 속도에서의 소프트 키보드 상의 키와 관련된 확률 분포 함수의 개념적인 약도이다.
도 7b는 제 2의, 더 빠른 타이핑 속도에서의 도 7a에 나타낸 형식의 소프트 키보드 상에서의 사용자 입력과 관련된 확률 분포 함수의 개념적인 약도이다.
도 8a는 제 1 폭으로 분리된 키 여백을 갖는 키보드와 관련된 확률 분포 함수의 개념적인 약도이다.
도 8b는 도 8a에 나타낸 실시예에서의 제 1 폭 보다도 더 큰 제 2 폭으로 분리된 키 여백을 갖는 키보드와 관련된 확률 분포 함수의 개념적인 약도이다.
도 9는 본 발명의 일부 실시예에 따른 키보드 인터페이스 컴포넌트의 동작 방법의 흐름도이다.
도 10은 본 발명의 실시예가 실시될 수 있는 컴퓨팅 디바이스의 개념적인 블록 다이아그램이다.
도 1은 터치 스크린 상에 표시된 제 1 스타일의 소프트 키보드를 구비한 터치 스크린 컴퓨팅 디바이스의 약도이다.
도 2는 터치 스크린 상에 표시된 다른 스타일의 소프트 키보드를 구비한 도 1의 컴퓨팅 디바이스의 약도이다.
도 3은 터치 스크린 상에 표시된 또 다른 스타일의 소프트 키보드를 구비한 도 1의 컴퓨팅 디바이스의 약도이다.
도 4a 및 4b는 소프트 키보드 상의 키를 목표로 하도록 의도함을 나타내는 사용자 입력을 도시한 개념적인 약도이다.
도 5a 및 5b는 소프트 키보드 상의 목표 키에 상대적인 입력 위치의 확률 분포 함수를 나타내는 개념적인 약도이다.
도 6a 및 6b는 동적으로 결정된 요인에 기초하여 확률 분포 함수에서의 변화를 나타내는 개념적인 약도이다.
도 7a는 제 1 타이핑 속도에서의 소프트 키보드 상의 키와 관련된 확률 분포 함수의 개념적인 약도이다.
도 7b는 제 2의, 더 빠른 타이핑 속도에서의 도 7a에 나타낸 형식의 소프트 키보드 상에서의 사용자 입력과 관련된 확률 분포 함수의 개념적인 약도이다.
도 8a는 제 1 폭으로 분리된 키 여백을 갖는 키보드와 관련된 확률 분포 함수의 개념적인 약도이다.
도 8b는 도 8a에 나타낸 실시예에서의 제 1 폭 보다도 더 큰 제 2 폭으로 분리된 키 여백을 갖는 키보드와 관련된 확률 분포 함수의 개념적인 약도이다.
도 9는 본 발명의 일부 실시예에 따른 키보드 인터페이스 컴포넌트의 동작 방법의 흐름도이다.
도 10은 본 발명의 실시예가 실시될 수 있는 컴퓨팅 디바이스의 개념적인 블록 다이아그램이다.
본 발명의 발명자들은 소프트 키보드의 나쁜 성능이 사용자로 하여금 컴퓨팅 디바이스의 성능이 나쁘다고 여기는데 기여할 수 있음을 인식하고 이해하였다. 소프트 키보드는 전통적인 키보드에서의 키의 기계적인 움직임으로부터 발생할 수 있는 촉각적인 피드백이 부족하기 때문에, 사용자가 원하는 목표의 키보드 탭 및 컴퓨터 시스템이 키보드 상에서 검출된 목표로서 선택되는 키 사이의 불일치가 높아질 위험성이 있다. 이와 같은 불일치는 사용자 입력에 대해서 명백한 오류 투성이의 반응을 초래하게 되고 또한 사용자 실망의 원천이 될 수 있다.
키보드의 활성에 대한 컴퓨터의 반응 및 의도된 사용자 입력을 정렬시키기 위해서, 컴퓨팅 디바이스 내의 키보드 입력을 처리하는 컴포넌트가, 키보드의 검출된 활성화에 대해서, 하나 이상의 키가 활성화의 목표임을 나타내는 확률을 표시할 수 있다. 이들 확률은 사용자 입력에 반응하여, 문맥적으로, 사용자에 의해서 목표로 하는 가장 그럴 듯한 키를 선택하도록 하는 컴퓨팅 디바이스의 다른 컴포넌트에 의해서 사용될 수 있다. 예를 들면, 이 선택은 특정한 키의 스트로크가 하나의 단어 또는 기타 문자열을 완성하는 확률과 조합되어 이루어질 수 있다. 하지만, 확률 정보는 임의의 적절한 방식으로 사용될 수도 있다.
예를 들어, 키보드 상에서의 검출된 "탭"(tap)과 같은 키 스트로크에 대응하는 활성화인 확률은 동적 요인에 기초할 수 있다. 이들 요인은 사용자에 관련되어 있을 수도 있고 및/또는 컴퓨팅 디바이스에 관련되어 있을 수도 있다. 컴퓨팅 디바이스에 관련되는 요인들의 예로는 키보드의 스타일, 키보드의 크기 및 키들 간의 간격을 포함하는 키보드의 레이아웃 또는 컴퓨팅 디바이스의 위치, 방향 또는 움직임이 포함될 수 있다.
사용자에 관련되는 요인들은 사용자와 컴퓨터의 상호 작용에 기초하여 결정될 수 있다. 예를 들면, 사용자의 타이핑 속도를 감지하고 또한 이 타이핑 속도는 사용자가 목표로 하는 특정 키가 키보드 상에서의 탭일 확률을 결정하는데 사용할 수 있다.
확률 결정시 임의의 적절한 방식으로 요인으로서 타이핑 속도를 고려할 수 있다. 예를 들면, 평균 타이핑 속도가 증가함에 따라서 전체 키의 확률 분포 함수의 분산이 더 커질 수 있다. 하지만, 타이핑 속도는 서로 다른 키와 관련된 확률 분포 함수에 서로 다른 영향을 줄 수 있다. 예를 들면, 영향은 키보드 상에서의 키의 위치에 종속되어 있을 수 있으며, 이때 키보드의 중앙부에 더 가까운 키와 관련된 분산이 키보드의 중앙부로부터 더 멀리 떨어진 키와 관련된 분산보다 더 적게 증가한다.
유사하게, 타이핑 속도와 같은 동적으로 결정되는 요인의 값이 사용 중에 변동되기 때문에 각각의 키에 대한 확률 분포 함수의 평균이 변동될 수 있다. 마찬가지로 각각의 확률 분포 함수의 평균값에서의 변동은 키보드 상에서의 키의 위치에 종속되어 있을 수 있다.
더욱이, 각 요인들 사이에도 상호 관련성이 있을 수 있다. 예를 들면, 동일한 키와 관련되어 있는 확률 분포 함수는 서로 다른 스타일 또는 서로 다른 키의 크기 및 키 간격을 갖는 키보드에 대해서 서로 다르게 변동될 수 있다. 따라서, 일부 실시예에 있어서, 컴퓨팅 디바이스의 운영 체제 내의 키보드 인터페이스 컴포넌트는 터치 스크린 상에 표시되는 키보드와 관련된 요인 및/또는 동적으로 감지되는 요인에 기초하여 키보드 상의 키에 대한 지속적으로 갱신될 수 있는 확률 분포 함수를 결정한다.
일부 실시예에 있어서, 각 키에 대한 확률 분포 함수는 확률 분포 함수 모델에 파라미터 값을 공급하여 생성될 수 있다. 구체적인 예시로서, 각각의 확률 분포는 가우스 분포(Gaussian distribution, 정규 분포)로 모델링될 수 있다. 임의의 키에 대한 확률 분포 함수는 가우스 분포 모델의 오프셋(offset) 및 분산을 정의하는 파라미터 값으로부터 결정될 수 있다. 키보드 입력을 처리하게 되면, 키보드 인터페이스 컴포넌트는 동적으로 결정되는 정보에 기초하여 확률 분포 함수를 특징으로 하는 모델 파라미터의 값을 선택할 수 있다. 하지만, 임의의 적절한 기법을 사용하여 각 키의 확률 분포를 모델링할 수 있음을 잘 알아야 하고 또한 가우스 분포를 사용해야 한다거나 전체 키에 대해서 동일한 모델을 사용해야 할 필요는 없다. 각각의 키에 대한 확률 분포 함수가 어떻게 모델링되는 것과는 무관하게, 타이핑 속도 및/또는 다른 요인을 사용하여 임의의 주어진 시간에서의 각각의 키에 대한 모델에 적합한 적절한 파라미터 값을 선택할 수 있다. 일부 실시예에 있어서, 임의의 키에 대한 파라미터에 적합한 값은 키보드 상에서의 키의 위치에 종속되어 있을 수 있다. 예를 들면, 키보드의 주변부에서의 각 키에 대한 분산이 더 클 수 있다. 다른 실시예로서, 분산은 타이핑 속도의 함수로서 주변부에서의 각 키에 대한 양보다 중앙부에서의 양이 더 크게 증가할 수 있다.
대안적으로 또는 추가적으로, 확률 분포 함수의 평균값은 타이핑 속도 및 키 위치의 함수로서 변화될 수 있다. 전통적인 QWERTY 키보드의 경우, 임의의 키에 대한 확률 분포 함수의 평균값은 키보드의 중앙부를 향해서 오프셋되어 있을 수 있다. 하지만, 이 오프셋의 양은 타이핑 속도에 종속되어 있을 수 있다.
또한, 컴퓨팅 디바이스와 관련된 요인들 또한 분포 함수에 영향을 미칠 수 있다. 이들 각 요인은 소프트 키보드 자체의 파라미터에 관련되어 있을 수 있다. 예를 들면, 컴퓨팅 디바이스의 디스플레이 상에 표시되는 것으로서의 각 키의 크기 또는 각 키 사이의 여백과 같은 요인들이 확률 분포 함수의 평균값 및 오프셋 모두에 영향을 미칠 수 있다. 대안적으로 또는 추가적으로, 키보드 스타일은 확률 분포 함수에 영향을 미칠 수 있다. 구체적인 예시로서, 분리형 키보드의 각 키와 관련된 확률 분포 함수는 타이핑 속도의 함수로서 다른 스타일의 키보드와 관련된 확률 분포 함수와 다르거나 또는 다르게 변경될 수 있다. 이들 차이는 서로 다른 파라미터 값으로 반영되어 모델로부터 또는 임의의 다른 적절한 방식으로 확률 분포 함수를 계산하는데 사용될 수 있다.
대안적으로 또는 추가적으로, 모델로부터 확률 분포 함수를 한정하는데 다른 요인들이 고려될 수 있다. 예를 들면, 모델로부터의 확률 분포 함수 계산과 동시에 제한(limit)을 적용할 수 있다. 구체적인 예시로서, 본 명세서에서 키는 상술한 요인들과 연관되는 "앵커"(anchor)라고 지칭되는 영역을 가지고 있을 수 있다. 앵커는 일반적으로 키의 중앙부에 대응할 수 있고, 따라서 앵커 영역 내에서의 입력이 검출되는 경우, 사용자가 의도한 목표로 한 키라는 높은 확률이 할당될 수 있다. 일부 실시예에 있어서, 키보드 입력을 처리하는 컴포넌트는 앵커 영역에서 검출된 사용자 입력에 대해서 확률 1을 할당할 수 있다.
대안적으로 또는 추가적으로, 어떤 키에 대한 확률 분포 함수 상의 제한은 키의 중앙부로부터 너무 먼 곳에서 검출된 사용자 입력에 대해서 0의 확률이 할당되어지도록 될 수 있다. 그와 같은 제한은 다양한 적절한 방식으로 부과될 수 있다. 예를 들면, 키보드 입력을 처리하는 컴포넌트는 키보드 상의 각 키의 서브셋에 대해서만 0이 아닌 확률을 반환할 수 있다. 검출된 입력 영역(접촉 형상) 아래 또는 인접 또는 치고 있는 키의 아래에/인접하여 있는 각 키에 대해서만 확률을 제공하도록 서브셋이 선택될 수 있다.
확률 분포 함수는 어떻게 정의되는 것과는 무관하게, 키보드 입력을 처리하는데 사용될 수 있다. 키보드 입력은 컴퓨터 시스템 내의 임의의 적절한 컴포넌트에서 임의의 적절한 방식으로 처리될 수 있다. 일부 실시예에 있어서, 본 명세서에서 기술된 처리 방법은 컴퓨터 시스템의 운영 체제의 커널 모드 컴포넌트 내에서 수행될 수 있다. 그러나, 특정한 구현은 본 발명의 요건이 아니다. 예를 들면, 본 명세서에서 기술된 처리 방법은 대안적으로 또는 추가적으로 터치 감지식 디스플레이용 컨트롤러로서 동작하는 반도체 칩 내에 구현될 수 있다.
도 1은 본 명세서에서 기술되는 기법 중의 일부 모든 기법이 개선된 사용자 경험을 제공하는데 사용될 수 있는 컴퓨팅 디바이스의 일례를 제공하고 있다. 도 1은 사용자 인터페이스로서의 터치 스크린(112)을 갖는 컴퓨팅 디바이스(110)의 약도이다. 컴퓨팅 디바이스(110)는 도 1에서 슬레이트 폼 팩터를 갖는 것으로 도시되어 있다. 슬레이트 폼 팩터에 있어서, 터치 스크린(112)은 컴퓨팅 디바이스(110)의 상부면의 실질적으로 전부를 점유하고 있다. 그러나, 본 발명은 특정한 폼 팩터의 컴퓨팅 디바이스로 제한하지는 않는다.
컴퓨팅 디바이스(110)는 본 기술 분야에서 잘 알려진 것들과 같은 하드웨어 컴포넌트를 사용하여 구축될 수 있다. 이들 컴포넌트에는 터치 스크린(112) 뿐만 아니라 터치 스크린 컨트롤러(미도시)가 포함될 수 있다. 이들 컴포넌트는 터치 스크린(112)과 함께 사용자의 상호 작용을 검출하도록 상호 작용할 수 있다. 이들 컴포넌트는 본 기술 분야에서 잘 알려진 기법을 사용하여 터치 스크린(112)을 통한 입력으로서 의도된 사용자 제스처를 검출할 수 있다. 이들 컴포넌트는, 예를 들면, 터치 스크린(112)의 표면 상에서의 사용자의 손가락으로부터의 압력을 검출할 수 있다. 다르게는, 각 컴포넌트는 접촉 형상과 같은 사용자 손가락, 또는 터치 스크린(112)에 인접한 기타 포인팅 디바이스와 관련된 정전 용량 또는 기타 측정 가능한 효과를 검출할 수 있다. 하지만, 터치 스크린을 통한 입력을 나타내는 사용자에 의한 제스처 검출에 있어서 임의의 적절한 기술을 사용할 수 있다.
터치 스크린을 통한 입력을 나타내는 사용자 제스처를 검출하는데 사용되는 메커니즘과는 무관하게, 터치 스크린 컴포넌트는 이와 같은 입력이 검출되었음을 나타내는 정보를 출력할 수 있다. 터치 스크린 컨트롤러의 출력은 컴퓨팅 디바이스(110)를 실행시키는 소프트웨어 컴포넌트일 수 있는 다른 컴포넌트에 의해서 해석될 수 있다. 예를 들면, 컴퓨팅 디바이스(110)의 운영 체제(미도시)는 터치 스크린 인터페이스 컴포넌트를 구비할 수 있다. 터치 스크린 인터페이스 컴포넌트는 터치 스크린(112) 상에 표시된 정보에 상대적인 각 입력 위치에 기초하여 검출된 입력을 해석할 수 있다.
도 1의 실시예에 있어서, 컴퓨팅 디바이스(110)는 채팅형 통신을 지원하는 애플리케이션을 현재 실행하고 있다. 이 애플리케이션은 디스플레이 영역(130)에 표시되는 콘텐트를 공급하고 있다. 디스플레이 영역(130) 내에서의 터치 스크린(112)과의 사용자 상호 작용은 이 애플리케이션에 대한 명령어로 해석될 수 있다. 예를 들면, 디스플레이 영역(130)은 텍스트(text)가 입력될 수 있는 필드를 타나내는 필드(132)를 구비하고 있다. 영역(132) 내의 사용자 터치는 애플리케이션에 의해서 후속하는 수신된 입력이 전송되어야 하는 메시지를 위한 텍스트로서 해석되도록 알리는 명령어로 해석될 수 있다.
도 1에 나타낸 상태에 있어서, 터치 스크린(112)은 또한 소프트 키보드(120)가 표시되는 영역을 구비하고 있다. 소프트 키보드는, 일부 실시예에 있어서, 디스플레이 영역(130)에 콘텐트를 공급하는 애플리케이션에 의해서 표시될 수 있다. 그러나, 도시된 실시예에 있어서, 터치 스크린(112)은 컴퓨팅 디바이스(110)의 운영 체제 내의 터치 스크린 인터페이스 컴포넌트에 의해서 표시된다. 터치 스크린 인터페이스 컨트롤러는 디스플레이 영역(130)을 제어하는 애플리케이션으로부터의 명령어에 기초하여 언제 및 어디에 소프트 키보드(120)를 표시할 지를 결정할 수 있다. 하지만, 소프트 키보드(120)의 표시를 유발하는 구체적인 촉발자는 본 발명에서는 중요하지 않다. 언제 및 어디에 소프트 키보드(120)를 터치 스크린(112)에 표시하는 것과는 무관하게, 소프트 키보드(120)가 표시된 터치 스크린(112)의 해당 영역 내에서 검출된 입력은 키보드 입력으로 해석될 수 있고 또한 소프트 키보드 인터페이스 컴포넌트로 전달되어 처리될 수 있다.
도 1의 실시예에 있어서, 소프트 키보드(120)에 의해서 점유된 영역에서의 입력 처리는 소프트 키보드(120)의 각 키 중의 어떤 것이 사용자 입력의 의도된 목표임을 결정하는 처리를 필요로 할 수 있다. 예를 들면, 소프트 키보드(120)는 복수의 키를 구비하고 있으며, 그 중에서 키(122)에 도면 부호가 첨부되어 있다. 소프트 키보드 인터페이스 컴포넌트의 출력은 영역(130)에 콘텐트를 제공하는 채팅 애플리케이션에게 키(122) 또는 임의의 다른 키가 사용자 입력의 목표일 가능성이 있음을 나타내도록 표시할 수 있다.
일부 실시예에 있어서, 터치 스크린(112)과의 사용자 상호 작용의 표시는 소프트 키보드 인터페이스 컴포넌트 내에서 처리되기 전에 전처리되거나, 또는 특정한 사용자 입력이 수신되었다는 표시를 채팅형 애플리케이션에게 제공하기 전에 후처리할 수도 있다. 전처리는 본 기술 분야에서 잘 알려진 기법을 사용하여 수행될 수 있다. 예를 들면, 터치 스크린(112)의 표면을 가로지르는 움직임은 소프트 키보드(120) 상의 어떤 키의 의도된 선택이 아니라 터치 스크린(112)과의 의도하지 않은 접촉의 특징이 되어, 필터링될 수 있다. 전처리의 다른 실시예로서, 일부 터치 스크린 인터페이스에 있어서, 터치 스크린 컨트롤러가 터치 스크린과의 접촉을 검출한 위치, 및 사용자가 인지하는 접촉이 제공된 곳의 위치와의 사이에 차이가 있을 수 있다. 일부 실시예에 있어서, 이들 각 차이는 터치 스크린의 교정 중에 결정되는 각 요인을 사용하는 보상이 소프트 키보드 인터페이스 컴포넌트에 의해서 처리되기 전에 각 터치 입력에 적용되는 교정을 통해서 수정될 수 있다.
이와 같은 전처리는 소프트 키보드 제어 컴포넌트에서 수신된 터치 입력이 사용자가 임의의 키를 활성화하도록 의도한 표시를 더 잘 나타내도록 보장함으로써 소프트 키보드 제어 컴포넌트의 동작을 개선할 수 있다. 본 명세서에서 사용되는 바와 같이, 소프트 키보드 상에서의 키를 활성화하려는 사용자 의도를 나타내는 것으로 결정되는 입력은 소프트 키보드 상에서의 "탭"(tap)으로 간주될 수 있다. 따라서, 소프트 키보드 제어 컴포넌트는 키보드 상에서의 "탭"을 수신하고 반응할 수 있다.
"탭"은 임의의 적절한 방식으로 정의되고 식별될 수 있다. 일부 실시예에 있어서, "탭"은 소프트 키보드(120)가 점유하고 있는 영역 내의 터치 스크린(112)과의 단시간에 걸친 접촉에 의해서 정의될 수 있다. 그러나, "탭"이 반드시 그와 같이 소프트 키보드(120)와의 단시간 접촉만으로 특징지어질 필요는 없다. 가능한 다른 실시예의 예로서, 컴퓨팅 디바이스는 사용자가 손가락 또는 다른 포인팅 디바이스를 터치 스크린(112)의 표면을 가로 질러 밀 수 있는 상호 작용 모드를 지원할 수 있다. 터치 스크린(112)의 표면을 가로지르는 움직임의 방향 또는 속도에서의 변화 또는 기타 이 움직임의 특징은 소프트 키보드(120) 상에서의 키를 활성화하려는 사용자의 의도와 함께 일치시킬 수 있다. 따라서, 본 발명은 소프트 키보드(120) 상에서의 "탭"을 식별하는데 사용되는 메커니즘에 의해서 제한되지 않음을 잘 이해할 것이다.
터치 스크린을 통해서 수신된 입력을 전처리하는 것에 부가하여, 키보드 제어 컴포넌트의 출력을 후처리하는 것 또한 수행될 수 있다. 소프트 키보드 상에서 사용자가 목표로 하는 키를 결정하는 후처리는 본 기술 분야에서 잘 알려진 것과 같은 기법을 사용하여 수행될 수 있다. 그러나, 소프트 키보드(120)의 특정 키가 탭되었음을 표시함에 의해서 사용자 입력을 지정하는 통상적인 소프트 키보드 인터페이스 컴포넌트와는 반대로 본 명세서에서 기술된 소프트 키보드 인터페이스 컴포넌트는 소프트 키보드(120)의 하나 이상의 키와 관련된 확률을 출력할 수 있다. 각각의 확률은 사용자가 목표로 하는 관련된 키일 확률을 나타낼 수 있다. 이들 확률은, 예를 들면, 컴퓨팅 디바이스의 동작과 키보드 상에서의 키를 목표로 하는 사용자의 의도를 더 양호하게 정합시키는데 사용될 수 있다.
본 명세서에서 기술된 기법은 임의의 적절한 형태의 후처리와 함께 구현될 수 있지만, 일부 실시예에 있어서, 이들 하나 이상의 키와 관련된 확률은 텍스트 예측 엔진으로 제공될 수 있다. 텍스트 예측 엔진은 보고된 각 키 및 이들과 관련된 확률을 추적하고 또한 문맥에 근거하여 가장 가능성이 높은 사용자 입력을 결정할 수 있다. 구체적인 예로서, 텍스트 예측 엔진은 탭의 문자열을 처리하여 사용자에 의해서 의도되는 가장 가능성이 높은 단어를 선택할 수 있다. 텍스트 예측 엔진의 예측은 키보드 인터페이스 컴포넌트에 의해서 보고되는 확률 뿐만 아니라 문맥 정보에 기초할 수 있다. 사용자가 의도한 입력에 대응하는 키 순서인 전체 확률을 계산하는데 문맥적 정보를 사용할 수도 있다.
예를 들면, 소프트 키보드(120)가 애플리케이션 컴포넌트에 텍스트 입력을 제공하는 경우 영어 단어가 기대됨을 나타내는 문맥에서, 첫번째 탭(tap)의 확률이 "q", "w", "a", 및 "s" 키와 동일하게 관련되는 일련의 탭이 수신될 수 있다. 이 탭에 이어서 키 "u"와 관련된 높은 확률 및 키 "i", "j", 및 "k"에 관련된 낮은 확률의 탭이 뒤따를 수 있다. 후처리를 통해서, 이 순서의 입력은 키 순서 "qu"로 맵핑될 수 있다. 순서 "qu"를 포함하는 영어 단어에 대한 확률이 높기 때문에, 영어 단어에서의 이 순서의 모든 발생 확률과 목표로 하는 확률을 함께 고려하였을 때 이 순서는 이 순서 중의 각각의 탭에 대응하는 가능한 키로부터 형성될 수 있는 임의의 순서에 대해서 가장 높은 전체 확률을 가지게 된다. 그러나, 각각의 탭과 관련되는 확률의 특정한 후처리는 본 발명에서 중요하지 않으며, 이 정보는 임의의 적절한 방식으로 사용될 수 있다.
도 2로 돌아가면, 동작 상태가 다른 컴퓨팅 디바이스(110)가 도시되어 있다. 도 2에 도시한 상태에서, 소프트 키보드(220)는 터치 스크린(112) 상에 표시되어 있다. 소프트 키보드(220)는 소프트 키보드(120, 도 1 참조)와 유사하다. 각각의 경우에 있어서, 터치 스크린(112)의 어떤 영역을 사용하여 소프트 키보드의 키를 표시할 수 있다. 하지만, 도 2에서의 소프트 키보드(220)는 키보드(120)에 비해서 더 많은 키를 포함하고 있다.
키보드(220)의 스타일은 더 복잡한 또는 더 정형적인 입력을 수신하도록 의도된 애플리케이션에서 사용하기에 적합할 수 있다. 구체적인 예시로서, 소프트 키보드(220)는 키(222)에 수를 의미하는 숫자가 새겨진 키를 포함하고 있다. 소프트 키보드(220)는, 예를 들어, 전통적인 물리 키보드를 흉내낼 수 있다. 이와 반대로, 소프트 키보드(120)는 간략화한 스타일의 키보드에 대응할 수도 있다. 키보드(120)는 채팅형 통신 또는 다른 비공식적인 통신을 가능케 하는 애플리케이션에서 사용하기에 적합할 수 있다. 이와 대조적으로, 키보드(220, 도 2 참조)는 워드 프로세서, 스프레드시트, 또는 다른 업무용으로 사용되는 애플리케이션에서 사용하기에 더 적합한 스타일을 가지고 있다. 예를 들면, 영역(230)은 워드 프로세서용 애플리케이션을 위한 인터페이스 영역을 나타낼 수 있다. 따라서, 컴퓨팅 디바이스 상에 나타나는 키보드의 스타일은 입력으로서 소프트 키보드 상에서의 검출된 탭을 수신하는 애플리케이션으로부터 요청에 기초하여 설정될 수 있다. 하지만, 사용자 선호도 또는 컴퓨팅 디바이스의 검출된 방향을 포함하는 다른 요인들을 사용하여 컴퓨팅 디바이스 상에서 표시되는 소프트 키보드의 스타일을 결정할 수 있으며, 이때 그 스타일은 동적으로 변경될 수 있다.
키보드 스타일이 어떻게 결정되는 지와는 무관하게, 개념적으로 유사한 방식으로 컴퓨팅 디바이스(110) 내의 소프트 키보드 인터페이스 컴포넌트에 의해서 생성되는 출력이 준비될 수 있다. 그러나, 스타일은 사용자가 목표로 하는 키를 누르는 정확도에 영향을 미칠 수 있다. 따라서, 키보드 스타일에 관한 정보를 사용하여 검출된 탭이 사용자가 목표로 하는 특정한 키인지를 보여주는 확률을 계산할 수 있다.
도 3은 컴퓨팅 디바이스(110)가 지원할 수 있는 또 다른 키보드 스타일을 나타내고 있다. 도 3에 나타낸 예에 있어서, 이 키보드는 분리형 스타일의 키보드이다. 도시된 바로부터 알 수 있는 바와 같이, 소프트 키보드는 키보드 부분(320A 및 320B) 내의 터치 스크린(112) 상에 표시되어 있다. 소프트 키보드(120, 220)가 일반적인 연속적인 배열의 키로 배치된 도 1 및 2와는 대조적으로 도 3의 실시예에서의 소프트 키보드는 터치 스크린(112)의 측면을 따라서 집단적으로 배치되어 있다. 이 구성은 컴퓨팅 디바이스(110)의 사용자로 하여금 엄지 손가락만 사용하여 키보드 부분(320A, 320B) 위의 터치 스크린(112)을 터치할 수 있도록 한다. 그와 같은 타이핑 스타일은, 예를 들어, 컴퓨팅 디바이스(110)를 손으로 잡고 있는 사용자에게 유용할 수 있다. 이와는 반대로, 소프트 키보드(120, 220)의 스타일은 컴퓨팅 디바이스(110)를 탁자 위에 위치시키고 물리 키보드인 것처럼 이 소프트 키보드와 상호 작용하는 사용자에게 더 적합할 수 있다. 또한 도 1 및 2에 도시한 스타일은 한 손가락으로 타이핑을 하는 사용자가 선호할 수 있다. 스타일에서의 차이에도 불구하고, 소프트 키보드 인터페이스 컴포넌트가 소프트 키보드 영역(320A, 320B)에 의해서 점유된 영역과 관련된 탭을 각각의 탭에 대해서 사용자가 목표로 의도한 키인 하나 이상의 키에 대한 확률을 결정하도록 처리한다는 점에서 소프트 키보드 영역(320A, 320B)은 키보드(120, 220)와 개념적으로 동일하게 동작할 수 있다.
각각의 스타일의 키보드와 관련된 터치 입력이 동일한 방식으로 처리된다고 하더라도, 이 키보드의 스타일 및 다른 특징은 소프트 키보드 상의 탭을 나타내는 검출된 입력에 할당되는 구체적인 확률에 영향을 미칠 수 있다. 각 확률을 결정하기 위해서 임의의 적절한 방식으로 키보드 스타일에 대한 정보를 사용한다고 하더라도, 일부 실시예에 있어서, 키보드 스타일은 확률 분포 함수를 정의하는데 사용되는 모델의 각 파라미터의 값을 선택하는데 사용되는 하나의 요인이 된다. 이와 같은 방식으로 확률 분포 함수를 정의하기 위한 예시적인 방식을 도 4a, 4b, 5a, 5b, 6a, 및 6b에 나타내었다.
도 4a는 소프트 키보드(420)를 나타내고 있다. 본 실시예에서, 사용자는 키보드(420) 상의 위치(440)를 누를 수 있다. 본 실시예에서, 위치(440)는 문자 "W"에 대한 키에 대응하는 키(422W)와 중첩되어 있다. 하지만, 도 4b로부터 알 수 있는 바와 같이, 위치(440)는 키(422W)의 중앙부 영역 내에 있지 않다. 이와는 반대로, 위치(440)는 키(422)의 범위 내에 있지만, 키(422E, 422S)에 인접하고 있다. 또한 위치(440)는 키(422A, 422D)와 같은 다른 키에 인접하고 있다. 하지만 여전히 다르게는, 소형 키보드 상에서의 위치(440)는 키(422R)와 같은 더 멀리 떨어진 키와 가깝게 놓여 있을 수 있다. 따라서, 위치(440)에서 검출된 탭에 의해서 소프트 키보드(420) 상의 키가 목표로 하는 키인지에 대한 불확실성이 존재한다. 어떤 키가 목표로 하는 키인지에 대한 불확실성은 위치(440)에서 입력을 제공하는데 사용된 사용자의 손가락의 크기에 대해서 고려하는 경우에 더 확장될 수 있다. 영역(442)은 터치 입력과 관련하여 압력이 검출된 위치를 둘러싸는 사각형을 나타낸다. 따라서, 단일 지점에서 발생하는 것이 아니라, 위치(440)는 터치가 검출된 영역(442)의 중심부 또는 기타 평균을 나타낸다. 본 실시예에서, 영역(442)은 세 개의 키, 즉 키(422W, 422E, 및 422S)와 중첩된다.
위치(440)에서의 탭은, 통상적인 키보드에서와 마찬가지로, 키(422W)의 사용자 선택으로서 보고될 수 있는데, 이 키가 위치(440)에 가장 근접하고 있기 때문이다. 그러나, 위치(440)에서의 검출된 입력은, 사용자가, 예를 들면 422E 또는 422S와 같은 인접한 키를 목표로 의도하고 있음을 나타낼 수 있다. 그러나, 위치(440)에서의 탭과 임의의 단일 키, 본 실시예에서의 키(422W)를 관련시키는 것에 의해서는 사용자가 목표로 하는 키(422E 또는 422S)와 같은 다른 키의 가능성을 나타내는 정보를 문맥상 가장 가능성이 높은 텍스트 입력을 선택하는데 이용할 수 없다. 따라서, 소프트 키보드 인터페이스 컴포넌트는 소프트 키보드 상에서의 탭을 나타내는 각각의 입력에 대해서, 이 검출된 입력이 사용자의 의도가 목표로 하는 키임을 드러내는 하나 이상의 키에 대한 확률을 나타내는 값을 계산할 수 있다. 이들 확률은 이후에 후처리를 위해서 다른 컴포넌트로 제공될 수 있다.
사용자가 의도한 목표로 한 키와 검출된 탭의 확률은 임의의 적절한 방식으로 계산될 수 있다. 일부 실시예에 있어서, 확률은 각각의 복수의 키와 관련된 공간 확률 분포 함수에 기초하여 계산될 수 있다. 각각의 공간 확률 분포 함수는 대응하는 키의 중앙부에 대해서 상대적인 것으로 표현될 수 있다. 어떤 키에 대해 상대적으로 검출된 탭의 위치에 기초하면, 이 키에 대한 공간 확률 분포 함수는 탭이 사용자가 그 키를 목표로 의도하였음을 나타내는 확률을 표시할 수 있다.
예를 들면, 위치(440)는 제 1 방향으로의 거리(D1)에 의해서, 및 제 2의 직각 방향으로의 거리(D2)에 의해서 키(4221)의 중앙부로부터 오프셋되어 있다. D1 및 D2에 대응하는 좌표에서의 키(422W)와 관련된 2 차원 확률 분포 함수의 값은 위치(440)에서의 입력이 사용자 의도가 목표로 하는 키(422W)인지를 밝히는 확률을 나타낼 수 있다.
위치(440)는, 이와는 다른 양만큼이지만, 422E, 422S, 422A, 422D, 및 422R과 같은 다른 키의 중앙부로부터 오프셋되어 있다. 마찬가지로 이들 각 키의 중앙부와 위치(440) 사이의 오프셋을 유사하게 사용하여 이들 각 키와 관련된 확률 분포 함수로부터 위치(440)에서의 입력이 사용자가 이들 각각의 키를 목표로 의도한 것을 보여주는 확률을 결정하는데 사용될 수 있다.
이론적으로, 터치 스크린의 임의의 위치에서 검출된 탭이 소프트 키보드 상의 임의의 키를 목표로 하는 사용자의 의도를 보여주는 영이 아닌 확률이 있을 수 있다. 그러나, 일부 실시예에 있어서, 각각의 키와 관련된 확률 분포 함수의 공간 범위에 대해서 제한(limit)을 부과하는 것에 의해서 처리를 간략화할 수 있다. 예를 들면, 일부 실시예에 있어서, 임의의 키의, 본 명세서에서 "앵커"(anchor)라고 부르는 중앙부는, 사용자가 이 키를 목표로 하는 가능성이 높음을 의미하는 확률과 관련되어 있을 수 있다. 예를 들면, 앵커(424W, 424E, 424R, 424A, 424S, 및 424D)는 도 4b에 나타낸 각 키의 중앙 영역 내에 나타나 있다.
높은 확률은 임의의 적절한 방식으로 표시될 수 있다. 일부 실시예에 있어서, 높은 확률은 해당 키에 대한 앵커 내에서 탭이 검출되는 경우 키에 1의 확률을 결합시켜서 표시될 수 있다. 대안적으로 또는 추가적으로, 다른 키의 앵커 영역 내에서 탭의 검출이 발생하는 경우 다른 키에 대한 확률 정보를 억제하거나 또는 0으로 설정함으로서 높은 확률이 표시될 수 있다.
따라서, 앵커 영역은 각 키와 관련된 확률 분포 함수에 대해서 제한을 추가하여 제공할 수 있다. 일부 실시예에 있어서, 각각의 키와 관련된 확률 분포는 검출된 입력이 다른 키에 대한 앵커 내에 위치한 경우에 영의 값을 나타내도록 제한될 수 있다. 대안적으로 또는 추가적으로, 확률 분포 함수는 키의 중앙부로부터 다른 키의 최근접 앵커까지 그 방향으로의 거리보다 더 큰 값만큼 임의의 방향으로 변위되는 임의의 위치에 대해서 낮거나 영의 값을 가지도록 제한될 수 있다. 하지만, 임의의 적절한 메커니즘을 사용하여 사용자가 목표로 하는 특정 키에 대한 낮은 확률을 제공할 수 있다. 예를 들면, 이 제한은 단순히 해당 키에 대한 확률 정보를 전혀 제공하지 않도록 표현될 수 있다.
도 5a는 소프트 키보드(420) 상에 중첩하여 있는 키(422W)에 대한 개념적인 2 차원 공간 확률 분포 함수를 나타내고 있다. 여기에서, 확률 분포 함수(560)는 키(422W)의 중앙부 근처에서 최대값을 가진다. 키의 중앙부로부터의 거리가 증가함에 따라서 확률 분포 함수의 값은 감소하게 된다.
본 실시예에서, 확률 분포 함수(560)는 도 5a에서 "x" 및 "y"로 표시한 두 방향으로 연장되어 있다. 도시된 구체적인 실시예에 있어서, 키보드(420)는 "x"로 표시된 방향에 대해서 평행하게 열을 지어서 배치된 키를 가지고 있다. 이 직각 방향은 "y"로 나타내어져 있다. 도 4b에 나타낸 바와 같이, 사용자가 목표로 의도한 키(422W)의 확률은 터치 입력의 위치 및 키(422W)의 중앙부의 변위로부터 결정될 수 있다.
도 5a의 실시예에 있어서, 확률 분포 함수(560)는 키보드(420)의 2 차원 레이아웃에 대응하는 2 차원으로 연장되어 있다. 하지만, 도시의 간략화를 위해서, 도 5b는 간략화된 1 차원 표현을 사용하는 확률 분포 함수에 기초하여 확률이 결정될 수 있는 방식을 나타내고 있다. 도 5b는 키보드(420) 상의 각 키의 서브셋의 단면을 나타내고 있다. 여기에서는, 키(422Q, 422W, 및 422E)가 도시되어 있다. 확률 분포 함수(560W, 560E)가 나타나 있다. 도 5b로부터 알 수 있는 바와 같이, 위치(440)에서의 확률 분포 함수(560E)는 값(PE)을 가지고 있다. 값(PE)은 위치(440)에서 검출된 탭이 사용자의 의도가 키(422E)를 눌렀음을 나타내는 확률에 대응한다. 유사하게, 확률 분포 함수(560W)는 위치(440)에서 값(PW)을 가지고 있다. 값(PW)은 위치(440)에서 검출된 탭이 사용자 의도가 키(422W)를 눌렀음을 표시하는 확률을 나타낸다.
또한, 도 5b는 인접한 앵커로의 거리에 기초하여 확률 분포 함수에 제한을 적용하는 경우에 대해서 나타내고 있다. 도시로부터 알 수 있는 바와 같이, 확률 분포 함수(560W)는 키(422W)의 중앙부로부터 앵커(424E)에 도달하기 전까지의 키(422E)까지로 연장되는 영이 아닌 확률을 가지고 있다. 그 이후에는, 확률 분포 함수(560W)는 영의 값을 가지고 있다. 그러나, 어떤 키의 확률이 그 제한의 경계선에서 영으로 수렴할 필요는 없음을 알아야 한다. 일부 실시예에 있어서, 가우스 분포는 그 제한 영역 외측에서의 값을 제외시킬 수도 있다. 유사하게, 확률 분포 함수(560W)는 키(522W)의 중앙부로부터 키(422Q)를 향해서 연장되는 영이 아닌 값을 가지고 있다. 그러나, 확률 분포 함수(560W)는 앵커(424Q)와 조우하면서 영의 값을 가지고 있다. 확률 분포 함수(560E) 역시 유사하게 제한되며, 앵커(424W)까지 영이 아닌 값을 가지고 있다.
각각의 키와 관련된 확률 분포 함수는 임의의 적절한 방식으로 결정될 수 있다. 도 5b에 도시한 실시예에 있어서, 확률 분포 모델의 파라미터 값이 먼저 결정된다. 이후에 앵커의 위치에 기초하여 상술한 모델로부터 생성되는 분포 함수가 결정된다. 하지만, 이와 같은 방식으로 모델 및 제한을 사용하여 확률 분포 함수를 표현할 필요는 없다. 예를 들면, 제한을 부과하지 않고 영의 값을 갖는 모델을 사용하여 분포를 정의할 수 있다.
하지만, 도 6a 및 6b는 모델 및 제한을 사용하여 확률 분포 함수를 결정하기 위한 기법을 나타내고 있다. 도 6a는 가우스 분포로서 모델링된 확률 분포 함수(6601)를 나타내고 있다. 가우스 분포는 제한된 개수의 파라미터에 의해서 표현될 수 있다. 본 실시예에서, 가우스 분포는 X1로 표시되는 평균값, 및 분산(variance)이 될 수 있는 스프레드(spread)를 나타내고 도면에서 σX1로 나타낸 값으로 특징지을 수 있다. 이 경우, 확률 분포 함수(6601)는 도 6a에서 앵커 영역(6241, 6242)으로 나타낸 인접 앵커 영역까지의 거리에 의해서 더 제한되어 있다.
확률 분포 함수(6601)는 탭이 사용자 의도가 목표로 하는 키(622)임을 의미하는 확률을 나타내고 있다. 도 6a는 단순화를 위해서 단일 차원으로 확률 분포 함수(6601)를 나타내고 있다. 하지만, 도 5a 및 5b와 관련시켜서 상술한 바와 같이, 2 차원 키보드 상에서의 각 키와 관련된 확률 분포 함수는 2 차원으로 연장될 수 있다.
본 실시예에 있어서, 확률 분포 함수(6601)의 평균값(X1)은 키(622)의 중앙부에 인접하여 위치한다. 스프레드(σχ1)는 일반적으로 키(622)의 폭에 해당하는 것으로서, 확률 분포 함수(6601)는 키(622)와 중첩되는 탭에 대해서는 상대적으로 높은 확률을 할당하고 또한 탭이 다른 위치에서 검출되는 경우 사용자가 목표로 한 키(622)에 대해서는 낮은 확률을 할당한다.
본 발명의 발명자들은 도 6a에 도시한 것과 같은 확률 분포 함수가 일부 경우에 있어서 사용자가 의도한 목표 키(622)의 확률을 적절하게 나타낸다는 것을 인식하고 이해하였다. 예를 들면, 확률 분포 함수(6601)는 사용자가 소프트 키보드의 어떤 키를 누를 지를 조심스럽게 선택하는 경우에 적합할 수 있다. 그와 같은 경우는, 예를 들어, 사용자가 한 손가락으로 타이핑을 하고 있을 때 또는 터치 타이핑 방법을 사용하지만 느리고 신중하게 타이핑을 하고 있을 때 발생할 수 있다.
다른 조건 하에서는, 다른 확률 분포 함수가 더욱 더 적합할 수 있다. 도 6b는 다른 조건 하에서 키(622)와 관련될 수 있는 확률 분포 함수(6602)를 나타내고 있다. 확률 분포 함수(6601)에서와 마찬가지로, 확률 분포 함수(6602)는 인접한 앵커에 의해서 부과되는 제한을 갖는 가우스 분포로서 모델링된다. 하지만, 이 분포는 스프레드가 더 넓으며, σX2로 도시되어 있다. 이에 더하여, 가우스 분포의 평균값은 X2이며, 이 값은 양(ΔX)만큼 키(622)의 중앙부로부터 오프셋되어 있다. 사용자가 빨리 타이핑하고 있는 경우에서의 키보드 주변부에서의 키에 대해서는 확률 분포 함수(6602)가 적절할 수 있다. 본 발명의 발명자들은 그와 같은 경우에 있어서 확률 분포 함수의 스프레드가 증가하는 것을 인식하고 이해하였다. 또한, 확률 분포 함수의 평균값은 키보드의 중앙부를 향해서 오프셋되어 있다.
더 일반적으로 말해서, 본 발명의 발명자들은 임의의 키와 관련되어지는 적절한 확률 분포 함수가 복수의 요인에 종속적일 수 있음을 인식하고 이해하였다. 이들 요인들은 사용자 및/또는 터치 스크린 상에 표시된 것으로서의 소프트 키보드와 관련되어 있을 수 있다. 따라서, 일부 실시예에 있어서, 터치 스크린 상에서의 검출된 탭이 특정한 키에 대응하는 확률을 제공하기 위해서, 소프트 키보드의 스타일 또는 기타 설정 파라미터를 포함하는 실행 시간시 조건, 및 타이핑 속도와 같은 동적으로 결정되는 파라미터를 포함하는 사용자와 관련되는 파라미터에 기초하여 상술한 키에 대한 확률 분포 함수가 결정될 수 있다.
이들 파라미터는 임의의 적절한 방식으로 모델링될 수 있는 확률 분포 함수에 포획될 수 있다. 그러나, 확률 분포 함수가 유한한 갯수의 파라미터로 모델링되는 실시예에 있어서, 소프트 키보드 상의 다양한 키에 대한 확률 분포 함수에 영향을 미칠 수 있는 모든 조건에 대한 정보를 사용하여 모델 파라미터의 값을 선택할 수도 있다. 임의의 적절한 메커니즘을 사용하여 각 키에 대한 확률 분포 함수에 영향을 미칠 수 있는 문맥 또는 기타 요인들을 사용할 수 있는 모델 파라미터의 값과 관련시킬 수 있다. 예를 들면, 소프트 키보드 인터페이스 컴포넌트는 확률 분포 모델을 특징짓는 각 파라미터에 적합한 하나 이상의 표로 된 값을 저장할 수 있다. 확률 분포 함수의 모델로서 가우스 분포를 사용하는 실시예에 있어서, 이들 각 파라미터는 모델의 평균값 및 분산일 수 있다.
이들 각 파라미터는 임의의 적절한 방식으로 조직화될 수 있다. 일부 실시예에 있어서, 확률 분포 함수가 결정되는 키보드 상의 각각의 키에 대해 표가 제공될 수 있다. 하지만, 다른 실시예에 있어서, 키보드 상의 특정한 키를 나타내는 정보를 그와 같은 표에 대한 인덱스(index)로서 사용하여 확률 분포 모델 파라미터에 대한 적절한 값을 결정할 수 있다. 구체적인 예로서, 키보드의 중앙부로부터의 임의의 키의 거리는 모델 파라미터의 값을 판독할 수 있는 표에 대한 인덱스로서 사용될 수 있다.
다른 파라미터의 값은 확률 분포 모델에 대한 파라미터의 값을 선택할 때 유사하게 사용될 수 있다. 각각의 파라미터는 파라미터의 각 값에 대해서 제공될 수 있는 표 또는 별도의 표에 대한 인덱스로서 사용될 수 있다.
구체적인 예시로서, 도 1 내지 3에서의 각 실시예에 의해서 나타낸 바와 같이, 키보드가 QWERTY 키보드인지, 간략화한 키보드인지, 또는 분리형 키보드인지와 같은 키보드 스타일의 표시는 확률 분포 모델의 파라미터의 값을 선택하기 위한 파라미터로 사용될 수 있다. 일부 실시예에 있어서, 각각의 키보드 스타일에 대해서 별도의 표를 제공할 수 있으며, 또한 소프트 키보드 인터페이스 컴포넌트는 표시되어지는 키보드의 스타일에 기초하여 값을 읽도록 적절한 표를 선택할 수 있다. 대안적으로 또는 추가적으로, 일부 실시예에 있어서, 보이지 않는 데이터(속도, 키의 크기, 키보드 크기, 키의 위치, 여백의 크기 등)에서의 값을 보간하도록 모든 파라미터에 대해서 근사 함수가 제공될 수 있다. 이 근사 함수는 다항 함수 또는 임의의 다른 적절한 함수일 수 있다.
확률 분포 모델을 특징짓는 파라미터의 값이 어떻게 결정되었는가와는 무관하게, 소프트 키보드 인터페이스 컴포넌트가 키보드 입력을 처리함에 따라서, 키보드 상의 각각의 복수의 키와 관련된 확률 분포 함수에 대한 적절한 값이 결정될 수 있다. 이들 값을 사용하여 터치 스크린을 통해서 사용자 탭이 수신되는 위치에 인접한 키에 대한 확률 분포 함수를 정의할 수 있다. 이들 확률 분포 함수를 적용하여 탭이 사용자 입력이 목표로 하는 특정 키를 나타내는 각각의 인접한 키와 관련된 확률을 결정할 수 있다. 각 키에 대한 확률 분포 함수는 임의의 적절한 방식으로 결정될 수 있다. 키에 대한 확률 분포 함수를 결정하기 위해서 사용된 동작 환경의 파라미터가 소프트 키보드의 표시에 따라서 이 소프트 키보드의 구성에 의해서만 규정되는 실시예에 있어서, 확률 분포 함수는 소프트 키보드가 표시되는 시간에 결정될 수 있다.
그러나, 일부 실시예에 있어서, 각 키에 대한 확률 분포 함수를 특징짓는 값을 결정하는데 사용되는 파라미터는 사용자가 키보드와 상호 작용하는 방식에 종속되어 있을 수 있다. 도 7a는 소프트 키보드(720)를 나타내고 있다. 각각의 복수의 키와 관련된 확률 분포 함수가 도시되어 있다. 예를 들면, "w" 키와 관련된 확률 분포 함수(7601)가 도시되어 있다. 도 7a에서는, 확률 분포 함수(7601)가 다차원임에도 불구하고, 이 확률 분포 함수의 분산에 대응하는 윤곽을 나타내는 것에 의해서 2 차원으로 도시하였다.
도 7a는 키보드 사용자가 천천히 타이핑하고 있는 동작 환경 하에서의, 키("w")에 대한 확률 분포 함수(7601), 및 문자에 대응하는 소프트 키보드(720) 상의 다른 각각의 키에 대한 대응하는 확률 분포 함수를 나타내고 있다. 따라서, 확률 분포 함수는 각각의 키 상의 대략 중앙부에 있고 또한 이 키와 공연장되는 스프레드를 가지고 있다. 하지만, 키보드(720) 상에서의 다른 위치에서의 다른 키는 다른 형상의 확률 분포 함수를 가지고 있음을 알 수 있을 것이다.
이와 반대로, 도 7b는 키보드(720)의 사용자가 타이핑을 빨리 하고 있는 경우에서의 이들 확률 분포 함수를 나타내고 있다. 확률 분포 함수(7601)(도 7a 참조) 및 확률 분포 함수(7602)(도 2b 참조)의 대조를 통해서 알 수 있는 바와 같이, 타이핑을 더 빨리 하면 확률 분포 함수의 스프레드가 증가하게 되고 또한 확률 분포 함수의 오프셋이 키보드의 중앙부(780)를 향하도록 한다. 예를 들면, 중앙부(780)에 인접한 확률 분포 함수(760h)는 중앙부(780)로부터 더 멀리 떨어진 키와 관련되어 있는 확률 분포 함수(760j) 보다 더 적은 편이(bias)를 가지고 있다.
확률 분포 함수(760s 및 760z)의 대비는 스프레드에서의 증가량이 중앙부(780)에 대한 상대적인 키의 위치에 종속될 수 있음을 나타내고 있다. 도시되어 있는 바와 같이, 확률 분포 함수(760s)는 확률 분포 함수(760z) 보다 더 작은 스프레드를 가지고 있다. 본 발명의 발명자들은 다른 패턴의 변화가 도 3에 나타낸 키보드와 같은 분리형 키보드에서 나타날 수 있음에도 불구하고 도 1 및 2에 나타낸 키보드 스타일과 같은 QWERTY 키보드에 대해서 이와 같은 패턴의 변화가 적합함을 인식하였고 또한 이해하였다. 따라서, 서로 다른 키보드 스타일 및 검출된 타이핑 속도와 같은 기타 요인에 대해서 키보드 상의 각 키에 대한 확률 분포 함수를 모델링 하는데 사용되는 값이 제공될 수 있다.
확률 분포 함수를 특징짓는 값들은 임의의 적절한 방식으로 결정될 수 있다. 일부 실시예에 있어서, 이들 값은 경험적으로, 시행 착오적으로, 및/또는 적응적으로 결정될 수 있다. 예를 들면, 일부 실시예에 있어서, 소프트 키보드 인터페이스를 제공하는 운영 체제 또는 애플리케이션의 설계자는 복수의 잠재적인 사용자에게 타이핑을 위한 샘플 텍스트를 제공함으로써 경험적으로 정보를 수집할 수 있다. 샘플을 타이핑하는데 필요한 각각의 의도된 키에 대해서 잠재적인 각각의 사용자가 터치 스크린을 치는 소프트 키보드에 상대적인 위치의 분포를 기록하는 것에 의해서, 각각의 키에 대한 확률 분포가 생성될 수 있다. 이후에 확률 분포 함수를 이들 측정된 분포와 근사시켜서 이들 값 중에서 어떤 값이 적절한 근사를 생성시키는지를 결정할 수 있다. 이와 같은 시험법은 확률 분포 모델의 파라미터가 필요할 수 있는 각각의 조건 또는 조건의 집합 하에서 반복될 수 있다. 일단 확률 분포 함수 모델을 특징짓는 파라미터의 값이 수집되면, 이들 값은 표에 저장될 수 있으며, 또는 다르게는 소프트 키보드 인터페이스 컴포넌트에서 입수하게 될 수도 있다.
확률 분포 함수가 시행 착오적으로 어떻게 정의될 수 있는지에 대한 예시로서, 도 7a 및 7b에서는 분포 함수의 스프레드가 타이핑 속도와 함께 증가하는 것을 나타내고 있다. 타이핑 속도가 느린 경우에 각각의 키와 공연장되는 확률 분포 함수를 생성하도록 스프레드가 추정될 수 있다. 이 확률 분포 함수를 기준값으로 사용하고 또한 규칙 또는 다른 시행 착오적 방법을 사용하여 이 기준값 조건으로부터 이탈하는 조건에 적합하도록 조정될 수 있다. 예를 들면, 검출된 타이핑 속도에 기초하여, 어떤 확률 분포 함수의 적절한 스프레드는 느린 타이핑 속도에 대한 스프레드를 타이핑 속도가 증가하는 것에 비례적으로 스케일링하여 결정될 수 있다. 본 명세서에서 기술된 것과 같은 기타 요인들 및 기타 적절한 요인들을 포함하여 확률 분포 함수에 영향을 주는 다른 요인들은 확률 분포 함수를 특징짓는 파라미터의 값을 조정하기 위한 방법을 나타내는 규칙으로서 표현될 수 있다.
파라미터의 값을 적응적으로 결정할 수 있는 방식의 일례로서, 소프트 키보드 인터페이스 컴포넌트가 동작함에 따라서 예측의 정확도에 대한 정보를 수집할 수 있다. 구체적인 예시로서, 텍스트의 표시에 후속하는 사용자 입력이 임의의 특정한 위치에서의 탭 입력이 상술한 위치에 인접한 제 1 키로부터 제 2 키로 사용자가 지속적으로 변경하는 것을 나타내는 경우, 이들 키의 확률 분포 함수를 조정하여 소프트 키보드 인터페이스 컴포넌트가 제 1 키에 대한 확률보다 더 높은 확률을 할당하는 것에 의해서 동일 위치에서의 탭에 반응하도록 확률을 증가시킬 수 있다.
확률 분포 함수를 특징짓는 파라미터의 값을 결정하는 방식과는 무관하게, 이들 값을 이용하여 동작 환경을 특징지을 수 있는 임의의 바람직한 파라미터에 기초하여 선택될 수 있는 확률 분포 함수를 선택할 수 있다.
도 8a 및 8b는 키보드 레이아웃의 파라미터가 각 키에 대한 확률 분포 함수에 영향을 미칠 수 있음을 나타내고 있다. 도 8a는 소프트 키보드(8201)를 나타내고 있다. 문자 키와 관련된 확률 분포 함수는 도 7a에서와 동일한 포맷을 사용하여 도 8a에 나타내었다. 이와 반대로, 도 8b는 소프트 키보드(8202)를 나타내고 있다. 소프트 키보드(8201 및 8202)는 키보드 스타일이 동일하다. 하지만, 키보드(8202)는 인접하는 각 키와 분리되는 여백(870)을 포함하고 있다. 본 발명의 발명자들은 비교적 작은 크기의 키보드에 대해서조차, 각 키들 사이에서 시각적으로 분리된 여백(870)을 생성하게 되면 사용자가 목표로 하는 키를 누르는 정확도를 증가시킬 수 있음을 인식하고 이해하였다.
따라서, 도 8b는 확률 분포 함수(8602)의 스프레드가 확률 분포 함수(8601)의 스프레드 보다 적다. 도 8a 및 8b에서 대응하는 각 키에 대한 다른 확률 분포 함수의 대비는 다른 키에 대해서도 유사한 패턴을 보이고 있다. 구체적인 예시로서, 탭을 해석하는데 사용되는 확률 분포 함수를 결정함에 있어서 도시된 키보드 레이아웃의 파라미터를 사용할 수 있다. 따라서, 여백의 크기 및/또는 키의 크기는 해당 키에 적절한 확률 분포 함수에서 사용되는 키보드 레이아웃의 파라미터일 수 있다. 하지만, 대안적으로 또는 추가적으로 임의의 다른 파라미터를 사용할 수도 있다.
일부 실시예에 있어서, 소프트 키보드 인터페이스 컴포넌트는 파라미터를 조합한 값에 기초하여 소프트 키보드 상의 복수의 키 각각에 대한 확률 분포 함수를 선택할 수도 있다. 일부 실시예에 있어서, 이들 파라미터는 타이핑 속도, 키보드 스타일, 키의 크기, 및 여백의 크기를 포함할 수 있다. 하지만, 임의의 적절한 파라미터의 값을 사용할 수도 있음을 잘 이해할 것이다.
또한, 도 8a 및 8b는 문자 키 및 스페이스 바와 관련된 확률 분포 함수를 나타내고 있다. 소프트 키보드 인터페이스 컴포넌트는 텍스트를 처리하는데 확률 정보가 사용되는 실시예에서 이들 키에 대해서만 확률을 결정할 수 있다. 하지만, 이들 키 전부에 대해서 또는 이들 키에 대해서만 확률을 보고해야 하는 지는 본 발명의 요건이 아니다. 다른 키에 대한 확률이 보고되는 실시예들이 가능하다.
소프트 키 상에서 검출된 탭에 반응하여 확률이 보고되는 키와는 무관하게, 소프트 키보드 인터페이스 컴포넌트는 검출된 입력에 반응하여 하나 이상의 키에 대한 확률을 생성하도록 동작할 수 있다. 일부 실시예에 있어서, 소프트 키보드 인터페이스 컴포넌트는 도 9에 나타낸 방법(900)에 따라서 동작할 수 있다.
방법(900)은 복수의 단계를 포함하며, 그 중의 일부는 초기의 소프트 키보드를 표시할 때 발생될 수 있다. 도 9에 타나낸 단계 중의 다른 단계는, 각각의 탭이 검출되는 것과 같이 반복적으로 발생될 수 있다. 도 9에 나타낸 실시예에서, 단계(910, 912, 및 914)는 초기에 소프트 키보드가 표시될 때, 또는 다르게는 소프트 키보드의 초기화의 일부로서 발생될 수 있다. 또한, 일부 실시예에 있어서, 소프트 키보드 인터페이스 컴포넌트를 구현하는 프로그램의 실행시의 명시적으로 정의된 단계에서와 같이 단계(910, 912, 및 914)는 발생하지 않을 수도 있다. 오히려, 단계(910, 912, 및 914)에 의해서 구현되는 초기화 동작은 소프트 키보드 인터페이스 컴포넌트의 일부로서 코딩되어 있을 수 있다.
어떤 컴포넌트가 초기화되는 지에 대한 구체적인 방식과는 무관하게, 방법(900)은 단계(910)에서 시작될 수 있다. 단계(910)에서, 키보드 스타일이 결정될 수 있다. 일부 실시예에 있어서, 컴퓨팅 디바이스 상에서 실행되는 애플리케이션이 선호되는 키보드 스타일을 표시할 수도 있다. 예를 들면, 비공식적인, 채팅형 통신을 지원하는 애플리케이션은 축소된 기능성을 갖는 키보드를 표시하도록 요청할 수 있다. 하지만, 키보드 스타일에 대한 정보는 임의의 적절한 방식으로 획득될 수 있다. 일부 실시예에 있어서, 키보드 스타일은 직접적인 사용자 입력에 의해서 특정될 수 있으며, 이는 사용자 프로파일 또는 기타 구성 정보 소스로부터 판독될 수 있다.
키보드 스타일이 결정되는 방식과는 무관하게, 처리는 이후에 단계(912)로 진행할 수 있다. 단계(912)에서, 소프트 키보드 인터페이스 컴포넌트는 표시됨에 따라서 키보드 파라미터의 값을 결정할 수 있다. 예를 들면, 이들 키보드 파라미터는 각 키의 크기, 그 위치, 및/또는 각 키 사이의 여백의 크기일 수 있다. 이들 파라미터에 대한 값은 임의의 적절한 방식으로 결정될 수 있다. 이들 파라미터는, 예를 들면, 소프트 키보드가 표시되어지는 디바이스의 종류, 구체적으로는 디스플레이의 크기 또는 소프트 키보드에 할당되는 디스플레이 영역의 크기와 같은 요인에 종속될 수 있다.
단계(914)에서, 확률이 반환되어지는 각각의 키에 대한 디폴트 확률 분포 함수(PDF, probability distribution function)가 식별될 수 있다. 단계(914)에서 불러온 확률 분포 함수는 단계(910)에서 결정된 키보드 스타일, 및 단계(912)에서 결정된 키보드 파라미터에 기초할 수 있다. 하지만, 단계(914)에서 불러온 확률 분포 함수는 사용자가 키보드와 상호 작용을 시작하기 전에 결정될 수 있는 임의의 다른 적절한 파라미터의 값에 기초하여 선택될 수도 있다. 예를 들면, 도 9에서는 도시하지 않았지만, 일부 실시예에 있어서, 컴퓨팅 디바이스는 이 컴퓨팅 디바이스의 잠재적인 복수의 사용자 각각에 대한 프로파일 정보를 저장할 수 있다. 또한 단계(914)에서는 실제 사용자의 프로파일로부터의 정보를 사용하여 사용자에 관해 수집된 타이핑 패턴 이력 또는 기타 이력 정보에 기초하여 소프트 키보드의 각 키에 대한 적절한 확률 분포 함수를 식별할 수 있다.
확률 분포 함수를 결정하는데 사용된 구체적인 파라미터와는 무관하게, 이들 확률 분포 함수는 임의의 적절한 방법으로 표현될 수 있다. 일부 실시예에 있어서, 확률 분포 함수는 상술한 바와 같이 가우스 확률 분포 모델의 평균값 및 분산과 같은 확률 분포 모델의 파라미터에 적합한 값으로 나타내어질 수 있다. 그러나, 확률 분포 함수를 특징짓기 위한 임의의 적절한 기법들을 사용할 수도 있다. 어떻게 표현되는 것과는 무관하게, 이들 확률 분포 함수를 특징짓는데 사용된 정보는 단계(914)의 일부로서 불러올 수 있다. 일단 확률 분포 함수가 사용 가능해지면, 소프트 키보드 인터페이스 컴포넌트는 이들 확률 분포 함수를 사용하여 키보드 입력을 처리할 수 있다.
도 9는 키보드 입력을 생성하는 컴포넌트(920)를 나타내고 있다. 예를 들면, 컴포넌트(920)는 터치 스크린용 컨트롤러일 수 있다. 하지만, 컴포넌트(920)는 터치 스크린 컨트롤러에 의해서 생성되는 정보를 전처리하여 소프트 키보드 인터페이스 컴포넌트로 입력을 제공하기 전에 "탭"을 식별하는 컴포넌트를 포함하는 컴포넌트들의 수집체를 나타낼 수도 있음을 잘 이해할 것이다. 키보드 입력 소스 및 전처리와는 무관하게, 소프트 키보드 인터페이스 컴포넌트는 단계(922)에서 이들 입력을 수신할 수 있다.
단계(924)에서, 소프트 키보드 인터페이스 컴포넌트는 사용자에 대한 추정 타이핑 속도를 갱신할 수 있다. 일부 실시예에 있어서, 소프트 키보드 인터페이스 컴포넌트는 키보드 탭이 검출되는 평균 속도를 추적할 수 있다. 이 평균 속도는 사용자가 타이핑하는 속도의 표시로서 사용할 수 있고, 또한 소프트 키보드의 각 키에 대한 확률 분포 함수를 동적으로 결정하는 데에도 사용할 수 있다. 단계(924)에서 획득된 추정 타이핑 속도는 임의의 적절한 방식으로 획득될 수 있다. 하지만, 일례로서, 추정 타이핑 속도는 키보드 탭 사이에서의 동작 평균 시간으로서 유지될 수도 있다.
방법(900)은 이후에 단계(926)로 진행될 수 있다. 단계(926)에서, 단계(922)에서 수신된 입력 위치에 인접한 키가 식별될 수 있다. 단계(926)에서 선택된 각 키는 임의의 적절한 방식으로 결정될 수 있다. 일부 실시예에 있어서, 단계(926)의 일부로서 선택된 키는 단계(922)의 일부로서 수신된 입력 위치를 포함하는 임의의 키를 포함할 수 있다. 또한, 입력 위치에 인접한 임의의 키는 이 선택에 포함되어 있을 수 있다. 하지만, 확률값을 반환해야 하는 키의 서브셋을 식별하기 위한 임의의 적절한 기법을 사용할 수도 있다. 일부 실시예에 있어서, 각 키와 관련된 확률 분포 함수 상의 제한을 명시적으로 또는 암시적으로 사용하여 인접한 키를 선택할 수 있다. 예를 들면, 입력 위치에서 0이 아닌 확률 분포 함수를 갖는 임의의 키를 단계(926)의 일부로서 선택하거나, 또는 터치 접촉 형상과 교차하는 임의의 키를 사용할 수도 있다. 본 발명의 발명자들은 그와 같은 기법의 조합이라도 다양한 애플리케이션 종속적 수정 및 예측에 사용할 수 있음을 알게 되었다.
인접한 키가 선택되는 방식과는 무관하게, 단계(928)에서는, 이들 선택된 키의 확률 분포 함수가 갱신될 수 있다. 확률 분포 함수가 타이핑 속도에 종속적인 실시예에 있어서, 단계(928)에서의 갱신은 단계(924)에서 결정된 것으로서 사용될 때 단계(910 및 912)에서 결정된 특징을 갖는 키보드에 대한 적절한 확률 분포 함수를 선택하는 단계를 포괄할 수 있다. 확률 분포 함수의 기타 선택에서와 마찬가지로, 단계(928)에서의 선택은 임의의 적절한 방식으로 이루어질 수 있다. 일부 실시예에 있어서, 상술한 선택은 각각의 선택된 키와 관련된 참조표에 접근하고, 단계(910, 912, 및 914)의 일부로서 결정된 파라미터의 값을 이 참조표로의 인덱스로 사용하는 것에 의해서 이루어질 수 있다.
확률 분포 함수가 결정되는 방식과는 무관하게, 이들 확률 분포 함수를 사용하여 단계(926)의 일부로서 선택되는 인접한 각각의 키와 확률을 연관시킬 수 있다. 각각의 키에 대한 확률은 사용자가 목표로 한 키와 단계(922)에서 수신된 입력과의 확률을 나타낼 수 있다.
확률 분포 함수가 키와 관련된 앵커에 의해서 한정되는 한계에 의존하는 실시예에 있어서, 방법(900)은 수신된 입력이 앵커 내에 떨어지는지에 종속되어 결정 블록(940)에서 분기할 수 있다. 그렇다면, 방법(900)은 단계(950)로 분기할 수 있다. 단계(950)에서, 소프트 키보드 인터페이스 컴포넌트는 입력이 떨어진 앵커와 연관된 키에 1의 확률을 연관시킬 수 있다. 이후에, 처리는 이 확률이 보고되는 단계(954)로 진행할 수 있다. 도 9에 도시한 실시예에 있어서, 키보드 입력이 키의 앵커 내에 떨어지는 경우, 다른 키에 대한 확률은 보고되지 않는다. 하지만, 다른 실시예에 있어서, 임의의 적절한 방식으로 키의 앵커 내에 떨어지는 입력이 보고될 수 있다. 일부 실시예에서 사용될 수 있는 다른 일례로서, 소프트 키보드 인터페이스 컴포넌트로부터의 출력을 수신하는 후처리 컴포넌트가 임의의 적절한 방식으로 프로그램되어 앵커 내의 입력에 대한 정보를 사용할 수 있도록 다른 인접한 키와 관련된 확률과 별도로 키의 앵커 내에서 검출된 입력이 보고될 수 있다.
앵커 내의 입력이 특정되는 방식과는 무관하게, 단계(922)의 일부로서 수신된 입력이 앵커 내에 떨어지지 않는다면, 방법(900)은 단계(952)로 진행될 수 있다. 단계(952)에서, 단계(926)의 일부로서 선택된 인접한 키의 각각에 대한 확률이 결정될 수 있다. 단계(952)에서의 확률의 결정은 이들 각각의 키에서의 기준점에 상대적인 수신된 입력 위치에 기초하여 이들 인접한 각 키에 대한 갱신된 확률 분포 함수로부터의 값을 선택할 필요가 있다. 도 6a 및 6b를 관련하여 기술한 각 실시예에 있어서, 각 키의 기준점은 그 중앙부로 정하였다. 하지만, 다른 실시예에 있어서, 분리형 키보드와 같은 경우에, 기준점은 키보드의 경계 또는 기타 적절한 위치일 수 있다. 하지만, 각 키와 관련된 공간 확률 분포 함수에 기초하여 특정 위치에서의 입력에 대한 확률은 임의의 적절한 메커니즘을 사용하여 결정할 수 있다.
인접한 각각의 키에 대해서 어떤 확률이 결정되는 것과는 무관하게, 처리는 단계(954)로 진행할 수 있다. 단계(954)에서, 결정된 확률 또는 확률들은 보고될 수 있다. 이들 각 보고는 텍스트 예측 엔진과 같은 후처리 컴포넌트에 행해질 수 있다. 하지만, 임의의 후처리와는 무관하게, 소프트 키보드로부터의 입력을 수신하는 애플리케이션 또는 기타 컴포넌트에 수신된 입력과 관련된 키 또는 키들을 나타내는 정보가 제공될 수 있다. 이 입력은 본 기술 분야에서 잘 알려진 기법을 사용하여 또는 임의의 다른 적절한 방식으로 제공될 수 있다.
본 명세서에서 기술한 바와 같은 소프트 키보드 인터페이스 기법은 임의의 적절한 컴퓨팅 디바이스 내에 일체화될 수 있다. 도 10은 본 발명을 구현할 수 있는 적절한 컴퓨팅 시스템 환경(1000)의 일례를 나타내고 있다. 컴퓨팅 시스템 환경(1000)은 단지 적절한 컴퓨팅 환경의 일례일 뿐이며, 본 발명의 사용이나 기능의 범위에 대한 어떠한 한정도 제시하려고 의도하지 않는다. 또한, 컴퓨팅 환경(1000)은 예시적인 동작 환경(1000)에서 도시된 컴포넌트 중 임의의 하나 또는 그 조합에 관련된 어떠한 의존성이나 요건을 갖는 것으로 해석되어서도 아니된다.
본 발명은 다양한 기타 범용 또는 전용 컴퓨팅 시스템 환경 또는 구성과 함께 동작 가능하다. 본 발명과 함께 사용하기에 적절할 수 있는 잘 알려진 컴퓨팅 시스템, 환경, 및/또는 구성의 예로는, 개인용 컴퓨터, 서버 컴퓨터, 소지형 또는 랩톱 디바이스, 멀티 프로세서 시스템, 마이크로 프로세서 기반 시스템, 셋톱 박스, 프로그램 가능 소비자 가전, 네트워크 PC, 미니 컴퓨터, 메인 프레임 컴퓨터, 상술한 시스템 또는 디바이스 중 임의의 것을 포함하는 분산 컴퓨팅 환경 등을 포함하지만 이에 한정되지 않는다.
컴퓨팅 환경은 프로그램 모듈과 같은 컴퓨터 실행 가능 명령을 실행할 수 있다. 일반적으로, 프로그램 모듈에는 특정한 작업을 수행하거나 특정한 추상 데이터 형태를 구현한 루틴, 프로그램, 객체, 컴포넌트, 자료 구조 등이 포함된다. 또한 본 발명은 원격 처리 디바이스에 의해서 작업이 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에 있어서, 프로그램 모듈은 메모리 스토리지 디바이스를 포함하는 로컬 및 원격 컴퓨터 스토리지 매체 모두에 위치할 수 있다.
도 10을 참조하면, 본 발명을 구현하기 위한 예시적인 시스템은 컴퓨터(1010)의 형태로서의 다목적 컴퓨팅 디바이스를 구비하고 있다. 컴퓨터(1010)의 컴포넌트에는 처리 유닛(1020), 시스템 메모리(1030), 및 시스템 메모리를 처리 유닛(1020)에 접속시키는 시스템 버스(1021)가 포함될 수 있으며, 이에 한정되지는 않는다. 시스템 버스(1021)는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스, 및 임의의 다양한 버스 아키텍처를 사용하는 로컬 버스를 포함하는 임의의 몇 가지 종류의 버스 구조일 수 있다. 예시적인 것으로, 그와 같은 아키텍처는 산업 표준 아키텍처(ISA, Industry Standard Architecture) 버스, 마이크로 채널 아키텍처(MCA, Micro Channel Architecture) 버스, 확장 ISA(EISA, Enhanced ISA), 비디오 일렉트로닉스 표준 협회(VESA, Video Electronics Standards Association) 버스, 및 메짜닌(Mezzanine) 버스라고도 알려진 주변 구성 요소 상호 연결(PCI, Peripheral Component Interconnect) 버스를 포함할 수 있지만, 이에 한정되지는 않는다.
컴퓨터(1010)는 전형적으로 다양한 컴퓨터 판독 가능 매체를 포함하고 있다. 컴퓨터 판독 가능 매체는 컴퓨터(1010)에 의해서 접근 가능한 임의의 이용 가능한 매체일 수 있으며 또한 휘발성 및 비휘발성 매체, 탈착식 및 비탈착식 매체를 모두 포함할 수 있다. 예시적인 것으로, 컴퓨터 판독 가능 매체는 컴퓨터 스토리지 매체 및 통신 매체를 포함할 수 있으나, 이에 한정되지는 않는다. 컴퓨터 판독 가능 스토리지 매체는 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈, 또는 기타 데이터와 같은 정보를 저장하기에 적합한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 모두 포함하고 있다. 컴퓨터 판독 가능 스토리지 매체는 RAM, ROM, EEPROM, 플래쉬 메모리, 또는 기타 다른 메모리 기술, CD-ROM, 디지털 다용도 디스크(DVD) 또는 기타 광학적 디스크 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 소정의 정보를 저장하는데 사용할 수 있고 또한 컴퓨터(1010)에 의해서 접근 가능한 기타 임의의 매체를 포함하고 있으며, 이에 한정되지는 않는다. 통신 매체는 전형적으로 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈, 또는 기타 데이터를 구현하고 있다. "변조된 데이터 신호"라는 용어는 어떤 신호를 의미하는 용어로서, 신호 중의 하나 이상의 특징이 고정되거나 변경되어 정보가 상기 신호 내에 부호화된 것을 의미한다. 예를 들어, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음향, RF, 적외선, 및 기타 무선 매체와 같은 무선 매체를 포함할 수 있지만, 본 발명은 이들만으로 제한하지는 않는다. 또한 이들 중 임의의 것들을 조합한 것 역시 컴퓨터 판독 가능 매체의 범위 내에 포함되어져야 한다.
시스템 메모리(1030)는 판독 전용 메모리(ROM)(1031) 및 랜덤 액세스 메모리(RAM)(1032)와 같은 휘발성 및/또는 비휘발성 메모리의 형태로서의 컴퓨터 스토리지 매체를 포함한다. 시동(start-up) 중과 같은 컴퓨터(1010) 내의 구성 요소 사이에서의 정보 전달을 용이하게 하는 기본 루틴을 포함하는 기본 입력/출력 시스템(1033)(BIOS)은 전형적으로 ROM(1031) 내에 저장되어 있다. RAM(1032)은 전형적으로 처리 유닛(1020)에 의해 즉시 접근 가능하거나 및/또는 현재 동작되고 있는 데이터 및/또는 프로그램 모듈을 포함하고 있다. 예시적인 것으로서, 도 10은 운영 체제(1034), 애플리케이션 프로그램(1035), 기타 프로그램 모듈(1036), 및 프로그램 데이터(1037)를 나타내고 있지만, 이에 한정되지는 않는다.
또한 컴퓨터(1010)는 기타 탈착식/비탈착식, 휘발성/비휘발성 컴퓨터 스토리지 매체를 포함할 수 있다. 예시적인 것으로만, 도 10은 비탈착식, 비휘발성 자기 매체를 판독하고 이에 기입하는 하드 디스크 드라이브(1041), 탈착식, 비휘발성 자기 디스크(1052)를 판독하고 이에 기입하는 자기 디스크 드라이브(1051), 및 CD ROM이나 기타 광학 매체와 같은 탈착식, 비휘발성 광학 디스크(1056)를 판독하고 이에 기입하는 광학 디스크 드라이브(1055)를 도시하고 있다. 예시적인 동작 환경에서 사용될 수 있는 기타 탈착식/비탈착식 휘발성/비휘발성 컴퓨터 스토리지 매체는, 자기 테이프 카세트, 플래시 메모리 카드, 디지털 다용도 디스크(DVD), 디지털 비디오 테이프, 솔리드 스테이트 RAM, 솔리드 스테이트 ROM 등을 포함하지만, 이에 한정되지는 않는다. 하드 디스크 드라이브(1041)는 전형적으로 인터페이스(1040)와 같은 비탈착식 메모리 인터페이스를 통해 시스템 버스(1021)에 접속되고, 자기 디스크 드라이브(1051) 및 광학 디스크 드라이브(1055)는 전형적으로 인터페이스(1050)와 같은 탈착식 메모리 인터페이스에 의해 시스템 버스(1021)에 접속된다.
상술하고 또한 도 10에 도시된 드라이브와 이들과 관련된 컴퓨터 스토리지 매체는 컴퓨터(1010)를 위한 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈 및 기타 데이터의 저장소를 제공한다. 예를 들면, 도 10에서 하드 디스크 드라이브(1041)는 운영 체제(1044), 애플리케이션 프로그램(1045), 기타 프로그램 모듈(1046), 및 프로그램 데이터(1047)를 저장하는 것으로서 도시되어 있다. 이들 컴포넌트는 운영 체제(1034), 애플리케이션 프로그램(1035), 기타 프로그램 모듈(1036), 및 프로그램 데이터(1037)와 동일하거나 상이할 수 있다. 본 도면에서는 운영 체제(1044), 애플리케이션 프로그램(1045), 기타 프로그램 모듈(1046), 및 프로그램 데이터(1047)에 대해서 다른 번호를 부여하였으며, 이는 최소한 이들이 서로 다른 복제품임을 나타내고 있다. 사용자는, 키보드(1062) 및 일반적으로 마우스, 트랙볼 또는 터치 패드로 지칭되는 포인팅 디바이스(1061)와 같은 입력 디바이스를 통해서 컴퓨터(1010)에 명령어 및 정보를 입력할 수 있다. 하지만, 터치 스크린을 입력 및 출력 디바이스로 사용하는 실시예에 있어서는 이와 같은 종류의 별도의 인간 인터페이스 디바이스가 없을 수 있다. 이들 컴포넌트 대신에 또는 추가하여 제시될 수 있는 다른 입력 디바이스(미도시)에는 마이크로 폰, 조이스틱, 게임 패드, 위성 접시, 스캐너, 등이 포함될 수 있다. 이들 및 기타 입력 디바이스는 종종 시스템 버스에 결합되는 사용자 입력 인터페이스(1060)를 통해 처리 유닛(1020)에 접속되지만, 병렬 포트, 게임 포트, 또는 USB(universal serial bus)와 같은 기타 인터페이스 및 버스 구조에 의해 접속될 수도 있다. 또한 모니터(1091) 또는 기타 유형의 디스플레이 디바이스는 비디오 인터페이스(1090)와 같은 인터페이스를 통해 시스템 버스(1021)에 접속된다. 디스플레이 디바이스는 상술한 바와 같이 터치 스크린일 수 있으며, 또한 컴퓨팅 디바이스의 본체 내에 일체로 형성될 수도 있다. 모니터에 덧붙여, 컴퓨터는 또한 출력 주변 인터페이스(1095)를 통해 접속될 수 있는 스피커(1097) 및 프린터(1096)와 같은 기타 주변 출력 디바이스도 포함할 수 있다.
컴퓨터(1010)는 원격 컴퓨터(1080)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하는 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(1080)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 디바이스 또는 기타 통상적인 네트워크 노드일 수 있으며, 전형적으로 컴퓨터(1010)에 대해서 상술한 다수 또는 전체 구성 요소를 포함하지만, 도 10에서는 메모리 스토리지 디바이스(1081)만 도시되어 있다. 도 10에서 묘사된 논리 연결은 근거리 통신망(LAN)(1071) 및 광역 통신망(WAN)(1073)을 포함하고 있지만, 또한 기타 네트워크를 포함하고 있다. 이와 같은, 네트워크 환경은 사무실, 기업 규모 컴퓨터 네트워크, 인트라넷, 및 인터넷에서는 보편적이다.
네트워크 환경 하에서 사용되는 경우, 컴퓨터(1010)는 네트워크 인터페이스 또는 어댑터(1070)를 통해서 LAN(1071)에 접속된다. WAN 네트워킹 환경 하에서 사용되는 경우, 컴퓨터(1010)는 통상적으로 인터넷과 같은 WAN(1073)을 통해서 통신을 확립시키기 위한 모뎀(1072) 또는 기타 수단을 포함하고 있다. 내장형 또는 외장형모뎀(1072)은, 사용자 입력 인터페이스(1060) 또는 기타 적절한 메커니즘을 통해서 시스템 버스(1021)에 연결될 수 있다. 네크워크화된 환경 하에서, 컴퓨터(1010) 또는 그들의 일부분에 대해서 묘사하고 있는 프로그램 모듈은 원격 메모리 스토리지 디바이스에 저장되어 있을 수 있다. 예시적인 것으로서, 도 10은 메모리 디바이스(1081) 상에 존재하는 것으로서의 원격 애플리케이션 프로그램(1085)을 도시하고 있지만, 이에 한정되지는 않는다. 도시된 네트워크 연결은 예시적인 것이고 또한 컴퓨터 사이의 통신 링크를 확립할 수 있는 기타 수단도 사용 가능하다는 것을 잘 이해할 것이다.
따라서 상술한 설명은 본 발명의 적어도 하나의 실시예의 몇 가지 특징에 대해서 설명하고 있지만, 본 기술 분야에서의 통상의 지식을 가진 자에게는 간단하게 다양한 변형, 변경, 및 개선이 가능함을 잘 이해할 것이다.
예를 들면, 키보드의 사용자 활성화는 "탭"(tap)을 통해서 수행되는 것으로 기술되어 있다. 또한 사용자 입력은 키보드를 가로지르는 손가락의 마찰에 기초하여 검출될 수 있다. 따라서, 사용자 활성화를 나타내는 임의의 적절한 제스처가 사용자 입력으로서 인식되고 또한 해석될 수 있음을 잘 이해할 것이다.
그와 같은 변형, 변경, 및 개선은 본 개시의 일부분이 되도록 의도되며, 또한 본 발명의 사상 및 범주 내에 있도록 의도된다. 또한, 본 발명의 각 장점들에 대해서 나타내고 있음에도 불구하고, 본 발명의 모든 실시예가 상술한 모든 장점을 포함하지 않을 수 있음을 잘 이해할 것이다. 일부 실시예는 본 명세서에서 유리한 것으로서 기술된 어떤 특징을 일부 경우에 있어서 구현하지 않을 수도 있다. 따라서, 상술한 설명 및 첨부 도면은 오로지 예시일 뿐이다.
본 발명의 상술한 각 실시예는 임의의 다양한 방식으로 구현될 수 있다. 예를 들면, 각 실시예는 하드웨어, 소프트웨어 또는 이들의 조합을 사용하여 구현될 수 있다. 소프트웨어로 구현되는 경우, 단일 컴퓨터로 제공되든 복수의 컴퓨터 사이에서 분산되든 소프트웨어 코드는 임의의 적절한 프로세서 또는 프로세서의 집합체 상에서 수행될 수 있다. 그와 같은 프로세서는 집적 회로 컴포넌트 내에 하나 이상의 프로세서를 갖는 집적 회로로서 구현될 수 있다. 하지만, 일 프로세서는 임의의 적절한 포맷으로 회로를 사용하여 구현될 수도 있다.
또한, 컴퓨터는 랙(rack) 장착형 컴퓨터, 데스크톱 컴퓨터, 랩톱 컴퓨터, 또는 태블릿 컴퓨터와 같은 임의의 다양한 형태로 구현될 수 있음을 잘 이해할 것이다. 또한, 컴퓨터는, 휴대용 개인 정보 단말기(PDA, Personal Digital Assistant), 스마트폰, 또는 임의의 기타 적절한 휴대형 또는 고정식 전자 디바이스를 포함하는, 일반적으로는 컴퓨터라고 간주되지는 않지만 적절한 처리 능력을 갖는 디바이스 내에 내장될 수 있다.
또한, 컴퓨터는 하나 이상의 입력 및 출력 디바이스를 가지고 있을 수 있다. 이들 각 디바이스는 다른 무엇보다도 먼저 사용자 인터페이스를 나타내는데 사용될 수 있다. 사용자 인터페이스를 제공하는데 사용될 수 있는 출력 디바이스의 예로는 출력을 시각적으로 표현하기 위한 프린터 또는 디스플레이 스크린, 및 출력을 청각적으로 표현하기 위한 스피커 또는 기타 음성 생성 디바이스가 포함된다. 사용자 인터페이스로서 사용될 수 있는 입력 디바이스의 예로는 키보드, 및 마우스, 터치 패드, 및 디지타이징 태블릿과 같은 포인팅 디바이스가 포함된다. 다른 예로는, 컴퓨터는 음성 인식을 통해서 또는 기타 가청 포맷으로서의 입력 정보를 수신할 수 있다.
이와 같은 컴퓨터는 근거리 통신망 또는 기업 네트워크나 인터넷과 같은 광역 통신망을 포함하는 임의의 적절한 형태로 하나 이상의 네트워크에 의해 상호 접속될 수 있다. 이와 같은 네트워크는 임의의 적절한 기술에 기초할 수 있고, 또한 임의의 적절한 프로토콜에 따라 동작할 수 있으며, 무선망, 유선망, 또는 광섬유망을 포함할 수 있다.
또한, 본 명세서에서 개략적으로 설명된 다양한 방법 또는 처리 프로세스는 다양한 운영 체제나 플랫폼 중 임의의 하나를 구현하는 하나 이상의 프로세서 상에서 실행 가능한 소프트웨어로서 코딩될 수 있다. 추가적으로, 이와 같은 소프트웨어는 다수의 적당한 프로그래밍 언어 및/또는 프로그래밍 또는 스크립팅 툴 중 임의의 것을 이용하여 기입될 수 있고, 또한 프레임워크 또는 가상 머신 상에서 실행되는 실행 가능한 기계어 코드나 중간 코드로서 컴파일될 수도 있다.
이와 관련하여, 본 발명은, 하나 이상의 컴퓨터 또는 기타 프로세서 상에서 실행될 때, 상술한 본 발명의 다양한 실시예를 구현하는 방법을 수행하는 하나 이상의 프로그램으로 인코딩되는 컴퓨터 판독 가능 스토리지 매체(또는 복수의 컴퓨터 판독 가능 매체)(예를 들어, 컴퓨터 메모리, 하나 이상의 플로피 디스크, 컴팩트 디스크(CD), 광학 디스크, DVD(digital video disk), 자기 테이프, 플래시 메모리, FPGA(Field Programmable Gate Array) 또는 기타 반도체 디바이스 내의 회로 구성, 또는 기타 접촉 가능한 컴퓨터 스토리지 매체)로 구현될 수 있다. 상술한 실시예들로부터 명백한 바와 같이, 컴퓨터 판독 가능 스토리지 매체는 비속적 형태의 컴퓨터 실행 가능한 명령을 제공하도록 충분한 시간 동안 정보를 유지할 수 있다. 이와 같은 컴퓨터 판독 가능 스토리지 매체 또는 매체들은 이동 가능하며, 따라서 이들 내부에 저장된 프로그램 또는 프로그램들이 하나 이상의 다른 컴퓨터 또는 다른 프로세서에 로딩되어 상술한 본 발명의 다양한 특징을 구현할 수 있다. 본 명세서에서 사용된 " 컴퓨터 판독 가능 스토리지 매체"라는 용어는 제조품(즉, 제품) 또는 기계로 간주될 수 있는 컴퓨터 판독 가능 매체만을 포함한다. 대안적으로 또는 추가적으로, 본 발명은 전파되는 신호와 같은, 컴퓨터 판독 가능 스토리지 매체 이외의 컴퓨터 판독 가능 매체로서 구현될 수 있다.
본 명세서에서 사용된 "프로그램" 또는 "소프트웨어"라는 용어는, 상술한 본 발명의 다양한 특징을 구현하기 위해 컴퓨터나 기타 프로세서를 프로그래밍하는데 채택될 수 있는 임의의 형태의 컴퓨터 코드 또는 컴퓨터 실행 가능 명령 세트를 언급하는 일반적인 의미로 사용되었다. 추가적으로, 본 실시예의 일 특징에 따르면, 실행될 때 본 발명의 방법을 수행하는 하나 이상의 컴퓨터 프로그램은 단일 컴퓨터 또는 프로세서에 상주할 필요는 없고, 오히려 본 발명의 다양한 특징을 구현하기 위하여 다수의 다른 컴퓨터 또는 프로세서 사이에서 모듈화된 방식으로 분산될 수 있음을 잘 이해할 것이다.
컴퓨터 실행 가능 명령은 하나 이상의 컴퓨터 또는 기타 디바이스에 의해 실행되는 프로그램 모듈과 같은 다양한 형태로 존재할 수 있다. 일반적으로, 프로그램 모듈에는 특정한 작업을 수행하거나 특정한 추상 데이터 형태를 구현한 루틴, 프로그램, 객체, 컴포넌트, 자료 구조 등이 포함된다. 전형적으로, 프로그램 모듈의 기능은 다양한 실시예에서 요청되는 바에 따라서 조합되거나 분산될 수 있다.
또한, 데이터 구조는 임의의 적절한 형태로 컴퓨터 판독 가능 매체 내에 저장될 수 있다. 설명을 단순하게 하기 위해서, 데이터 구조는 데이터 구조 내의 위치를 통해 관계되는 필드를 갖는 것으로 나타낼 수 있다. 이와 같은 관계는 필드 간의 관계를 유지하는 컴퓨터 판독 가능 매체 내에서의 위치를 갖는 필드에 적합한 스토리지를 할당하여 동일하게 달성될 수 있다. 그러나, 임의의 적절한 메커니즘을 사용하여, 데이터 요소 간의 관계를 확립하는 포인터, 태그 또는 기타 메커니즘의 사용을 포함하여, 데이터 구조 필드 내의 정보 간의 관계를 확립할 수도 있다.
본 발명의 다양한 특징은 단독으로, 조합하여, 또는 상술한 설명에서의 실시예에서 설명하지 않은 다양한 배치로도 사용될 수 있으며, 따라서 상술한 발명의 상세한 설명에 제시되거나, 첨부한 도면에 개시된 컴포넌트의 세부 사항 및 배치에 한정되지 않는다. 예를 들면, 일 실시예서 기술한 특징은 다른 실시예에서 기술한 특징과 임의의 방법으로 조합될 수 있다.
또한, 본 발명은 방법으로도 구현될 수 있으며, 그중에서 일 실시예를 제공하였다. 방법의 일부로서 수행되는 단계는 임의의 적절한 방식으로 순서가 정해질 수 있다. 따라서, 도시된 것과 다른 순서로 단계가 수행되는 실시예가 구성될 수 있으며, 이 실시예는 설명한 실시예에서는 순차적 단계로서 나타내었지만 일부 단계의 동시 수행을 포함할 수 있다.
특허청구범위에서 청구 요소를 수식하는 "제 1", "제 2", "제 3" 등과 같은 순서를 의미하는 용어는 그 자체로서 어떠한 하나의 청구 요소가 다른 청구 요소에 대해서 우선권, 우위, 또는 순서가 있다거나 또는 어떤 방법의 동작이 실행되는 일시적인 순서를 함의하도록 사용되는 것이 아니라, 단지 각 청구 요소를 구별하기 위해서 (순서를 의미하는 용어를 사용하지 않았다면) 동일한 명칭을 갖는 다른 청구 요소로부터 특정 명칭을 갖는 하나의 청구 요소를 구별하도록 하기 위한 표지로서 사용될 뿐이다.
또한, 본 명세서에서 사용된 기술 용어 및 전문 용어는 설명의 목적을 위한 것이며 본 발명을 제한하는 것으로 간주되어서는 아니된다. 본 명세서에서 "구비하는", "포함하는" 또는 "갖고 있는", "포함하고 있는", "포괄하는", 및 이들의 변형 표현은 이들 표현의 뒤쪽에서 열거된 항목들을 모두 포함하는 것을 의미한다.
110 : 컴퓨팅 디바이스 112 : 터치 스크린
120 : 소프트 키보드 130 : 디스플레이 영역
220 : 소프트 키보드 320A, 320B : 소프트 키보드 영역
720 : 소프트 키보드 780 : 중앙부
870 : 여백 920 : 컴포넌트
1000 : 컴퓨팅 환경 1010 : 컴퓨터
1021 : 시스템 버스 1034 : 운영 체제
1035 : 애플리케이션 프로그램 1036 : 기타 프로그램 모듈
1037 : 프로그램 데이터 1041 : 하드 디스크 드라이브
1044 : 운영 체제 1045 : 애플리케이션 프로그램
1046 : 기타 프로그램 모듈 1047 : 프로그램 데이터
1061 : 포인팅 디바이스 1062 : 키보드
1070 : 네트워크 인터페이스 1080 : 원격 컴퓨터
1081 : 메모리 디바이스 1085 : 원격 애플리케이션 프로그램
X1 : 평균값 X2 : 평균값
σχ1 : 스프레드
120 : 소프트 키보드 130 : 디스플레이 영역
220 : 소프트 키보드 320A, 320B : 소프트 키보드 영역
720 : 소프트 키보드 780 : 중앙부
870 : 여백 920 : 컴포넌트
1000 : 컴퓨팅 환경 1010 : 컴퓨터
1021 : 시스템 버스 1034 : 운영 체제
1035 : 애플리케이션 프로그램 1036 : 기타 프로그램 모듈
1037 : 프로그램 데이터 1041 : 하드 디스크 드라이브
1044 : 운영 체제 1045 : 애플리케이션 프로그램
1046 : 기타 프로그램 모듈 1047 : 프로그램 데이터
1061 : 포인팅 디바이스 1062 : 키보드
1070 : 네트워크 인터페이스 1080 : 원격 컴퓨터
1081 : 메모리 디바이스 1085 : 원격 애플리케이션 프로그램
X1 : 평균값 X2 : 평균값
σχ1 : 스프레드
Claims (19)
- 소프트 키보드를 갖는 컴퓨팅 디바이스의 동작 방법으로서,
(i) 탭들(taps) 사이의 평균 시간 및 (ii) 상기 소프트 키보드의 스타일 중 적어도 하나에 대한 적어도 하나의 특징을 판정하는 단계와,
상기 소프트 키보드 상의 복수의 키 각각에 대해, 확률 분포 함수의 평균 및 상기 확률 분포 함수의 스프레드(spread)에 대한 표시(indication)를 결정하는 단계- 상기 평균 및 상기 스프레드에 대한 표시는 적어도 하나의 상기 판정된 특징에 기초하여 결정됨 -와,
적어도 하나의 처리 회로 상에서 실행되는 소프트 키보드 인터페이스를 사용하여,
상기 소프트 키보드를 통해서 수신된 제1 입력에 응답하여,
상기 확률 분포 함수에 기초하여, 제1 세트의 확률을 생성하는 단계- 상기 제1 세트의 확률은 제1 키가 상기 제1 입력의 목표가 되었을 확률을 나타내는 제1 표시, 및 제2 키가 상기 제1 입력의 목표가 되었을 확률을 나타내는 제2 표시를 포함함 -와,
상기 적어도 하나의 처리 회로 상에서 실행되는 텍스트 예측 엔진에 상기 제1 세트의 확률을 제공하는 단계와,
상기 소프트 키보드를 통해서 수신된 제2 입력에 응답하여,
상기 확률 분포 함수에 기초하여, 제2 세트의 확률을 생성하는 단계- 상기 제2 세트의 확률은 제3 키가 상기 제2 입력의 목표가 되었을 확률을 나타내는 제3 표시, 및 제4 키가 상기 제2 입력의 목표가 되었을 확률을 나타내는 제4 표시를 포함함 -와,
상기 적어도 하나의 처리 회로 상에서 실행되는 상기 텍스트 예측 엔진에 상기 제2 세트의 확률을 제공하는 단계와,
상기 텍스트 예측 엔진을 사용하여, 의도된 단어를,
상기 제1 키가 상기 제1 입력의 목표가 되었을 확률을 나타내는 상기 제1 표시,
상기 제2 키가 상기 제1 입력의 목표가 되었을 확률을 나타내는 상기 제2 표시,
상기 제3 키가 상기 제2 입력의 목표가 되었을 확률을 나타내는 상기 제3 표시, 및
상기 제4 키가 상기 제2 입력의 목표가 되었을 확률을 나타내는 상기 제4 표시
에 기초하여 예측하는 단계
를 포함하는 컴퓨팅 디바이스의 동작 방법.
- 제 1 항에 있어서,
상기 확률 분포 함수의 평균 및 상기 확률 분포 함수의 스프레드에 대한 표시는 상기 탭들 사이의 상기 평균 시간에도 기초하는
컴퓨팅 디바이스의 동작 방법.
- 제 1 항에 있어서,
상기 확률 분포 함수의 평균 및 상기 확률 분포 함수의 스프레드에 대한 표시는 상기 소프트 키보드의 스타일에도 기초하는
컴퓨팅 디바이스의 동작 방법.
- 제 1 항에 있어서,
상기 확률 분포 함수의 평균 및 상기 확률 분포 함수의 스프레드에 대한 표시는 상기 소프트 키보드 상에서의 기준 위치에 대한 상기 키의 위치에도 기초하는
컴퓨팅 디바이스의 동작 방법.
- 제 4 항에 있어서,
상기 확률 분포 함수의 평균 및 상기 확률 분포 함수의 스프레드에 대한 표시는 상기 키의 크기에도 기초하는
컴퓨팅 디바이스의 동작 방법.
- 제 5 항에 있어서,
상기 복수의 키 각각에 대한 상기 확률 분포 함수는 상기 키의 중앙에 대해 측정되는 평균을 갖는 2차원 공간 확률 분포 함수이고,
상기 확률 분포 함수의 적어도 하나의 파라미터는 함수 피팅(function fitting)에 의해 획득되는
컴퓨팅 디바이스의 동작 방법.
- 컴퓨터 실행가능 명령어를 포함하는 적어도 하나의 컴퓨터 판독가능 저장 매체로서,
상기 컴퓨터 실행가능 명령어는 실행되는 경우 소프트 키보드로부터의 입력을 처리하는 컴퓨팅 디바이스 상의 소프트 키보드 인터페이스 및 상기 컴퓨팅 디바이스 상의 텍스트 예측 엔진을 동작시키는 방법을 수행하고, 상기 방법은
상기 소프트 키보드 인터페이스에 의해, 소프트 키보드의 제1 위치의 제1 활성화에 대한 표시를 수신하는 단계와,
상기 소프트 키보드 인터페이스에 의해, 제1 확률 분포 함수의 평균 및 상기 제1 확률 분포 함수의 스프레드에 대한 표시에 적어도 부분적으로 기초한 제1 확률을 상기 텍스트 예측 엔진에 제공하는 단계- 상기 제1 확률은 상기 소프트 키보드의 제1 키가 상기 제1 활성화의 목표가 되었을 가능성을 나타내고, 상기 제1 확률 분포 함수의 평균 및 상기 제1 확률 분포 함수의 스프레드에 대한 표시는 상기 소프트 키보드를 통해 수신되는 입력의 타이핑 속도 또는 상기 소프트 키보드의 스타일에 적어도 부분적으로 기초함 -와,
상기 소프트 키보드 인터페이스에 의해, 제2 확률 분포 함수의 평균 및 상기 제2 확률 분포 함수의 스프레드에 대한 표시에 적어도 부분적으로 기초한 제2 확률을 상기 텍스트 예측 엔진에 제공하는 단계- 상기 제2 확률은 상기 소프트 키보드의 제2 키가 상기 제1 활성화의 목표가 되었을 가능성을 나타내고, 상기 제2 확률 분포 함수의 평균 및 상기 제2 확률 분포 함수의 스프레드에 대한 표시는 상기 소프트 키보드를 통해 수신되는 입력의 타이핑 속도 또는 상기 소프트 키보드의 스타일에 적어도 부분적으로 기초함 -와,
상기 소프트 키보드 인터페이스에 의해, 상기 소프트 키보드의 제2 위치의 제2 활성화에 대한 표시를 수신하는 단계와,
상기 소프트 키보드 인터페이스에 의해, 제3 확률 및 제4 확률을 상기 텍스트 예측 엔진에 제공하는 단계- 상기 제3 확률은 상기 소프트 키보드의 제3 키가 상기 제2 활성화의 목표가 되었을 가능성을 나타내고, 상기 제4 확률은 상기 소프트 키보드의 제4 키가 상기 제2 활성화의 목표가 되었을 가능성을 나타냄 -와,
상기 텍스트 예측 엔진에 의해, 상기 제1, 제2, 제3 및 제4 확률을 상기 소프트 키보드 인터페이스로부터 수신하는 단계와,
상기 텍스트 예측 엔진에 의해, 상기 소프트 키보드 인터페이스로부터의 상기 제1, 제2, 제3 및 제4 확률에 따라 단어를 예측하는 단계를 포함하는
컴퓨터 판독가능 저장 매체.
- 제 7 항에 있어서,
상기 방법은
상기 소프트 키보드 인터페이스에 의해, 상기 소프트 키보드의 제3 위치의 제3 활성화에 대한 표시를 수신하는 단계와,
상기 소프트 키보드 인터페이스에 의해, 상기 제3 활성화의 위치는 상기 소프트 키보드의 제5 키의 중앙 영역 내에 있다고 판정하는 단계와,
상기 소프트 키보드 인터페이스에 의해, 상기 제5 키가 활성화되었다는 표시를 제공하는 단계
를 더 포함하는
컴퓨터 판독가능 저장 매체.
- 제 7 항에 있어서,
상기 컴퓨터 판독가능 저장 매체는 상기 제1 및 제2 확률 분포 함수를 계산하는 명령어를 더 저장하되,
상기 방법은 상기 제1 및 제2 확률 분포 함수를 계산하는 상기 저장된 명령어 및 상기 컴퓨팅 디바이스의 디스플레이 상에서의 상기 소프트 키보드의 레이아웃에 대한 표시를 사용하여 상기 제1 및 제2 확률 분포 함수를 계산하는 단계를 더 포함하는
컴퓨터 판독가능 저장 매체.
- 제 9 항에 있어서,
상기 소프트 키보드를 통해 수신되는 상기 입력의 타이핑 속도는 상기 키보드의 사용자 활성화들 간의 측정된 평균 시간에 기초하는
컴퓨터 판독가능 저장 매체.
- 제 10 항에 있어서,
상기 제1 및 제2 확률 분포 함수를 계산하는 명령어는 상기 소프트 키보드를 통해 수신되는 상기 입력의 타이핑 속도의 증가에 응답하여 상기 제1 확률 분포 함수의 상기 스프레드에 대한 표시를 증가시키는 명령어를 포함하는
컴퓨터 판독가능 저장 매체.
- 제 10 항에 있어서,
복수의 상기 키보드 레이아웃은
QWERTY 키보드와,
축소된 QWERTY 키보드와,
분리형 키보드
를 포함하는
컴퓨터 판독가능 저장 매체.
- 제 12 항에 있어서,
상기 제1 및 제2 확률 분포 함수를 계산하는 명령어는 상기 제1 및 제2 확률 분포 함수 각각에 대한 오프셋을 결정하는 명령어를 포함하고,
상기 오프셋은
상기 소프트 키보드를 통해 수신되는 상기 입력의 타이핑 속도의 증가에 기초하여 증가되고,
QWERTY 및 축소된 QWERTY 키보드를 위해 상기 소프트 키보드의 중앙 부분쪽으로 갈수록 감소되고, 및/또는
분리형 키보드를 위해 상기 소프트 키보드의 에지로부터 멀어질수록 증가되는
컴퓨터 판독가능 저장 매체.
- 소프트 키보드를 시각적으로 제시하도록 구성된 디스플레이와,
상기 소프트 키보드의 활성화에 대한 표시를 제공하도록 구성된 터치스크린 제어기와,
상기 소프트 키보드와 연관된 타이핑 속도를 모니터링하도록 구성된 키보드 인터페이스와,
프로세서를 포함하되,
상기 프로세서는 영역 내에서의 다수의 활성화 각각에 대해, 각 활성화의 위치에 인접한 키 세트 중의 각 키에 대한 확률을, 상기 각 활성화의 상기 위치에 인접한 상기 키 세트 중의 각 키에 대한 확률 분포 함수의 제각기의 평균과 상기 확률 분포 함수의 스프레드에 대한 제각기의 표시에 적어도 부분적으로 기초하여 제공하도록 구성되고, 각각의 상기 확률은 연관된 키가 해당 활성화의 목표가 되었을 가능성을 나타내고, 상기 확률 분포 함수는 상기 소프트 키보드의 타이핑 속도 및 상기 소프트 키보드의 스타일 중 적어도 하나에 적어도 부분적으로 기초하며,
상기 프로세서는
제1 키가 상기 다수의 활성화 중 제1 활성화의 목표가 되었을 제1 가능성,
제2 키가 상기 다수의 활성화 중 상기 제1 활성화의 목표가 되었을 제2 가능성,
제3 키가 상기 다수의 활성화 중 제2 활성화의 목표가 되었을 제3 가능성, 및
제4 키가 상기 다수의 활성화 중 상기 제2 활성화의 목표가 되었을 제4 가능성
에 기초하여 단어를 예측하도록 구성된
컴퓨팅 디바이스.
- 제 14 항에 있어서,
각각의 상기 확률은 상기 소프트 키보드의 레이아웃에 기초하는
컴퓨팅 디바이스.
- 제 14 항에 있어서,
상기 프로세서는 또한
상기 키 세트의 각 키에 대해, 각 키에 인접한 위치에서의 주어진 활성화가 상기 각 키를 작동시키려는 의도를 나타낼 확률을 표현하는 상기 확률 분포 함수를 계산하고,
상기 제공되는 확률을 상기 확률 분포 함수에 기초하여 결정하도록 구성된
컴퓨팅 디바이스.
- 제 16 항에 있어서,
상기 프로세서는 또한 상기 타이핑 속도에 기초하여 가우시안 분포의 파라미터의 선택을 통해 상기 확률 분포 함수를 계산하도록 구성된
컴퓨팅 디바이스.
- 제 14 항에 있어서,
각각의 상기 확률은 또한 상기 소프트 키보드 상에서 인접 키들 간의 여백의 크기에 기초하는
컴퓨팅 디바이스.
- 제 14 항에 있어서,
상기 컴퓨팅 디바이스는 태블릿 폼 팩터를 갖는
컴퓨팅 디바이스.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/230,723 | 2011-09-12 | ||
US13/230,723 US9262076B2 (en) | 2011-09-12 | 2011-09-12 | Soft keyboard interface |
PCT/US2011/055816 WO2013039532A1 (en) | 2011-09-12 | 2011-10-11 | Soft keyboard interface |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140059806A KR20140059806A (ko) | 2014-05-16 |
KR101808377B1 true KR101808377B1 (ko) | 2017-12-12 |
Family
ID=47696771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147006539A KR101808377B1 (ko) | 2011-09-12 | 2011-10-11 | 소프트 키보드 인터페이스 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9262076B2 (ko) |
EP (1) | EP2756369B1 (ko) |
JP (1) | JP5951776B2 (ko) |
KR (1) | KR101808377B1 (ko) |
CN (1) | CN102937871B (ko) |
WO (1) | WO2013039532A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190089446A (ko) * | 2018-01-22 | 2019-07-31 | 주식회사 노타 | 터치 입력 프로세싱 방법 및 디바이스 |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201108200D0 (en) * | 2011-05-16 | 2011-06-29 | Touchtype Ltd | User input prediction |
US8621380B2 (en) | 2010-01-06 | 2013-12-31 | Apple Inc. | Apparatus and method for conditionally enabling or disabling soft buttons |
US20110242138A1 (en) * | 2010-03-31 | 2011-10-06 | Tribble Guy L | Device, Method, and Graphical User Interface with Concurrent Virtual Keyboards |
US8754860B2 (en) | 2010-11-05 | 2014-06-17 | Apple Inc. | Device, method, and graphical user interface for manipulating soft keyboards |
US8587547B2 (en) | 2010-11-05 | 2013-11-19 | Apple Inc. | Device, method, and graphical user interface for manipulating soft keyboards |
US9250798B2 (en) | 2011-01-24 | 2016-02-02 | Apple Inc. | Device, method, and graphical user interface with a dynamic gesture disambiguation threshold |
US9436381B2 (en) | 2011-01-24 | 2016-09-06 | Apple Inc. | Device, method, and graphical user interface for navigating and annotating an electronic document |
US8490008B2 (en) | 2011-11-10 | 2013-07-16 | Research In Motion Limited | Touchscreen keyboard predictive display and generation of a set of characters |
US9310889B2 (en) | 2011-11-10 | 2016-04-12 | Blackberry 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 |
EP2802975B1 (en) * | 2012-01-09 | 2018-05-16 | Google LLC | Intelligent touchscreen keyboard with finger differentiation |
US9152323B2 (en) | 2012-01-19 | 2015-10-06 | Blackberry Limited | Virtual keyboard providing an indication of received input |
US9244612B1 (en) * | 2012-02-16 | 2016-01-26 | Google Inc. | Key selection of a graphical keyboard based on user input posture |
WO2013123572A1 (en) | 2012-02-24 | 2013-08-29 | Research In Motion Limited | Touchscreen keyboard providing word predictions in partitions of the touchscreen keyboard in proximate association with candidate letters |
US9116552B2 (en) | 2012-06-27 | 2015-08-25 | Blackberry Limited | Touchscreen keyboard providing selection of word predictions in partitions of the touchscreen keyboard |
US9063653B2 (en) | 2012-08-31 | 2015-06-23 | Blackberry Limited | Ranking predictions based on typing speed and typing confidence |
US9524290B2 (en) * | 2012-08-31 | 2016-12-20 | Blackberry Limited | Scoring predictions based on prediction length and typing speed |
CN108710406B (zh) * | 2012-09-18 | 2021-10-08 | 谷歌有限责任公司 | 姿势适应选择 |
US8994681B2 (en) * | 2012-10-19 | 2015-03-31 | Google Inc. | Decoding imprecise gestures for gesture-keyboards |
CN105210023B (zh) * | 2013-03-06 | 2018-10-26 | 诺基亚技术有限公司 | 装置及相关方法 |
JP6151381B2 (ja) * | 2013-03-15 | 2017-06-21 | グーグル インコーポレイテッド | 国際言語のための仮想キーボード入力 |
CN104133618B (zh) * | 2013-05-02 | 2018-02-02 | 腾讯科技(深圳)有限公司 | 进行终端设备推荐页面展示的方法及系统 |
USD771082S1 (en) | 2013-09-10 | 2016-11-08 | Apple Inc. | Display screen or portion thereof with graphical user interface |
US9158426B1 (en) * | 2014-03-19 | 2015-10-13 | Google Inc. | Touch keyboard calibration |
US9436295B2 (en) * | 2014-03-28 | 2016-09-06 | Intel Corporation | Alternate dynamic keyboard for convertible tablet computers |
JP6548358B2 (ja) | 2014-04-04 | 2019-07-24 | タッチタイプ リミテッド | マルチ入力ターゲットに関連付けられた1つ又はそれ以上の入力を入力するためのシステム及び方法 |
WO2015167511A2 (en) * | 2014-04-30 | 2015-11-05 | Empire Technology Development Llc | Adjusting tap position on touch screen |
US10025427B2 (en) * | 2014-06-27 | 2018-07-17 | Microsoft Technology Licensing, Llc | Probabilistic touch sensing |
US20160085440A1 (en) * | 2014-09-19 | 2016-03-24 | Qualcomm Incorporated | Systems and methods for providing an anatomically adaptable keyboard |
USD771646S1 (en) | 2014-09-30 | 2016-11-15 | Apple Inc. | Display screen or portion thereof with graphical user interface |
USD765671S1 (en) * | 2014-11-01 | 2016-09-06 | Chris J. Katopis | Display screen with keyboard graphical user interface (GUI) |
KR20160096434A (ko) * | 2015-02-05 | 2016-08-16 | 삼성전자주식회사 | 키패드의 감도를 조절하는 전자 장치 및 방법 |
CN104731511B (zh) * | 2015-03-31 | 2018-03-27 | 联想(北京)有限公司 | 一种信息处理的方法及电子设备 |
KR101653167B1 (ko) | 2015-06-22 | 2016-09-09 | 주식회사 노타 | 키 입력을 인터페이스하는 장치 및 방법 |
JP6483556B2 (ja) * | 2015-07-15 | 2019-03-13 | 株式会社東芝 | 操作認識装置、操作認識方法及びプログラム |
USD785031S1 (en) * | 2015-09-14 | 2017-04-25 | Microsoft Corporation | Display screen with graphical user interface |
USD785034S1 (en) * | 2015-09-14 | 2017-04-25 | Microsoft Corporation | Display screen with graphical user interface |
USD785030S1 (en) * | 2015-09-14 | 2017-04-25 | Microsoft Corporation | Display screen with graphical user interface |
USD785033S1 (en) * | 2015-09-14 | 2017-04-25 | Microsoft Corporation | Display screen with graphical user interface |
KR102122438B1 (ko) * | 2016-01-27 | 2020-06-12 | 주식회사 노타 | 디스플레이 디바이스 및 그의 터치 입력 프로세싱 방법 |
US10212464B2 (en) * | 2016-04-15 | 2019-02-19 | Hulu, LLC | Generation, ranking, and delivery of actions for entities in a video delivery system |
TWD185991S (zh) * | 2016-04-29 | 2017-10-11 | 姚秉洋 | 顯示螢幕之圖形化使用者介面 |
TWD184725S (zh) * | 2016-04-29 | 2017-08-01 | 姚秉洋 | 顯示螢幕之圖形化使用者介面 |
TWD185988S (zh) * | 2016-04-29 | 2017-10-11 | 姚秉洋 | 顯示螢幕之圖形化使用者介面 |
TWD184721S (zh) * | 2016-04-29 | 2017-08-01 | 姚秉洋 | 顯示螢幕之圖形化使用者介面 |
TWD184720S (zh) * | 2016-04-29 | 2017-08-01 | 姚秉洋 | 顯示螢幕之圖形化使用者介面 |
TWD184724S (zh) * | 2016-04-29 | 2017-08-01 | 姚秉洋 | 顯示螢幕之圖形化使用者介面 |
TWD184719S (zh) * | 2016-04-29 | 2017-08-01 | 姚秉洋 | 顯示螢幕之圖形化使用者介面 |
TWD185985S (zh) * | 2016-04-29 | 2017-10-11 | 姚秉洋 | 顯示螢幕之圖形化使用者介面 |
TWD185986S (zh) * | 2016-04-29 | 2017-10-11 | 姚秉洋 | 顯示螢幕之圖形化使用者介面 |
TWD185990S (zh) * | 2016-04-29 | 2017-10-11 | 姚秉洋 | 顯示螢幕之圖形化使用者介面 |
TWD184723S (zh) * | 2016-04-29 | 2017-08-01 | 姚秉洋 | 顯示螢幕之圖形化使用者介面 |
TWD184722S (zh) * | 2016-04-29 | 2017-08-01 | 姚秉洋 | 顯示螢幕之圖形化使用者介面 |
TWD185989S (zh) * | 2016-04-29 | 2017-10-11 | 姚秉洋 | 顯示螢幕之圖形化使用者介面 |
TWD185987S (zh) * | 2016-04-29 | 2017-10-11 | 姚秉洋 | 顯示螢幕之圖形化使用者介面 |
US10409487B2 (en) | 2016-08-23 | 2019-09-10 | Microsoft Technology Licensing, Llc | Application processing based on gesture input |
USD829223S1 (en) | 2017-06-04 | 2018-09-25 | Apple Inc. | Display screen or portion thereof with graphical user interface |
USD957448S1 (en) | 2017-09-10 | 2022-07-12 | Apple Inc. | Electronic device with graphical user interface |
USD918231S1 (en) | 2017-12-01 | 2021-05-04 | Delos Living Llc | Display screen or portion thereof with graphical user interface |
USD1009882S1 (en) | 2017-12-01 | 2024-01-02 | Delos Living Llc | Display screen or portion thereof with graphical user interface |
USD886137S1 (en) * | 2017-12-01 | 2020-06-02 | Delos Living Llc | Display screen or portion thereof with animated graphical user interface |
WO2020027773A1 (en) * | 2018-07-30 | 2020-02-06 | Hewlett-Packard Development Company, L.P. | User interface modification |
US11554322B2 (en) * | 2019-04-26 | 2023-01-17 | Sony Interactive Entertainment LLC | Game controller with touchpad input |
EP4022517A4 (en) | 2019-12-04 | 2022-10-19 | Samsung Electronics Co., Ltd. | METHODS AND SYSTEMS FOR PREDICTING KEYKEYS USING A UNIFIED NEURONAL NETWORK |
USD965012S1 (en) * | 2020-09-28 | 2022-09-27 | Samsung Electronics Co., Ltd. | Display screen or portion thereof with graphical user interface |
US11347352B2 (en) * | 2020-10-25 | 2022-05-31 | Google Llc | Virtual keyboard error correction based on a dynamic spatial model |
JP7438238B2 (ja) * | 2020-10-25 | 2024-02-26 | グーグル エルエルシー | 動的空間モデルに基づく仮想キーボードエラー訂正 |
CN113656584A (zh) * | 2021-08-18 | 2021-11-16 | 维沃移动通信有限公司 | 用户分类方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009252076A (ja) * | 2008-04-09 | 2009-10-29 | Casio Comput Co Ltd | 文字入力装置 |
US20100315266A1 (en) * | 2009-06-15 | 2010-12-16 | Microsoft Corporation | Predictive interfaces with usability constraints |
US20110084922A1 (en) * | 2009-10-14 | 2011-04-14 | Research In Motion Limited | Electronic device including touch-sensitive display and method of controlling same |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5963671A (en) * | 1991-11-27 | 1999-10-05 | International Business Machines Corporation | Enhancement of soft keyboard operations using trigram prediction |
US5748512A (en) * | 1995-02-28 | 1998-05-05 | Microsoft Corporation | Adjusting keyboard |
US5801941A (en) * | 1996-08-12 | 1998-09-01 | International Business Machines Corporation | Mobile client computer programmed to establish soft keyboard targeting sensitivity |
US6259436B1 (en) * | 1998-12-22 | 2001-07-10 | Ericsson Inc. | Apparatus and method for determining selection of touchable items on a computer touchscreen by an imprecise touch |
US6654733B1 (en) | 2000-01-18 | 2003-11-25 | Microsoft Corporation | Fuzzy keyboard |
US6573844B1 (en) * | 2000-01-18 | 2003-06-03 | Microsoft Corporation | Predictive keyboard |
TWI235942B (en) * | 2001-10-29 | 2005-07-11 | Oqo Inc | Keyboard with variable-sized key |
US20040183833A1 (en) * | 2003-03-19 | 2004-09-23 | Chua Yong Tong | Keyboard error reduction method and apparatus |
US20050190970A1 (en) * | 2004-02-27 | 2005-09-01 | Research In Motion Limited | Text input system for a mobile electronic device and methods thereof |
US7508324B2 (en) * | 2004-08-06 | 2009-03-24 | Daniel Suraqui | Finger activated reduced keyboard and a method for performing text input |
US7777728B2 (en) * | 2006-03-17 | 2010-08-17 | Nokia Corporation | Mobile communication terminal |
US7903092B2 (en) * | 2006-05-25 | 2011-03-08 | Atmel Corporation | Capacitive keyboard with position dependent reduced keying ambiguity |
IL176673A0 (en) * | 2006-07-03 | 2007-07-04 | Fermon Israel | A variably displayable mobile device keyboard |
US8065624B2 (en) * | 2007-06-28 | 2011-11-22 | Panasonic Corporation | Virtual keypad systems and methods |
US8232973B2 (en) * | 2008-01-09 | 2012-07-31 | Apple Inc. | Method, device, and graphical user interface providing word recommendations for text input |
US9552155B2 (en) | 2008-02-04 | 2017-01-24 | Microsoft Technology Liecsnsing, LLC | Dynamic soft keyboard |
US8289283B2 (en) | 2008-03-04 | 2012-10-16 | Apple Inc. | Language input interface on a device |
JP5343386B2 (ja) | 2008-03-31 | 2013-11-13 | 日本電気株式会社 | タッチパネル入力方式及び入力キー決定方法、タッチパネル入力キー決定プログラム並びにプログラム媒体 |
US8589149B2 (en) * | 2008-08-05 | 2013-11-19 | Nuance Communications, Inc. | Probability-based approach to recognition of user-entered data |
US9041660B2 (en) | 2008-12-09 | 2015-05-26 | Microsoft Technology Licensing, Llc | Soft keyboard control |
US8786551B2 (en) * | 2008-12-11 | 2014-07-22 | Verizon Patent And Licensing Inc. | Predictive keypad/keyboard lighting to guide input |
US8583421B2 (en) * | 2009-03-06 | 2013-11-12 | Motorola Mobility Llc | Method and apparatus for psychomotor and psycholinguistic prediction on touch based device |
US8390583B2 (en) * | 2009-08-31 | 2013-03-05 | Qualcomm Incorporated | Pressure sensitive user interface for mobile devices |
US8812972B2 (en) * | 2009-09-30 | 2014-08-19 | At&T Intellectual Property I, L.P. | Dynamic generation of soft keyboards for mobile devices |
US9122393B2 (en) * | 2009-09-30 | 2015-09-01 | At&T Mobility Ii Llc | Predictive sensitized keypad |
US8782556B2 (en) | 2010-02-12 | 2014-07-15 | Microsoft Corporation | User-centric soft keyboard predictive technologies |
US20110210850A1 (en) | 2010-02-26 | 2011-09-01 | Phuong K Tran | Touch-screen keyboard with combination keys and directional swipes |
US20110264442A1 (en) * | 2010-04-22 | 2011-10-27 | Microsoft Corporation | Visually emphasizing predicted keys of virtual keyboard |
KR20120017946A (ko) * | 2010-08-20 | 2012-02-29 | 삼성전자주식회사 | 휴대단말의 키 입력 오동작 방지 방법 및 장치 |
WO2012106681A2 (en) * | 2011-02-04 | 2012-08-09 | Nuance Communications, Inc. | Correcting typing mistake based on probabilities of intended contact for non-contacted keys |
-
2011
- 2011-09-12 US US13/230,723 patent/US9262076B2/en active Active
- 2011-10-11 KR KR1020147006539A patent/KR101808377B1/ko active IP Right Grant
- 2011-10-11 JP JP2014529691A patent/JP5951776B2/ja active Active
- 2011-10-11 WO PCT/US2011/055816 patent/WO2013039532A1/en active Application Filing
- 2011-10-11 EP EP11872346.9A patent/EP2756369B1/en active Active
-
2012
- 2012-09-12 CN CN201210335826.4A patent/CN102937871B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009252076A (ja) * | 2008-04-09 | 2009-10-29 | Casio Comput Co Ltd | 文字入力装置 |
US20100315266A1 (en) * | 2009-06-15 | 2010-12-16 | Microsoft Corporation | Predictive interfaces with usability constraints |
US20110084922A1 (en) * | 2009-10-14 | 2011-04-14 | Research In Motion Limited | Electronic device including touch-sensitive display and method of controlling same |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190089446A (ko) * | 2018-01-22 | 2019-07-31 | 주식회사 노타 | 터치 입력 프로세싱 방법 및 디바이스 |
KR102079985B1 (ko) | 2018-01-22 | 2020-02-21 | 주식회사 노타 | 터치 입력 프로세싱 방법 및 디바이스 |
Also Published As
Publication number | Publication date |
---|---|
JP5951776B2 (ja) | 2016-07-13 |
CN102937871B (zh) | 2016-07-06 |
EP2756369A4 (en) | 2015-07-08 |
CN102937871A (zh) | 2013-02-20 |
WO2013039532A1 (en) | 2013-03-21 |
US20130067382A1 (en) | 2013-03-14 |
EP2756369A1 (en) | 2014-07-23 |
KR20140059806A (ko) | 2014-05-16 |
EP2756369B1 (en) | 2020-03-11 |
US9262076B2 (en) | 2016-02-16 |
JP2014526822A (ja) | 2014-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101808377B1 (ko) | 소프트 키보드 인터페이스 | |
JP4936753B2 (ja) | 単語または文字の境界ベースのスクラッチアウトジェスチャ認識 | |
US9092068B1 (en) | Keyboard integrated with trackpad | |
CN1758205B (zh) | 轻击手势 | |
US9448724B2 (en) | Dynamically customizable touch screen keyboard for adapting to user physiology | |
US7802202B2 (en) | Computer interaction based upon a currently active input device | |
US8378989B2 (en) | Interpreting ambiguous inputs on a touch-screen | |
CN107533430A (zh) | 触摸输入作为非预期的或预期的分类 | |
JP2006185443A (ja) | 圧力応動コントロール | |
US11340755B2 (en) | Moving a position of interest on a display | |
US20120188164A1 (en) | Gesture processing | |
JP2011248888A (ja) | デュアルスクリーン上のユーザジェスチャのための方法及びデュアルスクリーンデバイス | |
CN102246134A (zh) | 软键盘控制 | |
KR20140005356A (ko) | 터치 감지 디스플레이 스크린에서의 압력차 이용 | |
CN106445369B (zh) | 一种输入的方法和装置 | |
KR101474856B1 (ko) | 음성인식을 통해 이벤트를 발생시키기 위한 장치 및 방법 | |
US7831923B2 (en) | Providing visual keyboard guides according to a programmable set of keys | |
Le et al. | Shortcut gestures for mobile text editing on fully touch sensitive smartphones | |
US10268310B2 (en) | Input method and electronic device thereof | |
US20140298275A1 (en) | Method for recognizing input gestures | |
US20150103010A1 (en) | Keyboard with Integrated Pointing Functionality | |
US20060172267A1 (en) | Input device training and automatic assignment | |
US20100271300A1 (en) | Multi-Touch Pad Control Method | |
KR20140086805A (ko) | 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록매체 | |
US20160187993A1 (en) | Method and apparatus for input and pointer using border touch |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |