KR101822464B1 - 손과 손가락을 감지하는 표면과 그 위에 사용하는 동적 텍스트 입력 방법 - Google Patents
손과 손가락을 감지하는 표면과 그 위에 사용하는 동적 텍스트 입력 방법 Download PDFInfo
- Publication number
- KR101822464B1 KR101822464B1 KR1020110098551A KR20110098551A KR101822464B1 KR 101822464 B1 KR101822464 B1 KR 101822464B1 KR 1020110098551 A KR1020110098551 A KR 1020110098551A KR 20110098551 A KR20110098551 A KR 20110098551A KR 101822464 B1 KR101822464 B1 KR 101822464B1
- Authority
- KR
- South Korea
- Prior art keywords
- finger
- user
- key
- display surface
- fastest
- 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/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/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
-
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
-
- 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/04883—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 for inputting data by handwriting, e.g. gesture or text
-
- 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04808—Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & 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
가상 키보드가 컴퓨팅 장치의 터치 스크린 디스플레이 표면에 표시된다. 키보드의 부분 이미지가 표시되고, 부분 이미지는 사용자가 터치하려는 가장 가능성 있는 키로 언급되는 하나의 키일 수 있거나, 터치되는 낮은 가능성을 가지는 주변 키를 포함하는 한 그룹의 키일 수 있다. 디스플레이 하부 또는 근접해 있는 센서는 사용자 손의 아웃라인(outline)을 검출하고 그 손가락이 가장 빠른 움직임 손가락인지를 결정하며, 이는 키를 터치하도록 사용된 손가락인지를 추측한다. 가장 가능성 있는 키는 가장 빠른 움직임의 손가락에 기초하여 결정되고 손가락이 표면을 터치하기 전에 표시될 것이다. 만약 가장 가능성 있는 키가 터치되지 않으면, 낮은 가능성을 가지는 키가 터치된 것을 반영하도록 사용자 타이핑 습관을 포함하는 사용자 프로필을 갱신할 수 있다.
Description
본 발명은 일반적인 컴퓨터 하드웨어 및 소프트웨어에 관한 것으로, 특히 데이터 입력 시스템, 가상 키보드, 및 다양한 형태의 디스플레이 표면에 관한 것이다.
꾸준하게 터치 스크린 디스플레이가 보편화되고, 특히 스마트 폰 및 태블릿 컴퓨팅 장치에 보편적으로 되고 있지만, 그들은 또한 테이블 탑스(table tops), 화이트 보드(white board), 및 그 밖의 공적 그리고 개인 세팅과 같은, 더 큰 공간에 사용되고 있다. 그러한 디스플레이의 공간은 종종 한계가 있고 효과적으로 사용되어야 한다. 대화형의 테이블 탑 디스플레이와 같은 대형 디스플레이, 태블릿과 같은 소형 디스플레이에 대해 효과적이고 편리한 텍스트 입력 방법에 대한 요구가 있다.
디스플레이 표면 위에 손 및 손가락을 검출하는 시각 센서처럼 동작하는 새로운 기술은 새로운 입력 방법으로 현재 이용가능하다. 더 넓은 표면에서는, 키보드가 한 곳에 위치하고, 사용자는 다른 위치에서 텍스트를 입력하는 것을 원한다. 만약 Microsoft Corporation으로부터의 MS 표면과 같은 테이블 탑, 터치 스크린 표면을 사용하는 다수의 사용자가 있고, 그들이 표면에서 너무 많은 공간을 차지하기 시작하면 멀티 키보드가 이슈가 될 수 있다.
반면에 어떤 가상 키보드가 있다면, 가상 키보드가 실행되는 어떤 터치 스크린 표면은 인간 공학적인 이슈와 같은 그 밖의 이슈뿐만 아니라 상술한 문제를 불러 일으킬 수 있다. 가상 키보드는 또한 텍스트 입력 영역 위에 수평으로 중심이 되고 표면 장치의 아래 부분을 따라 수직으로 나타난다. 첫번째 키 누름은 레이아웃(layout)을 정의한다; 키보드는 손가락을 뒤따르지 않는다. 많은 사람들은 타자를 칠 수 있고 그들의 움직임이 반복적이고 예상가능한 머슬 메모리(muscle memory)를 사용할 수 있다. 사용자가 종종 키보드 또는 스크린조차 보지 않기 때문에, 사용자의 머슬 메모리를 이용하는 것은 바람직하다. 또한 물리적 키보드가 비싸고 특히 공중의 것은 종종 유지하기가 어렵다.
본 발명의 일 측면은 방법, 시스템, 장치 및 멀티미디어 장치 네트워크로 메시지를 전송할 수 있는 컴퓨터 판독 가능한 매체를 포함하지만 이에 한정되지 않는다.
본 발명의 일 실시예는 터치 스크린 디스플레이를 갖는 컴퓨팅 시스템에서 가상 키보드를 실행하는 방법이다. 사용자가 그의 손을 디스플레이 위에 올려놓고 디스플레이의 아래 또는 근접하여 위치한 하나 이상의 센서가 상기 사용자 손을 검출한다. 시스템은 디스플레이 표면 위에 손가락 움직임을 추적한다. 처음에는, 어떤 현저한 움직임이 있지 않고, 사용자가 타이핑을 시작할 때까지 거기의 어느 지점에서 가장 빠르게 움직이는 것은 손가락일 가능성이 높다. 시스템은 어느 손가락이 가장 빠른 움직임의 손가락인지를 판단한다. 사용자가 가장 빠른 움직임의 손가락으로 터치하거나 타자를 치고 싶어하는 키보드의 키인지와, 가장 가능성 있는 키를 결정하기 위해서 이 데이터를 사용한다. 시스템은 가장 빠른 움직임의 손가락에 의해서 터치 스크린 디스플레이를 접촉하였는지를 검출한다.
일 실시예에서, 가장 빠른 움직임의 손가락은 가장 가능성 있는 키가 아닌 낮은 가능성을 가지는 키를 터치하는지 여부에 따라 판단된다. 이런 판단에 기초하여, 낮은 가능성을 가지는 키가 터치된 것을 반영하도록 시스템이 갱신된다. 이런 방식으로, 사용자 타이핑 습관은 가상 키보드를 수정하기 위해서 사용될 수 있다. 사용자 타이핑과 관련된 기록 데이터 또는 통계 데이터가 저장되고 디스플레이 표면의 가상 키보드의 키의 위치 및 크기를 조정하기 위해 사용된다. 일 실시예에서 가장 빠른 움직임 손가락이 디스플레이 표면을 터치하기 전에 가장 가능성 있는 키가 디스플레이 표면에 표시된다. 낮은 가능성을 가지는 복수의 키는 또한 가장 빠른 움직임 손가락이 표면을 터치하기 전에 표시된다. 일 실시예에서, 사용자가 가상 키보드를 실행하는 시스템에 등록하거나 로그인을 하고 사용자 타이핑 프로필이 검색된다.
본 발명의 다른 측면은 가상 키보드를 이용한 텍스트 입력 방법이다. 사용자 (텍스트를 입력하거나 타자를 치는 사람)의 손과 핑거팁은 아웃라인(outline)된다. 디스플레이 표면의 키보드의 크기 및 위치가 결정된다. 사용자의 핑거팁은 식별되고 가장 빠른 움직임의 손가락이 판단된다. 이런 손가락이 판단되면, 가상 키보드의 위치가 디스플레이 표면에 표시되고, 여기서 표시된 위치는 가장 빠른 움직임의 손가락에 기초하여 결정된다.
본 발명의 다른 실시예에서, 터치 스크린 디스플레이를 구비한 가상 키보드를 실행하기 위한 컴퓨팅 시스템이 설명된다. 이러한 시스템은 태블릿 컴퓨팅 시스템으로, 하나 이상의 사용자가 동시에 가상 키보드를 사용하여 타자를 칠 수 있는 비교적 넓은 터치 스크린 디스플레이를 구비한 벽의 일부 또는 테이블로 꾸며진 컴퓨팅 시스템일 수 있다. 상술한 것처럼 시스템은 프로세스, 터치 스크린 디스플레이를 구비한다. 센서는 디스플레이 위에 놓인 손, 손가락 및 핑거팁을 추적하기 위해서 사용된다. 일 실시예에서, 센서가 디스플레이 상부의 움직임을 검출하는 방식으로 디스플레이의 아래에 또는 근접하여 위치한다. 컴퓨팅 시스템의 메모리는 다양한 형태의 데이터 및 가상 키보드를 실행하는 것과 관련된 소프트웨어를 저장한다. 특정 형태의 데이터는 표준 QWERTY 키보드의 키 위치를 반영한 기 설정된 키 위치 데이터 및 사용자 타이핑 프로필을 포함한다. 특정 형태의 소프트웨어는 가장 빠른 움직임의 손가락을 결정하기 위해서 키 결정 모듈을 포함하고, 일 실시예에서는 가장 빠른 움직임의 손가락의 속도를 측정하기 위한 손가락 속도 측정 모듈을 포함한다. 다른 실시예에서, 또한 메모리는 가장 가능성 있는 키가 사용자 타이핑과 관련 프로필을 갱신하고 가장 가능성 있는 키가 터치되지 않았다면 가상 키보드의 어느 키가 터치되었는지에 대한 데이터를 처리하기 위한 통계 모듈을 저장한다.
도 1은 터치 스크린 디스플레이 표면 위에 한 쌍의 손을 도시하는 평면도이고,
도 2a 내지 2c는 사용자가 특정 손가락을 아래쪽으로 움직일 때 부분 가상 키보드 디스플레이의 다양한 실시예를 도시하며,
도 3은 본 발명의 일 실시예에 따른 가상 키보드를 실행하는 프로세스의 흐름도이고,
도 4는 본 발명의 일 실시예에 따른 사용자가 주변 키를 눌렀을 때 통계 데이터를 갱신하는 보다 상세한 프로세스를 도시하는 흐름도이며,
도 5는 본 발명의 일 실시예에 따른 터치 스크린 디스플레이 및 가상 키보드를 갖는 컴퓨팅 시스템의 블럭도이고,
도 6a 및 6b는 본 발명의 일 실시예를 실행하기 위해 적합한 컴퓨팅 시스템의 블럭도이다.
도면에서, 같은 도면 부호는 같은 구성 요소를 지시하고 있다. 또한 도면에서 묘사된 것은 도식적이고 수치화되지 않는다.
도 2a 내지 2c는 사용자가 특정 손가락을 아래쪽으로 움직일 때 부분 가상 키보드 디스플레이의 다양한 실시예를 도시하며,
도 3은 본 발명의 일 실시예에 따른 가상 키보드를 실행하는 프로세스의 흐름도이고,
도 4는 본 발명의 일 실시예에 따른 사용자가 주변 키를 눌렀을 때 통계 데이터를 갱신하는 보다 상세한 프로세스를 도시하는 흐름도이며,
도 5는 본 발명의 일 실시예에 따른 터치 스크린 디스플레이 및 가상 키보드를 갖는 컴퓨팅 시스템의 블럭도이고,
도 6a 및 6b는 본 발명의 일 실시예를 실행하기 위해 적합한 컴퓨팅 시스템의 블럭도이다.
도면에서, 같은 도면 부호는 같은 구성 요소를 지시하고 있다. 또한 도면에서 묘사된 것은 도식적이고 수치화되지 않는다.
터치 스크린 디스플레이와 관련하여, 현재 기술은 호버링(hovering)하고 있거나 표면 위에 있는 손, 손가락, 및 그 밖의 물체가 표면 아래에 위치한 카메라(디스플레이 표면상의 손을 추적한다)를 이용하여 검출될 수 있는 곳에서 이용가능하다. 타자를 치는 사람의 손을 아래쪽에서(예컨대, 디스플레이 자체의 관점에서) 관찰함으로써, 시스템은 어느 문자가 다음에 타이핑될 것인지를 예측한다. 이 방식에서, 전체 가상 키보드를 표시하는 것은 더 이상 필요하지 않다. 웨지 옵티컬(wedge optical)로 알려진 기술은 이러한 센서를 제공한다. 다른 기술은 디스플레이의 하부에 마주하고 있는 비디오 카메라를 갖는 반투명 테이블 탑(top) 디스플레이를 포함한다. 또한 거기에는 픽셀 감지 기술이 존재한다. 이런 형태의 기술은 디스플레이 표면 상부의 사용자의 손, 손가락 및 핑거팁(fingertip)을 검출하고 아웃라인(outline)하기 위해서 사용될 수 있다(거리 제한이 있기는 하지만, 본 발명d에 방해되는 것은 아니다).
터치 스크린 디스플레이는 공적이고 개인적인 환경에서 나타나고 있다. 사용자가 손을 표면 상부에 올려놓는다. 사용자가 어떤 손가락도 표면을 터치하지 않고 타이핑하려는 위치에 올려놓는다. 손의 형태가 검출되고 손가락이 아웃라인된다. 예컨대, 센서가 하나 이상의 손과 손가락의 패턴을 검출한다. 소프트웨어가 동작을 시작하고 그것은 사용자의 손의 아웃라인을 검출한다.
사용자가 문자를 히트하기 위해서 손가락을 움직이기 시작한다. 손과 손가락의 구성은 사용자가 히트하기 쉬운 "가장 가능성 있는 키"를 판단 위해서 사용된다. 가장 가능성 있는 키가 판단되면, 시스템은 메모리에 그 값을 저장한다. 더욱이, 또한 주변 키가 저장될 수도 있다. 이는 한 개에서 16개 키까지의 범위이다. 특정 키의 주변 키는 기 설정되거나 주어진 QWERTY 키보드의 키 레이아웃이 바뀌지 않는 한 고정되고, 특정 키와 연관된다.
만약 사용자의 터치 입력 동작이 애매하다면, 시스템은 손의 바로 아래 또는, 보다 상세하게는 타이핑하는 손가락 하부의 몇 개의 주변 키뿐만 아니라 막 "히트"된 키를 구성하고, 시스템은 가장 히트되기 쉬운 키를 결정하거나 타자를 치는 사람이 스스로 고치기 위한 기회를 주는 키보드의 작은 섹션을 표시한다.
다양한 실시예는 가장 빠른 움직임의 손가락이 디스플레이를 터치한 곳에 대한 정보와 디스플레이 위에 호보링하는 손과 손가락의 위치에 대한 정보를 이용한다. 키보드 키 인식(타이핑 인식)은 사용자 선호도(preference)를 조정하기 위해서 시간에 따르는 정보의 2가지 소스를 가지고 최적화한다.
가장 가능성 있는 키가 식별되면, 터치 스크린 표면에 표시된다. 주변 키는 또한 덜 현저한 방식으로, 예컨대 덜 선명하거나 크기가 더 작게 표시된다. 키의 구성은 표준 방식(예컨대, 디스플레이가 전형적인 물리적 키보드의 크기로 된다)으로 표시되지만, 시간에 따른 사용자의 타이핑 습관을 반영하기 위해서 바뀔 수 있다. 키보드의 레이아웃과 키의 크기는 조정될 수 있다. 키는 사용자가 특정 키를 터치한 전후에 표시될 수 있다.
만약 사용자가 가장 가능성 있는 키 대신에 주변 키 중에 하나를 히트하면, 시스템은 이 동작의 트랙(track)을 유지한다; 즉 낮은 가능성을 가지는 키 중에 하나를 히트하는 것과 배경 프로세서를 통해서 사용자 타이핑 프로필을 갱신하기 위해서 사용될 수 있다. 시스템은 키보드의 구성을 변경하기 위해서 통계 데이터를 사용한다. 손가락 및 손의 위치(posture)에 대한 통계는 각각의 사용자에 대해서 수집되고 사용자의 소정의 키보드 크기로 채택되도록 사용된다.
키보드가 비주얼 디스플레이와 함께 위치하더라도, 그것은 어떤 지점에 오직 적은 수의 키 또는 하나의 키가 표시되기 때문에 많은 디스플레이의 이용 공간을 최소화한다(차단되거나 방해되는 결과 컨텐츠처럼).
텍스트 입력 또는 키보드는 위치가 독립적이다. 사용자가 표면 어디에서든지 타이핑을 시작할 수 있고, 입력 영역은 손의 위치에 동적으로 적응하도록 사용자의 손에 따르게 된다. 부분 가상 키보드가 디스플레이된다. 이는 애매한 텍스트 입력에 도움을 줄 수 있다. 시각적 피드백은 사용자가 방금 눌렀던 키를 정정할 수 있게 한다.
터치 스크린 표면의 가상 키보드를 실행하기 위한 방법 및 시스템은 다양한 도면에서 설명되고 있다. 도 1은 터치 스크린 디스플레이 표면 위에 한 쌍의 손을 도시하는 평면도이다. 한 쌍의 사용자의 손(102)은 표면(104) 위, 통상적으로 손(102) 아래의 가상 키보드(미도시)를 사용자가 타이핑하려고 시작하려하는 위치 및 구성에서 호버링(hovering)을 한다. 사용자는 표면(104)의 에지(edge)로부터 일정 거리에 손을 놓을 수 있다. 설명된 실시예에서, 터치 스크린 디스플레이 표면(104)은 테이블 탑이고, 도 1은 오직 테이블 표면의 일부를 도시한다. 다른 실시예에서, 표면(104)은 사용자가 편안하거나 자연스럽게 손을 올려놓고 타이핑을 시작할 수 있는 태블릿 컴퓨터의 디스플레이이거나 그 밖의 디스플레이 표면일 수 있다. 일반적으로 그러한 표면은 비록 그것이 다소 경사질 수 있더라도 수평이다. 아래 설명된 것처럼, 디스플레이 표면 또는 테이블은 디스플레이 표면(104)으로부터 바라보는 투시(perspective)를 가능하게 하는 광학적 능력 또는 센서가 있어서 특정 손과 손가락을 추적하는 능력을 갖는다. 예컨대, 마이크로소프트 어플라이드 사이언스 그룹에 의해서 시연된 웨지 옵틱(wedge optics)이라고 알려진 기술은, 디스플레이 표면 상부의 손을 추적하기 위해서 사용될 수 있다. MS 표면은 레드몬드 WA의 Microsoft Corporation으로부터 상업적으로 이용할 수 있는 터치 스크린 표면 장치이다.
도 2a 내지 2d는 본 발명의 다양한 실시예에 따른 사용자가 타이핑을 시작할 때 도시될 수 있는 다른 가상 키보드 디스플레이를 보여주기 위한 정면도이다. 도 1에 도시된 것처럼 사용자가 표면(104) 상부에 손을 올려놓는다. 이하에서 상세하게 설명하는 것처럼, 손가락이 그 밖의 손가락(이는 일반적으로 멈춰있다)보다 빠른 속도로 하부로 움직이기 시작할 때, 하나 이상의 키 또는 어떤 경우에는 키가 아닌 것이 표면(104)에 표시된다.
도 2a는 사용자가 남은 인덱스 손가락(202)를 아래로 움직일 때, 부분 가상 키보드 디스플레이의 일 실시예를 도시한다. 설명된 실시예에서, 손가락의 수평 또는 상부로의 움직임은 가상 키보드를 동작하게 하거나 표시하는 동작을 트리거하지 않는다. 오직 손가락의 하부로의 움직임이 가상 키보드를 동작하게 하거나 표시하는 동작을 트리거할 것이다. 사용자가 손가락으로 표면(104)을 터치하고 타자를 치기 시작하기 전에, 특정 키(204)가 표시된다. 설명된 실시예에서, 내부 동작으로, 이런 키가 가장 가능성 있는 키로 언급된다. 실시예에서, 이는 F 키이다. 어떻게 이 키가 결정되는 지에 대해서는 이하에서 설명한다. 낮은 가능성을 가지는 키로 언급되는, 그 밖의 주변 키가 또한 표시될 것이고, 집단 키(206)로 도시된다. 이들은 문자 R, T, G 및 V에 대한 키이다. 설명된 실시예에서, 그런 키(206)는 가장 가능성 있는 키(204)보다 덜 현저한 방식으로 표시된다. 예컨대, 그들은 키(204)의 표시보다 더 흐리거나 더 크기가 작다. 낮은 가능성을 가지는 키(206)는 또한 더 적은 수의 키를 구성하는데, 예컨대 그들은 문자 R 및 V에 대한 키를 오직 포함한다. 그들은 가상 키보드의 왼쪽 편에 있는 모든 키로 구성된다. 정확한 개수는 설계 선택, 환경, 예상 사용자의 형태에 따라 달라질 수 있다.
도 2b에서, 오른쪽 손의 중지(207)가 아래쪽으로 움직이고 손가락(207)이 디스플레이(104)를 터치하기 전에 가상 키보드에서 문자 k에 대한 키가 가장 가능성 있는 키(208)로 표시된다. 문자 I에 대한 낮은 가능성을 가지는 키(210)가 또한 표시된다. 언급한 것처럼, 보다 많은 키가 표시되거나 아무런 키도 표시되지 않을 수도 있다. 키들의 크기(예컨대 전체 키보드의 크기)는 또한 가상 키보드가 사용되고 있는 컨텍스트(Context)에 따라 달라질 수 있다. 도 2c는 가상 키보드 디스플레이의 다른 예를 도시한다. 사용자의 왼쪽 손가락(212)은 가장 가능성 있는 키(214)로 결정되고 표시된 유일한 키인 스페이스 바 키를 누르기 위해 아래쪽으로 움직인다. 다른 실시예에서, 사용자가 표면(104)을 터치할 때 아무런 키도 표시되지 않는다. 예컨대, 사용자가 경험이 있는 가상 키보드 사용자이고 키가 표시되는 것을 볼 필요가 없기 때문에 시스템은 정확하게 예상하도록 훈련되거나 타이핑 습관을 알아서 손가락이 아래로 움직이고 표면(104)을 히트하기 전에, 히트하려는 키를 정확하게 예측할 수 있다. 그 밖의 경우에, 언급한 것처럼, 오직 가장 가능성 있는 키가 표시된다. 사용자가 가장 가능성 있는 키를 히트하였지만, 주변 키를 히트할 의도였고 그것을 변경하기 위해서 뒤돌아 가면, 시스템은 그런 사용자를 위해 보다 정확하게 가상 키보드의 타이핑을 만들 수 있도록 이런 지식을 포함할 수 있다.
사용자가 디스플레이 표면(104)의 어디서든지 타이핑을 시작한다는 것에 주목해야 한다. 가상 키보드는 표면(104)의 어디서든지 표시될 수 있다. 어떤 경우에, 태블릿에서, 하나 또는 두 가지 방식으로 그것을 표시하기 위한 공간이 있다. 디스플레이 표면(104) 주변 다른 위치에서 복수의 가상 키보드를 사용하는 복수의 사용자가 또한 존재한다. 그 밖의 사용자가 동일한 디스플레이 표면(104)에서 타자를 치고 있는 동안에 각각의 사용자는 개별 가상 키보드에 타자를 칠 수 있다. 일 실시예에서, 시스템은 2개의 가상 키보드가 오버랩(overlap)되는 것을 허용하지 않는다. 즉, 키보드가 충분하게 또는 부분적으로 표시된다면, 각각으로부터 키는 표면(104)에서 동일한 디스플레이 공간을 차지하지 않는다.
도 3은 본 발명의 일 실시예에 따른 가상 키보드를 실행하는 프로세스의 흐름도이다. 프로세스 시작 전에, 디스플레이 표면을 포함하는 컴퓨팅 시스템을 위한 전원이 턴 온 되고 손 및 손가락의 움직임을 검출하기 위한 센서가 기능을 한다. 사용자(타자를 치고자 하는 사람)는 표면 위에 손을 올려두고 가상 키보드를 이용하는 시스템으로 데이터를 입력하기 위해 준비한다. 상술한 것처럼, 사용자가 타자를 치기 시작하는 표면은 테이블 표면이고, 전체 테이블 탑의 일부는 오직 2가지 예로 언급한다면, 터치 스크린 디스플레이이거나, 더 작은 표면, 즉 태블릿 PC와 같은 것이다. 단계(302)에서 타이핑 준비 위치로 디스플레이(타이핑 표면) 상부에 사용자의 손을 올려놓음으로써 센서에 의해 사용자의 손의 아웃라인된다. 일반적으로 동시에, 손의 윤곽을 얻자마자, 사용자의 손가락 구성이 동일한 센서에 의해서 얻어진다. 단계(302)에서 손의 아웃라인은 개별 세트 데이터로서 도시되는 손 아웃라인 데이터 및 손가락 구성으로 언급되는 한 세트의 데이터이다. 손 아웃라인 데이터 및 손가락 구성 데이터는 사용된 센서의 형태에 의해서 결정된다. 일 실시예에서, 그들은 손 아웃라인 데이터로 언급된 것처럼 동일한 데이터 세트에 둘 다가 존재한다. 손가락의 추가적인 검출 또는 식별, 특히 핑거팁(fingertip)이 수행된다. 이하에서 이를 상세히 설명한다.
단계(304)에서 시스템은 표면에 표시된 키보드의 크기 및 위치를 결정한다. 즉, 얼마나 크게 키보드를 설정할 것인지와 표면의 어디에 그것을 표시할 것인지를 결정한다. 이런 키보드 디스플레이는 가상 키보드이고 이는 물리적 키보드가 아니지만 필요할 때만 오직 표시되는 디스플레이의 기능적인 키보드의 이미지이다. 앞 단계에서의 손과 손가락 아웃라인 데이터를 검토하여 큰 부분에 키보드의 크기와 위치가 결정된다. 이 데이터를 사용함으로써, 시스템의 소프트웨어 모듈은 사용자의 손과 손가락의 크기와 구성으로 정해진 키보드의 최적 크기를 결정한다. 이는 디스플레이 표면 어디에 가상 키보드가 표시될 것인지를 결정한다. 다른 실시예에서는, 연산이 적어지고, 표준 크기 키보드가 모든 손과 손가락 크기를 위해서 사용된다. 키보드의 위치는 여전히 결정되고 사용자의 손 위치에 기초하여 표시된다. 디스플레이 표면을 테이블 표면처럼 크게 하는 목적은, 사용자가 주어진 테이블 디스플레이 어디든지 앉을 수 있고, 표면 위에 손을 놓을 수 있고 편안하게 타자를 칠 수 있다. 일단 키보드의 크기, 오리엔테이션(orientation), 위치가 결정되면, 대응하는 데이터가 시스템 메모리에 저장된다. 일 실시예에서, 데이터는 키보드의 왼쪽 반을 위해 하나의 파일 또는 데이터 세트로 저장되고, 키보드의 오른쪽 반을 위한 다른 파일 또는 다른 데이터 세트로 저장됨으로써 조직화된다.
단계(306)에서 센서가 사용자의 핑거팁을 식별한다. 일본, 도쿄의 Artray 또는 캐나다 리치몬드의 Point Grey로부터의, 고속 프레임(High-frame rate) 카메라와 같은 상업적으로 이용가능한 센서가, 이런 기능을 수행할 수 있다. 각각의 핑거팁은 메모리에 저장되는 식별자(indentifier)를 할당 받는다. 이런 식별자는 각각의 핑거팁에 고유하고, 시스템 설계자에 의해서 선택됨으로써 어떤 적절한 형식을 갖을 수 있다. 식별자에 따라, 각각의 핑거팁의 위치 및 반경 또는 크기가 또한 저장된다. 반경의 크기는 밀리미터(millimeters), 센티미터(centimeters), 인치(inches)일 수 있다. 측정의 독점 단위(proprietary unit)가 또한 사용될 수 있다. 예컨대, 단위는 5 밀리미터이고, 핑거팁은 10 또는 12 단위 크기일 수 있다. 손과 손가락 구성의 윤곽을 얻기 위해서 사용되는 동일한 센서가 또한 핑거팁의 크기를 측정하기 위해서 사용될 수 있다. 위치 데이터는 핑거팁이 위치하는 곳의 상부의 디스플레이 표면의 위치를 가리키는 데카르트 좌표(x,y)일 수 있고, 여기서 디스플레이 표면은 수평면 기준이 된다. 이는 디스플레이 표면의 핑거팁의 절대 위치로써 설명될 수 있다. 다른 실시예에서, 표면 위로 핑거팁의 거리를 측정하기 위한 Z 좌표가 또한 결정된다. 그러나, 이는 집중적으로 연산되고 가상 키보드를 표시하기 위해 필요한 것은 아니다. 디스플레이 표면은 2차원 데카르트 그래프로 내부적으로 저장되고 표면의 어떤 지점은 x 및 y 한 쌍으로 식별된다. 따라서, 일 실시예에서 각각의 핑거팁은 ID, 위치 데이터 및 크기(반경) 데이터를 갖는다.
단계(308)에서 센서가 핑거팁의 움직임을 검출한다. 초기에, 사용자가 타자를 치기 전에 타이핑 표면 상부에 손을 놓은 경우, 거기에는 전형적으로 손과 손가락의 다소 중요하지 않거나 미세 움직임이 있다. 이런 미세 움직임을 반영하는 속도 데이터가 시스템에 의해서 저장된다. 사용자가 타이핑을 시작하면, 거기에는 손가락 중 하나의 현저한 움직임이 있고, 특히 아래쪽으로의 빠른 움직임이 있다. 단계(310)에서, 센서가 핑거팁 중 하나의 아래쪽으로의 빠른 움직임이 있다. 전형적으로 사용자가 타이핑할 때 한번에 하나의 핑거를 움직인다. 일단 식별되면, 가장 빠른 핑거팁을 위한 ID가 메모리로부터 검색된다. 이는 선택된 손가락의 이런 손가락 ID가 추가적인 처리를 위해서 사용된다.
단계(312)에서 시스템은 선택된 핑거팁의 수평 위치를 결정한다. 일 실시예에서, 이 수평 위치는 다른 핑거팁의 초기 수평 위치에 대응하는 핑거팁의 위치 데이터이다. 이런 상대적인 위치는 손의 좌표 시스템의 디폴트 위치에 대응하는 QWERTY 그리드의 선택된 핑거팁의 위치로 설명된다. 손 좌표 시스템은 그리드 또는 좌표 시스템으로써 가상 QWERTY 키보드로 설명된다. 일반적으로, 상대적인 위치가 예컨대 1 키 업, 2 키 다운, 1 키 레프트로 또는 라이트 등으로 설명된다. 이는 그것의 디폴트 위치 또는 그것이 곧바로 내려오면 눌러지는 키에 대응하는 선택된 핑거팁의 위치를 설명한다. 그것이 단계(306)에서 손가락의 좌표이고, 여기서 핑거팁은 식별되고 ID 및 위치 좌표가 할당된다. 다른 손가락과 관계되는 가장 빠른 움직임 핑거팁의 위치로 또한 설명된다. 이 단계에서 생산된 데이터는 핑거팁 크기에 의해서 표준화(normalize)된 핑거팁 옵셋 데이터일 수 있다. 상술한 것처럼, 옵셋 데이터가 센터/디폴트 키로부터의 키 위, 아래, 왼쪽 또는 오른쪽의 개수로 일반적으로 특징적이다. 이런 데이터가 핑거팁의 실제 크기에 의해서 표준화될 수 있다. 예컨대, 전형적인 핑거팁보다 더 작은 것은 더 작은 옵셋(예컨대 1 키 업)을 의미하고, 반면에, 더 큰 크기는 디폴트로부터 더 큰 옵셋(예컨대 2 키 업)을 의미한다.
단계(314)에서 시스템은 가장 빠르거나 선택된 핑거팁과 관련된 기 설정된 가상 키보드 데이터를 검색한다. 일 실시예에서, 각각의 손가락은 하나의 키를 구성하는 키보드 데이터와 관련된다. 상술한 것처럼, 이런 키는 가장 가능성 있는 키로 불린다. 이는 특징과 좌표를 구성한다. 예컨대, 만약 가장 빠른 움직임 핑거팁이 왼쪽 중지라면, 메모리로부터 검색된 기 설정된 데이터는 문자 D를 위한 키이고 그것의 x, y좌표이다. 그 밖의 실시예에서 가장 가능성 있는 키의 좌표 또는 위치 데이터만이 검색된다. 시스템은 신뢰하는 키는, 핑거팁이 디스플레이 표면을 터치할 때, 하나의 가장 빠른 움직임 손가락이 누르기 쉬운 키이다.
일 실시예에서, 시스템은 타자를 치는 사람의 타자 치는 습관을 고려함으로써 가장 가능성 있는 키가 어느 것인지를 조정하도록 훈련된다. 이런 학습 기능으로 인하여, 시스템은 사용자의 선행 타이핑 및 정정에 대한 통계 데이터를 포함하는 데이터베이스를 보유한다. 예컨대, 아마도 D 키는 사용자의 왼쪽 중지가 아래로 움직일 때 히트되는 가장 가능성 있는 키가 아닐 것이다. 이런 사용자를 위한 히스토리 및 통계에 기초하면, 아마도 가장 가능성 있는 키는 C 키(D 키 바로 아래)이거나 E 키(D 키 바로 위에)일 것이다. 이러한 프로세스의 상세한 설명은 도 4에서 추가적으로 설명한다.
단계(316)에서 부분 키보드 데이터가 기 설정된 데이터를 사용하여 검색되고, 이는 일 실시예에서는 단계(314)에서 가장 가능성 있는 키가 정해진다. 일 실시예에서, 이 데이터는 가장 가능성 있는 키와 가장 가능성 있는 키를 포함하는 키보드의 반의 주변 키로 구성된다. 주변 키의 크기 및 위치는 표준 QWERTY 레이아웃에 의해서 결정되거나 사용자에 의해서 이미 선택된 커스텀 레이아웃에 의해서 이미 결정된다. 주변 키(낮은 가능성을 가지는 키)는 각각의 키를 위해 기 설정된다. 즉, 각각의 키는 도면에서 도시된 것처럼 한 세트의 주변 키를 갖는다. 주변 키의 개수는 하나에서부터 두 개 이상으로 16개 키까지 다양할 수 있고, 예컨대, 키의 전체 절반에는 가장 가능성 있는 키가 들어 있다. 상기 예에서, 그것은 키보드의 전체 왼쪽 절반일 수 있다.
단계(318)에서, 부분 키보드 데이터가 터치 스크린 표면에 표시된다. 일 실시예에서, 디스플레이는 가장 가능성 있는 키와 주변 키로 구성된다. 상술한 것처럼, 그 밖의 실시예에서 이는 오직 가장 가능성 있는 키로 구성된다. 표시된 주변 키의 수는 사용자의 경험 수준에 의존한다. 새로운 사용자(시스템에 등록되지 않은 사람이거나 시스템이 어떤 타이핑 히스토리 데이터를 갖고 있지 않은 사람)는 키보드의 전체 절반처럼, 모든 주변 키가 표시된다. 경험 있는 사용자는 오직 가장 가능성 있는 키가 표시된다.
상술한 것처럼, 만약 어떤 것은 부분 데이터의 일부분라면, 가장 가능성 있는 키는 진하거나, 강조되거나 주변 키보다 크기가 더 큰 것처럼 보다 두드러지게 표시된다. 또한 부분 데이터가 실제 표시되지 않을 수도 있다. 이는 키를 볼 필요가 없는 경험 있는 사용자(머슬 메모리에 많이 의존하는), 전력을 절약하기 원하고 컴퓨팅 장치 또는 배터리로 동작하는 태블릿을 사용하는 경험 있는 사용자가 선호한다. 선택된 손가락은 디스플레이의 표면을 터치한다. 만약 손가락이 가장 가능성 있는 키를 히트하면, 그 후에 시스템은 시스템에 의해서 학습 또는 정정할 필요가 없는지 상술한 것과 같은 요소에 기초하여 사용자가 히트할 예정인 키 여부에 대한 올바른 평가를 만든다. 만약 어떤 데이터가 저장되면, 데이터는 반영되거나 가장 가능성 있는 키가 사실상 올바르게 선택되었는지를 확인한다(단계 314 내지 318)
단계(320)에서 사용자가 가장 가능성 있는 키를 터치하지 않고 대신에 주변 키 중의 하나를 히트하면, 시스템 메모리에 저장된 기 설정된 데이터는 수정된다. 이는 시스템에 의해서 특정 사용자를 위한 부분 데이터 및 기 설정된 데이터를 조정하도록 처리된다. 일 실시예에서, 중요성을 갖는 학습 및 통계적 특징을 위해서, 사용자가 시스템에 등록해서 사용자 프로필이 생성될 수 있다. 따라서, 단계(320)에서 사용자가 키를 히트하고 그것을 수정하기 위해서 되돌아오면 기 설정된 데이터가 사용자에 의해서 선택된 실제 키에 기초하여 갱신된다. 사용자가 프로필을 갖고 있다면 사용자를 위한 통계 데이터는 갱신된다.
사용자가 가상 키보드의 키를 터치한 직후에, 단계(308)로 제어가 되돌아가고 거기서 핑거팁의 움직임이 검출되고 프로세스가 반복된다. 그 프로세스는 눌러진 각 키에 대해서 반복한다. 통계적 데이터베이스를 갱신하고 기 설정된 데이터 및 부분 데이터를 수정하는 것은 사용자가 타이핑하는 동안에 배경 프로세스로 발생한다.
도 4는 본 발명의 일 실시예에 따른 사용자가 주변 키를 히트할 때 통계 데이터를 갱신하는 보다 상세한 프로세스를 도시하는 흐름도이다. 그 프로세스는 사용자가 프로필을 갱신하고 시스템이 프로세스를 학습하는 것으로 설명된다. 그러나, 시스템은 여전히 프로필을 갖고 있지 않은 등록되지 않은 사용자로부터 학습할 수 있다. 예컨대, 만약 충분히 많은 수의 사람들이 특정 주변 키를 히트하면, 시스템은 그들이 다른 키, 예컨대 가장 가능성 있는 키를 히트할 것을 예상한 후에, 시스템은 그것의 기 설정된 데이터 및 그것을 반영하기 위한 그 밖의 통계 데이터를 수정할 수 있다.
단계(402)에서는 사용자가 시스템에 등록한 후 시스템은 사용자 타이핑 프로필을 검색한다. 등록은 많은 전형적인 방식, 로그인, 얼굴 인식(face scan), 홍채 인식(eye scan), 기타 방법 등으로 수행된다. 그 밖의 실시예에서, 사용자는 등록을 하지 않고 사용자 프로필을 가지고 있지 않는다. 그러나, 설명된 실시예에서, 사용자 프로필은 검색되고 사용자가 실제 누른 키에 기초하여 갱신된다. 사용자의 프로필은 사용자의 타이핑 습관 및 어떻게 사용자가 타자를 치는지, 특히 타이핑할 때 사용자의 손가락 및 핑거팁의 움직임과 이에 더하여 선호되는 키보드 및 키 크기에 관한 그 밖의 인체 공학적 데이터를 반영하는 데이터를 포함한다.
그 프로세스는 단계(404)에서 시스템이 가장 가능성 있는 키가 눌러지지 않고, 주변 키 중의 하나가 대신 눌러졌음을 검출할 때를 선별한다. 단계(406)에서 시스템은 실제 눌러진 키가 어느 것인지에 대한 데이터를 얻는다. 즉, 시스템은 D 키가 눌려질 것을 예상했으나 대신에 C키가 눌러졌다. 이 사실은 처리되고 D 키 및 C 키에 대해 기 설정된 키보드 데이터가 수정되며, 효과적으로 가상 키보드 레이아웃을 쉬프팅(shifting)한다. 일반적으로, 선택된 손가락에 대한 기 설정된 키보드 데이터는 수정되고 메모리에 저장된다. 만약 사용자를 위해서 충분히 많은 시간동안 일어난다면, 다음 번에 사용자의 선택된 손가락은 동일한 위치에 구성되고, 부분 키보드 데이터(가장 가능성 있는 키와 주변 키가 합쳐짐)는 가장 가능성 있는 키로 C 키를 갖을 것이고 D 키는 주변 키 중의 하나가 된다. 이는 사용자의 타이핑 프로필의 일부가 되고 프로세스가 완료된다. 이는 시스템이 가장 가능성 있는 키로 예상하지 않는 키를 사용자가 본질적으로 누를 때마다 필요하다면 여러 번 반복될 수 있다.
도 5는 본 발명의 일 실시예에 따른 터치 스크린 디스플레이 및 가상 키보드를 구비한 컴퓨팅 시스템의 시스템 블럭도이다. 컴퓨팅 시스템(500)에 도시된 구성요소는 특히 터치 스크린 표면을 이용하여 데이터를 입력하기 위한 수단으로써 가상 키보드를 실행하는 본 발명과 관련된다. 이하에서 설명하는 도 6a 및 6b은 컴퓨팅 시스템의 그 밖의 하드웨어 및 소프트웨어 구성요소를 도시하는 블럭도이다.
상술한 것처럼, 다양한 실시예에서 이용되는 다양한 형태의 데이터가 있다. 이런 데이터는 컴퓨팅 시스템(500)의 영속적인 메모리(502)에 저장된다. 단계(302)에서 설명한 것처럼, 시스템은 가상 키보드 크기 데이터 및 디스플레이 표면의 가상 키보드의 위치의 데이터를 사용하고 저장한다. 이 데이터(504)는 좌표 데이터(x,y)의 형태이거나 시스템이 디스플레이의 가상 키보드의 크기와 위치를 지시하기 위해서 사용할 수 있도록 어떤 그 밖의 적절한 데이터 단위이다. 또한 저장된 데이터는 핑거팁 좌표 데이터 밑 핑거팁 ID 데이터(506)이다. 이런 데이터는 단계(306)에서 결정된다. 또한 가상 키보드 자체와 관련된 것은 앞서 설명한 기 설정된 데이터 및 부분 키보드 데이터를 포함하는 키보드 키 데이터(508)이다. 이는 캐릭터의 형태(키 F 및 키를 위한 좌표)로 선택된 핑거팁(가장 가능성 있는 키 데이터)과 관련된 기 설정된 데이터를 포함한다. 이는 또한 기 설정된 데이터, 특히 가장 가능성 있는 키에 대한 일부, 한 개, 또는 모든 주변 키 레이아웃과 관련된 부분 키보드 데이터를 포함한다. 각각의 키는 1개 키에서부터 16개 키까지 어느 것이든지 가질 수 있음을 상기한다. 메모리(502)에 포함된 것은 어떤 적절한 형식으로 될 수 있는 사용자 타이핑 프로필(510)이다. 앞서 설명한 것처럼, 그들은 특정 사용자를 위한 타이핑 선호도 및 습관에 관한 데이터를 포함한다.
또한, 컴퓨팅 시스템(500)에서 도시된 것은 디스플레이 표면에 인접해서 동작하거나 그 안에서 동작하는 하나 이상의 센서(512)이다. 이런 센서들은 손, 손가락, 핑거팁 및 손가락의 움직임 등을 검출하기 위한 센서를 포함한다. 다양한 형태의 센서들은 상술한 것처럼 이런 기능을 위해서 사용될 수 있다. 얼굴 추적 센서 및 그 밖의 사용자 식별을 위한 센서를 또한 포함할 수 있다. 센서(512)는 또한 센서를 동작하고 제어하며, 데이터를 처리하기 위한 소프트웨어(514)를 갖는다.
본 발명의 특정 기능을 수행하는 다양한 모듈이 있다. 예컨대, 손가락 속도 및 어느 손가락이 가장 빠르게 아래쪽으로 움직이는 지를 결정하는 모듈(516)이 있다. 이를 위해 미가공 데이터(raw data)가 센서(512)로부터 들어오지만, 모듈(516)이 가장 빠른 손가락을 결정하기 위해서 사용된다. 사용자의 타이핑 습관에 관한 통계 데이터를 수집하고 처리하는데 사용되고 가장 가능성 있는 키를 결정하기 위해 시스템 성능을 향상시키도록 통계데이터를 활용하기 위해서 다른 모듈(518)이 사용된다. 사용되는 다른 모듈은 상술한 대로 사용자 손가락의 움직임, 오리엔테이션, 핑거팁의 크기, 그 밖의 데이터에 기초하여 가장 가능성 있는 키를 결정하는 모듈(520)이다. 또한 시스템은 사용자가 시스템으로 데이터를 입력하는데 사용하는 가상 키보드를 실행하는데 이용되는 터치 스크린 디스플레이(522)를 구비한다. 다양한 종류의 터치스크린 기술이 사용되지만, 어떤 기술은 표면 위에 손과 손가락을 추적하기 위해 사용되는 센서(512)의 형태에 따를 때 보다 적합하다.
상술한 것처럼, 컴퓨팅 시스템은, 예컨대 태블릿 컴퓨터 또는 표면 컴퓨터 장치이다. 도 6a 및 6b는 본 발명의 특정 실시예를 실행하기에 적합한 컴퓨팅 시스템(600)을 도시한다. 도 6a는 표면 컴퓨팅 장치처럼, 컴퓨팅 시스템의 하나의 가능한 물리적 실행을 도시한다. 일 실시예에서 시스템(600)은 디스플레이(604)를 포함한다. 또한 이는 디스플레이(604)에 도시된 키보드(예, 가상 키보드)를 구비하거나 장치 하우징의 일부인 물리적 구소 요소이다. 이는 HDMI 또는 USB 포트(미도시)와 같은 다양한 포트를 구비한다. 장치(600)와 결합되는 컴퓨터 판독가능한 매체는 USB 메모리장치 및 다양한 형태의 메모리칩, 스틱, 및 카드를 포함한다.
도 6b는 컴퓨팅 시스템(600)을 위한 블럭도의 예이다. 시스템 버스(620)에 부착된 것은 다양한 서브시스템이다. 프로세서(622)는 메모리(624)를 포함하는 저장 장치에 결합된다. 메모리(624)는 RAM(Random Access Memory) 및 ROM(Read Only Memory)를 포함한다. 해당 기술 분야에서 알려진 것처럼, ROM은 CPU에 데이터 및 명령어를 단방향으로(unidirectionally) 전송하고, RAM은 양방향 방식으로 데이터 및 명령어를 전송하기 위해 전형적으로 사용된다. 이런 두 종류의 메모리는 아래 설명처럼 어떤 적절한 컴퓨터 판독 가능한 매체를 포함한다. 고정 디스크(626)는 또한 프로세서(622)와 양방향으로 결합되고, 이는 추가적인 데이터 저장 능력을 제공하며, 또한 아래에서 설명하는 어떤 컴퓨터 판독 가능한 매체를 포함한다. 고정 디스크(626)는 프로그램, 데이터 등을 저장하기 위해서 사용되고, 이는 주기억장치 보다는 속도가 느린 보조 기억 매체이다. 고정 디스크(626) 내에 보유된 정보는, 적당한 경우에, 메모리(624)의 가상 메모리로 표준 방식(fashion)으로 조직되는 것으로 이해할 수 있다.
프로세서(622)는 또한 디스플레이(604) 및 네트워크 인터페이스(640)와 같은 다양한 입/출력 장치와 결합된다. 일반적으로, 입/출력 장치는 비디오 디스플레이, 키보드, 마이크로폰, 터치-감도 디스플레이, 태블릿, 스타일러스, 보이스 또는 핸드라이팅 인식기, 바이오메틱 리더기 또는 그 밖의 장치 중 어느 것이다. 프로세서(622)는 선택적으로 네트워크 인터페이스(640)를 사용하는 원격통신 네트워크 또는 다른 컴퓨터와 연결될 수 있다. 그러한 네트워크 인터페이스를 가지고, 상술한 방법 단계를 수행하는 과정에서 네트워크로부터 정보를 수신하거나 네트워크로 정보를 출력하는 것을 생각해볼 수 있다. 더욱이, 본 발명의 방법 실시예는 오로지 프로세서(622)에서 실행되거나 프로세싱의 일부를 공유하는 원격 프로세서와 연결하는 인터넷과 같은 네트워크를 통해서 실행된다.
추가적으로, 본 발명의 실시예는 다양한 컴퓨터-실행되는 동작을 수행하기 위한 컴퓨터 코드를 갖는 컴퓨터-판독가능한 매체를 갖는 컴퓨터 저장 매체와 관련된다. 매체 및 컴퓨터 코드는 본 발명의 목적을 위해서 특별히 설계되고 구성되거나, 컴퓨터 소프트웨어 기술 분야에서 통상의 기술자에게 잘 알려지거나 이용가능한 것의 일종이다. 컴퓨터-판독가능한 매체의 예는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기적 매체(magnetic media); CD-ROM 및 홀로그래픽 장치와 같은 광학 매체(Optical media); 플롭티컬 디스크(floptical disk)와 같은 광-자기적 매체(magneto-optical media); 및 ASICs(Application Specific integrated Circuits), PLD(Programmable Logic Devices), ROM 및 RAM 장치와 같은 프로그램 코드를 실행하고 저장하기 위해서 특별히 구성된 하드웨어 장치를 포함한다. 컴퓨터 코드의 예는 컴파일러에 의해서 생산되는 기계 코드, 인터프리터를 사용하는 컴퓨터에 의해서 실행되는 고급 코드를 포함하는 파일을 포함한다.
비록 본 발명의 예시적인 실시예 및 적용예가 도시되고 설명되었더라도, 본 발명의 기술적 사상의 범위를 벗어나지 않는 범위에서 많은 변화 및 수정이 가능하고, 이러한 변형은 본 발명이 속하는 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있습니다. 따라서, 설명된 실시예는 예시적이지 제한적인 것이 아니며, 본 발명은 첨부된 상세한 설명에 의해서 제한되는 것이 아니지만 청구항의 기술적 범위 내에서 수정가능하다.
Claims (36)
- 가상 키보드 실행방법에 있어서,
디스플레이 표면 상에서 손을 검출하는 단계;
상기 디스플레이 표면 상에서의 손가락 움직임을 추적하는 단계;
가장 빠른 움직임의 손가락을 판단하는 단계;
손가락에 대응되는 사용자 타이핑 프로필을 이용하여 상기 가장 빠른 움직임의 손가락에 대응되는 특정키를 결정하는 단계;
상기 가장 빠른 움직임의 손가락이 상기 디스플레이 표면을 접촉하는지를 검출하는 단계; 및
상기 검출된 접촉에 기초하여 상기 가장 빠른 움직임의 손가락에 대응되는 사용자 타이핑 프로필을 수정하는 단계;를 포함하는 가상 키보드 실행방법. - 제1항에 있어서,
상기 가장 빠른 움직임의 손가락이, 상기 특정키 이외의 다른 키를 터치하는지 판단하는 단계; 및
상기 특정키 이외에 다른 키가 터치되는 경우 상기 다른 키를 상기 사용자 타이핑 프로필에 추가하는 단계; 를 더 포함하는 가상 키보드 실행방법. - 삭제
- 제1항에 있어서,
사용자 타이핑 프로필을 저장하는 단계; 및
상기 저장된 사용자 타이핑 프로필에 기초하여 상기 디스플레이 표면의 가상 키보드의 키의 위치 및 크기를 조정하는 단계;를 더 포함하는 가상 키보드 실행방법. - 제1항에 있어서,
상기 가장 빠른 움직임의 손가락이 상기 디스플레이 표면을 접촉하기 전에 상기 디스플레이 표면에 상기 특정키를 표시하는 단계;를 더 포함하는 가상 키보드 실행방법. - 제1항에 있어서,
상기 가장 빠른 움직임의 손가락이 상기 디스플레이 표면을 접촉하기 전에 상기 디스플레이 표면에 특정키 이외의 다른 다수의 키를 표시하는 단계;를 더 포함하는 가상 키보드 실행방법. - 제1항에 있어서,
상기 디스플레이 표면 하부의 센서를 사용하여 손 및 손가락을 아웃라인(outline)하는 단계를 더 포함하는 가상 키보드 실행방법. - 제1항에 있어서,
사용자를 등록하는 단계; 및
사용자 타이핑 프로필을 검색(retrieving)하는 단계를 더 포함하는 가상 키보드 실행방법. - 제1항에 있어서,
복수의 핑거팁의 좌표(coordinates)를 저장하는 단계를 포함하는 가상 키보드 실행방법. - 제1항에 있어서,
상기 가장 빠른 움직임의 손가락에 대응되는 사용자 타이핑 프로필을 검색(retrieving)하는 단계를 더 포함하는 가상 키보드 실행방법. - 제10항에 있어서,
복수의 핑거팁 각각에 고유한 식별자를 할당하는 단계를 더 포함하는 가상 키보드 실행방법. - 제1항에 있어서,
가장 빠른 움직임의 손가락 식별자를 검색하는 단계를 더 포함하는 가상 키보드 실행방법. - 제1항에 있어서,
상기 가장 빠른 움직임의 손가락의 수평 위치를 판단하는 단계를 더 포함하는 가상 키보드 실행방법. - 제1항에 있어서,
상기 사용자 타이핑 프로필을 사용하여 부분 키보드 데이터를 검색하는 단계를 더 포함하는 가상 키보드 실행방법. - 제1항에 있어서,
상기 특정키를 결정하는 단계는,
사용자의 사용자 타이핑 머슬 메모리(muscle memory)를 이용하는 단계를 더 포함하는 가상 키보드 실행방법. - 가상 키보드를 이용한 텍스트 입력 방법에 있어서,
사용자의 손과 핑거팁을 아웃라인하는 단계;
디스플레이 표면에 키보드 크기 및 위치를 결정하는 단계;
상기 사용자의 핑거팁을 식별하는 단계;
가장 빠른 움직임의 손가락을 결정하는 단계;
손가락에 대응되는 사용자 타이핑 프로필을 이용하여 상기 가장 빠른 움직임의 손가락에 대응되는 특정키를 결정하는 단계;
상기 가장 빠른 움직임의 손가락이 상기 디스플레이 표면을 접촉하는지를 검출하는 단계;
상기 검출된 접촉에 기초하여 상기 가장 빠른 움직임의 손가락에 대응되는 사용자 타이핑 프로필을 수정하는 단계; 및
상기 가장 빠른 움직임의 손가락에 기초하여, 상기 디스플레이 표면에 부분 가상 키보드를 표시하는 단계;를 포함하는 가상 키보드를 이용한 텍스트 입력 방법. - 삭제
- 제16항에 있어서,
상기 가장 빠른 움직임의 손가락이 상기 특정키 이외의 다른 키를 터치한 것인지를 검출하는 단계; 및
상기 특정키 이외에 다른 키가 터치되는 경우 상기 다른 키를 상기 사용자 타이핑 프로필에 추가하는 단계를 더 포함하는 가상 키보드를 이용한 텍스트 입력 방법. - 삭제
- 제16항에 있어서,
사용자 타이핑 프로필을 저장하는 단계; 및
상기 저장된 사용자 타이핑 프로필에 기초한 상기 디스플레이 표면의 상기 가상 키보드의 키보드 크기 및 키보드 위치를 조정하는 단계를 포함하는 가상 키보드를 이용한 텍스트 입력 방법. - 제16항에 있어서,
상기 가장 빠른 움직임의 손가락이 상기 디스플레이 표면을 터치하기 전에 상기 디스플레이 표면에 특정키를 표시하는 단계를 더 포함하는 가상 키보드를 이용한 텍스트 입력 방법. - 제16항에 있어서,
상기 가장 빠른 움직임의 손가락이 상기 디스플레이 표면을 터치하기 전에 상기 디스플레이 표면에 특정키 이외의 다수의 키를 표시하는 단계를 더 포함하는 가상 키보드를 이용한 텍스트 입력 방법. - 제16항에 있어서,
상기 디스플레이 표면 하부의 센서가 상기 사용자의 손 및 핑거팁을 아웃라인(outline)하기 위해 사용되는 것을 특징으로 하는 가상 키보드를 이용한 텍스트 입력 방법. - 제16항에 있어서,
상기 사용자를 등록하는 단계; 및
사용자 타이핑 프로필을 검색하는 단계를 더 포함하는 가상 키보드를 이용한 텍스트 입력 방법. - 제16항에 있어서,
상기 가장 빠른 움직임의 손가락에 대응되는 사용자 타이핑 프로필을 검색하는 단계를 더 포함하는 가상 키보드를 이용한 텍스트 입력 방법. - 제25항에 있어서,
상기 사용자 타이핑 프로필을 사용하는 부분 키보드 데이터를 검색하는 단계를 더 포함하는 가상 키보드를 이용한 텍스트 입력 방법. - 제16항에 있어서,
상기 핑거팁의 각각에 고유한 식별자를 할당하는 단계를 더 포함하는 가상 키보드를 이용한 텍스트 입력 방법. - 제16항에 있어서,
상기 특정키를 결정하는 단계는,
상기 사용자의 사용자 타이핑 머슬 메모리를 이용하는 단계를 더 포함하는 가상 키보드를 이용한 텍스트 입력 방법. - 가상 키보드를 실행하기 위한 컴퓨팅 시스템에 있어서,
터치 스크린 디스플레이;
상기 터치 스크린 디스플레이 상의 손 및 손가락을 추적하기 위한 센서;
사용자 타이핑 프로필과 상기 사용자 타이핑 프로필에 포함된 키 위치 데이터를 저장하기 위한 메모리; 및
손가락에 대응되는 사용자 타이핑 프로필을 제어하는 프로세서;를 포함하고
상기 메모리는,
가장 빠른 움직임의 손가락의 손가락 속도를 측정하기 위해서 손가락 속도 검출 프로그램을 더 저장하고 상기 센서에 의해 추적된 접촉에 기초하여 손가락에 대응되는 사용자 타이핑 프로필이 수정되는 가상 키보드를 실행하기 위한 컴퓨팅 시스템. - 삭제
- 제29항에 있어서,
상기 메모리는,
손가락에 대응되는 특정키가 터치되지 않았다면 상기 가상 키보드의 어느 키가 터치되었는지에 대한 데이터를 처리하고 사용자 타이핑 관련 프로필을 갱신하는 통계 프로그램을 더 저장하는 것을 특징으로 하는 가상 키보드를 실행하기 위한 컴퓨팅 시스템. - 제29항에 있어서,
상기 메모리는,
상기 센서로부터의 데이터를 가동하고 관리하기 위한 센서 관련 소프트웨어를 더 저장하는 것을 특징으로 하는 가상 키보드를 실행하기 위한 컴퓨팅 시스템. - 제29항에 있어서,
상기 센서는,
웨지(wedge) 광학 기술을 이용하는 것을 특징으로 하는 가상 키보드를 실행하기 위한 컴퓨팅 시스템. - 제29항에 있어서,
상기 프로세서는 손가락에 대응되는 특정키를 검출하는 것을 특징으로 하는 가상 키보드를 실행하기 위한 컴퓨팅 시스템. - 제29항에 있어서,
상기 메모리는,
손가락 좌표 데이터 및 키보드 크기 및 위치 데이터를 더 저장하는 것을 특징으로 하는 가상 키보드를 실행하기 위한 컴퓨팅 시스템. - 제29항에 있어서,
상기 센서는,
상기 터치 스크린 디스플레이의 하부에 있고, 상기 디스플레이상의 움직임을 검출할 수 있는 것을 특징으로 하는 가상 키보드를 실행하기 위한 컴퓨팅 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/081,361 | 2011-04-06 | ||
US13/081,361 US9430145B2 (en) | 2011-04-06 | 2011-04-06 | Dynamic text input using on and above surface sensing of hands and fingers |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120114139A KR20120114139A (ko) | 2012-10-16 |
KR101822464B1 true KR101822464B1 (ko) | 2018-01-26 |
Family
ID=46967101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110098551A KR101822464B1 (ko) | 2011-04-06 | 2011-09-28 | 손과 손가락을 감지하는 표면과 그 위에 사용하는 동적 텍스트 입력 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9430145B2 (ko) |
KR (1) | KR101822464B1 (ko) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9489086B1 (en) * | 2013-04-29 | 2016-11-08 | Apple Inc. | Finger hover detection for improved typing |
US9454270B2 (en) | 2008-09-19 | 2016-09-27 | 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 |
US10126942B2 (en) | 2007-09-19 | 2018-11-13 | Apple Inc. | Systems and methods for detecting a press on a touch-sensitive surface |
US9104308B2 (en) * | 2010-12-17 | 2015-08-11 | The Hong Kong University Of Science And Technology | Multi-touch finger registration and its applications |
WO2012144666A1 (en) * | 2011-04-19 | 2012-10-26 | Lg Electronics Inc. | Display device and control method therof |
US8928589B2 (en) * | 2011-04-20 | 2015-01-06 | Qualcomm Incorporated | Virtual keyboards and methods of providing the same |
US20130044063A1 (en) * | 2011-08-19 | 2013-02-21 | Apple Inc. | Touch correcting keypad |
CH705918A2 (de) * | 2011-12-19 | 2013-06-28 | Ralf Trachte | Feld-Analysen für flexible Computer-Eingabe. |
US9244612B1 (en) * | 2012-02-16 | 2016-01-26 | Google Inc. | Key selection of a graphical keyboard based on user input posture |
US20130222247A1 (en) * | 2012-02-29 | 2013-08-29 | Eric Liu | Virtual keyboard adjustment based on user input offset |
JP5584802B2 (ja) * | 2012-07-06 | 2014-09-03 | シャープ株式会社 | 情報処理装置、情報処理装置の制御方法、制御プログラム、コンピュータ読み取り可能な記録媒体 |
US20140078065A1 (en) * | 2012-09-15 | 2014-03-20 | Ahmet Akkok | Predictive Keyboard With Suppressed Keys |
CN108710406B (zh) | 2012-09-18 | 2021-10-08 | 谷歌有限责任公司 | 姿势适应选择 |
EP2926236A1 (en) * | 2012-11-27 | 2015-10-07 | Thomson Licensing | Adaptive virtual keyboard |
KR102007651B1 (ko) * | 2012-12-21 | 2019-08-07 | 삼성전자주식회사 | 터치스크린 키보드를 구성하는 방법, 장치 및 이를 수행하는 프로그램을 저장하는 컴퓨터로 읽을 수 있는 저장 매체 |
US9348429B2 (en) * | 2013-03-15 | 2016-05-24 | Blackberry Limited | Method and apparatus for word prediction using the position of a non-typing digit |
US10289302B1 (en) | 2013-09-09 | 2019-05-14 | Apple Inc. | Virtual keyboard animation |
US9857971B2 (en) * | 2013-12-02 | 2018-01-02 | Industrial Technology Research Institute | System and method for receiving user input and program storage medium thereof |
US9207794B2 (en) * | 2013-12-30 | 2015-12-08 | Google Inc. | Disambiguation of user intent on a touchscreen keyboard |
US9557825B2 (en) * | 2014-06-10 | 2017-01-31 | Maxwell Minoru Nakura-Fan | Finger position sensing and display |
US10649653B2 (en) * | 2014-07-15 | 2020-05-12 | Hewlett-Packard Development Company, L.P. | Virtual keyboard |
US10585584B2 (en) * | 2014-09-29 | 2020-03-10 | Hewlett-Packard Development Company, L.P. | Virtual keyboard |
CN104331214B (zh) * | 2014-10-11 | 2020-04-24 | 联想(北京)有限公司 | 一种信息处理方法和电子设备 |
US9477364B2 (en) | 2014-11-07 | 2016-10-25 | Google Inc. | Device having multi-layered touch sensitive surface |
US9927974B2 (en) * | 2015-09-22 | 2018-03-27 | Qualcomm Incorporated | Automatic customization of keypad key appearance |
US10365748B2 (en) | 2015-12-08 | 2019-07-30 | Samsung Electronics Co., Ltd. | Smart touch location predictor based on direction vector |
US10963159B2 (en) * | 2016-01-26 | 2021-03-30 | Lenovo (Singapore) Pte. Ltd. | Virtual interface offset |
US10133396B2 (en) | 2016-03-07 | 2018-11-20 | Intel Corporation | Virtual input device using second touch-enabled display |
CN105955504A (zh) * | 2016-04-28 | 2016-09-21 | 张伟 | 一种拼音输入法同音字的过滤键盘及使用方法 |
CN105843547B (zh) * | 2016-05-24 | 2019-06-07 | 腾讯科技(深圳)有限公司 | 一种页面滑动方法及装置 |
US10627948B2 (en) * | 2016-05-25 | 2020-04-21 | Microsoft Technology Licensing, Llc | Sequential two-handed touch typing on a mobile device |
US10402020B1 (en) * | 2016-11-15 | 2019-09-03 | Google Llc | Detecting twist input with an interactive cord |
CN107193396B (zh) * | 2017-05-31 | 2019-03-05 | 维沃移动通信有限公司 | 一种输入方法和移动终端 |
WO2020027773A1 (en) * | 2018-07-30 | 2020-02-06 | Hewlett-Packard Development Company, L.P. | User interface modification |
US10901495B2 (en) * | 2019-01-10 | 2021-01-26 | Microsofttechnology Licensing, Llc | Techniques for multi-finger typing in mixed-reality |
US11106286B2 (en) * | 2020-01-31 | 2021-08-31 | Dell Products, Lp | System and method for mood detection via piezo haptic keyboard dynamics |
US11216182B2 (en) | 2020-03-03 | 2022-01-04 | Intel Corporation | Dynamic configuration of a virtual keyboard |
KR102373960B1 (ko) * | 2021-09-10 | 2022-03-15 | (주)웅진씽크빅 | 독서 지원 장치 및 이를 이용한 사용자 입력 감지 방법 |
JP7533508B2 (ja) * | 2022-03-14 | 2024-08-14 | カシオ計算機株式会社 | 文字入力方法、情報処理装置、プログラム及び情報処理システム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004326797A (ja) * | 2003-04-23 | 2004-11-18 | Samsung Electronics Co Ltd | 空間型情報入力装置及び方法、このためのソフトキーマッピング方法及びそれによる仮想キーボード |
JP2005078156A (ja) * | 2003-08-28 | 2005-03-24 | Seiko Epson Corp | 制御用画面表示装置及び方法並びにそのプログラム |
KR100939831B1 (ko) * | 2008-09-19 | 2010-02-02 | 가부시키가이샤 덴소 | 입력 에러를 감소시키기 위한 조작 입력 장치 및 정보 기기조작 장치 |
Family Cites Families (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4333097A (en) * | 1980-09-12 | 1982-06-01 | Bell Telephone Laboratories, Incorporated | Visual display terminal without finger repositioning |
US5128672A (en) * | 1990-10-30 | 1992-07-07 | Apple Computer, Inc. | Dynamic predictive keyboard |
JPH10154144A (ja) * | 1996-11-25 | 1998-06-09 | Sony Corp | 文章入力装置及び方法 |
US7614008B2 (en) * | 2004-07-30 | 2009-11-03 | Apple Inc. | Operation of a computer with touch screen interface |
EP1717679B1 (en) * | 1998-01-26 | 2016-09-21 | Apple Inc. | Method for integrating manual input |
KR100865598B1 (ko) * | 2000-05-29 | 2008-10-27 | 브이케이비 인코포레이티드 | 수문자 조합 및 다른 데이터의 입력을 위한 가상 데이터입력 장치 및 방법 |
US20050024338A1 (en) * | 2001-03-29 | 2005-02-03 | International Business Machines Corporation | Finger-identifying keyboard |
US20030048260A1 (en) * | 2001-08-17 | 2003-03-13 | Alec Matusis | System and method for selecting actions based on the identification of user's fingers |
US7466307B2 (en) * | 2002-04-11 | 2008-12-16 | Synaptics Incorporated | Closed-loop sensor on a solid-state object position detector |
US7656393B2 (en) * | 2005-03-04 | 2010-02-02 | Apple Inc. | Electronic device having display and surrounding touch sensitive bezel for user interface and control |
US8576173B2 (en) * | 2002-07-04 | 2013-11-05 | Koninklijke Philips N. V. | Automatically adaptable virtual keyboard |
US8460103B2 (en) * | 2004-06-18 | 2013-06-11 | Igt | Gesture controlled casino gaming system |
US20040183833A1 (en) * | 2003-03-19 | 2004-09-23 | Chua Yong Tong | Keyboard error reduction method and apparatus |
EP1596271A1 (en) * | 2004-05-11 | 2005-11-16 | Hitachi Europe S.r.l. | Method for displaying information and information display system |
US8381135B2 (en) * | 2004-07-30 | 2013-02-19 | Apple Inc. | Proximity detector in handheld device |
US7653883B2 (en) * | 2004-07-30 | 2010-01-26 | Apple Inc. | Proximity detector in handheld device |
US9152241B2 (en) * | 2006-04-28 | 2015-10-06 | Zienon, Llc | Method and apparatus for efficient data input |
US7903094B2 (en) * | 2006-06-23 | 2011-03-08 | Wacom Co., Ltd | Information processing apparatus, operation input method, and sensing device |
US20080018604A1 (en) * | 2006-07-19 | 2008-01-24 | Tyco Electronics Canada, Ltd. | Touch detection method and system for a touch sensor |
US7978091B2 (en) * | 2006-08-24 | 2011-07-12 | Navisense | Method and device for a touchless interface |
US20080055259A1 (en) * | 2006-08-31 | 2008-03-06 | Honeywell International, Inc. | Method for dynamically adapting button size on touch screens to compensate for hand tremor |
JP2008197934A (ja) * | 2007-02-14 | 2008-08-28 | Calsonic Kansei Corp | 操作者判別方法 |
US8115753B2 (en) * | 2007-04-11 | 2012-02-14 | Next Holdings Limited | Touch screen system with hover and click input methods |
KR101352994B1 (ko) * | 2007-12-10 | 2014-01-21 | 삼성전자 주식회사 | 적응형 온 스크린 키보드 제공 장치 및 그 제공 방법 |
US8456425B2 (en) * | 2008-01-30 | 2013-06-04 | International Business Machines Corporation | Self-adapting keypad |
WO2009099296A2 (en) * | 2008-02-05 | 2009-08-13 | Lg Electronics Inc. | Virtual optical input device for providing various types of interfaces and method of controlling the same |
US8358277B2 (en) * | 2008-03-18 | 2013-01-22 | Microsoft Corporation | Virtual keyboard based activation and dismissal |
GB2462579A (en) * | 2008-06-10 | 2010-02-17 | Sony Service Ct | Touch screen display including proximity sensor |
US8502787B2 (en) * | 2008-11-26 | 2013-08-06 | Panasonic Corporation | System and method for differentiating between intended and unintended user input on a touchpad |
US8677287B2 (en) * | 2008-12-04 | 2014-03-18 | Mitsubishi Electric Corporation | Display input device and navigation device |
US20100251161A1 (en) * | 2009-03-24 | 2010-09-30 | Microsoft Corporation | Virtual keyboard with staggered keys |
US9189472B2 (en) * | 2009-03-30 | 2015-11-17 | Touchtype Limited | System and method for inputting text into small screen devices |
US9128610B2 (en) * | 2009-09-30 | 2015-09-08 | At&T Mobility Ii Llc | Virtual predictive keypad |
US8812972B2 (en) * | 2009-09-30 | 2014-08-19 | At&T Intellectual Property I, L.P. | Dynamic generation of soft keyboards for mobile devices |
US8782556B2 (en) * | 2010-02-12 | 2014-07-15 | Microsoft Corporation | User-centric soft keyboard predictive technologies |
US9311724B2 (en) * | 2010-04-23 | 2016-04-12 | Handscape Inc. | Method for user input from alternative touchpads of a handheld computerized device |
US8384683B2 (en) * | 2010-04-23 | 2013-02-26 | Tong Luo | Method for user input from the back panel of a handheld computerized device |
KR20120000663A (ko) * | 2010-06-28 | 2012-01-04 | 주식회사 팬택 | 3d 객체 처리 장치 |
HK1147905A2 (en) * | 2010-06-30 | 2011-08-19 | Chi Ching Lee | System and method for virtual touch sensing |
US8918734B2 (en) * | 2010-07-28 | 2014-12-23 | Nuance Communications, Inc. | Reduced keyboard with prediction solutions when input is a partial sliding trajectory |
US20120047454A1 (en) * | 2010-08-18 | 2012-02-23 | Erik Anthony Harte | Dynamic Soft Input |
US20120200508A1 (en) * | 2011-02-07 | 2012-08-09 | Research In Motion Limited | Electronic device with touch screen display and method of facilitating input at the electronic device |
US20120235917A1 (en) * | 2011-03-14 | 2012-09-20 | Amihi Miron | Context-based keyboard |
US9547438B2 (en) * | 2011-06-21 | 2017-01-17 | Empire Technology Development Llc | Gesture based user interface for augmented reality |
US8484573B1 (en) * | 2012-05-23 | 2013-07-09 | Google Inc. | Predictive virtual keyboard |
US8504934B1 (en) * | 2012-08-30 | 2013-08-06 | Google Inc. | Displaying a graphical keyboard |
US8487897B1 (en) * | 2012-09-12 | 2013-07-16 | Google Inc. | Multi-directional calibration of touch screens |
-
2011
- 2011-04-06 US US13/081,361 patent/US9430145B2/en not_active Expired - Fee Related
- 2011-09-28 KR KR1020110098551A patent/KR101822464B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004326797A (ja) * | 2003-04-23 | 2004-11-18 | Samsung Electronics Co Ltd | 空間型情報入力装置及び方法、このためのソフトキーマッピング方法及びそれによる仮想キーボード |
JP2005078156A (ja) * | 2003-08-28 | 2005-03-24 | Seiko Epson Corp | 制御用画面表示装置及び方法並びにそのプログラム |
KR100939831B1 (ko) * | 2008-09-19 | 2010-02-02 | 가부시키가이샤 덴소 | 입력 에러를 감소시키기 위한 조작 입력 장치 및 정보 기기조작 장치 |
Also Published As
Publication number | Publication date |
---|---|
US9430145B2 (en) | 2016-08-30 |
KR20120114139A (ko) | 2012-10-16 |
US20120260207A1 (en) | 2012-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101822464B1 (ko) | 손과 손가락을 감지하는 표면과 그 위에 사용하는 동적 텍스트 입력 방법 | |
US10908815B2 (en) | Systems and methods for distinguishing between a gesture tracing out a word and a wiping motion on a touch-sensitive keyboard | |
US11416142B2 (en) | Dynamic soft keyboard | |
US8959013B2 (en) | Virtual keyboard for a non-tactile three dimensional user interface | |
US8384683B2 (en) | Method for user input from the back panel of a handheld computerized device | |
KR101695174B1 (ko) | 전자장치에 수신문자입력을 위한 인체공학적 움직임 감지 | |
CN103443744B (zh) | 动态定位的屏幕上键盘 | |
JP5730667B2 (ja) | デュアルスクリーン上のユーザジェスチャのための方法及びデュアルスクリーンデバイス | |
JP6129879B2 (ja) | 多次元入力のためのナビゲーション手法 | |
CN104137038B (zh) | 具有手指鉴别的智能触摸屏键盘 | |
EP2821906B1 (en) | Method for processing touch operation and mobile terminal | |
US9261913B2 (en) | Image of a keyboard | |
US20160364138A1 (en) | Front touchscreen and back touchpad operated user interface employing semi-persistent button groups | |
US8432301B2 (en) | Gesture-enabled keyboard and associated apparatus and computer-readable storage medium | |
US8654085B2 (en) | Multidimensional navigation for touch sensitive display | |
US20130155070A1 (en) | Method for user input from alternative touchpads of a handheld computerized device | |
US20140337786A1 (en) | Method for controlling a virtual keyboard from a touchpad of a computerized device | |
US20130275907A1 (en) | Virtual keyboard | |
US8659572B2 (en) | Smart touchscreen key activation detection | |
Walmsley et al. | Disambiguation of imprecise input with one-dimensional rotational text entry | |
Fedor et al. | Performance evaluation and efficiency of laser holographic peripherals | |
Chang et al. | Virtual keyboard for head mounted display-based wearable devices | |
AU2011242487B2 (en) | Method for user input from the back panel of a handheld computerized device | |
AU2011242487A1 (en) | Method for user input from the back panel of a handheld computerized device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |