KR101334342B1 - 문자 입력 장치 및 문자 입력 방법 - Google Patents
문자 입력 장치 및 문자 입력 방법 Download PDFInfo
- Publication number
- KR101334342B1 KR101334342B1 KR1020130055520A KR20130055520A KR101334342B1 KR 101334342 B1 KR101334342 B1 KR 101334342B1 KR 1020130055520 A KR1020130055520 A KR 1020130055520A KR 20130055520 A KR20130055520 A KR 20130055520A KR 101334342 B1 KR101334342 B1 KR 101334342B1
- Authority
- KR
- South Korea
- Prior art keywords
- keypad
- character
- key
- touch
- word
- 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/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
- G06F3/0237—Character input methods using prediction or retrieval techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/163—Wearable computers, e.g. on a belt
-
- 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
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
-
- 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/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- 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
Abstract
본 발명은 문자 입력 장치 및 문자 입력 방법에 관한 것으로, 터치 스크린, 단어 사전 데이터베이스, 제1키패드에 대한 정보가 저장된 제1키패드 정보 데이터베이스, 제2키패드에 대한 정보가 저장된 제2키패드 정보 데이터베이스, 문자 입력 모드 시, 적어도 하나 이상의 문자키들로 구성된 제1 키패드를 상기 터치 스크린상에 표시하는 제1 키패드 생성부, 상기 제1키패드에서 제1키의 터치가 감지된 경우, 상기 제1키의 값에 대응하는 문자코드를 상기 제1키패드 정보 데이터베이스로부터 획득하고, 제2 키패드 생성부를 호출하는 제1키 터치 인식부, 상기 제1키 터치 인식부의 호출에 따라, 상기 제1키패드 상에 제2키패드를 생성하여 가상으로 표시하는 제2 키패드 생성부, 상기 제2 키패드에서 터치 이동 동작이 감지된 경우, 상기 터치 이동 동작에 대응하는 적어도 하나의 문자 코드를 상기 제2키패드 정보 데이터베이스로부터 획득하는 제2키패드 터치 인식부, 상기 제1키의 문자코드와 제2키패드 터치 인식부에서 획득된 문자 코드들을 결합하여 적어도 하나 이상의 입력 문자열을 생성하는 입력 문자열 생성부, 상기 생성된 입력 문자열들을 상기 단어 사전 데이터베이스에 저장된 단어들과 문자열 패턴 매칭을 수행하여 완성된 단어의 문자열들을 추출 및 표시하는 단어 인식 처리부를 포함한다.
Description
본 발명은 문자 입력 장치 및 문자 입력 방법에 관한 것으로, 보다 상세하게는 다양한 재질 또는 형태의 터치 또는 비터치 동작으로 문자를 입력하는 기기의 문자 입력 장치에서 문자 키패드를 이중으로 제공하여 문자를 쉽게 입력할 수 있는 문자 입력 장치 및 문자 입력 방법에 관한 것이다.
최근 안경 타입, 손목 시계 타입 등의 웨어러블(wearable) 컴퓨터, 플렉시블(flexible) 디스플레이 형 스마트 폰 등 새로운 모바일 컴퓨팅 기기가 대두되고 있다. 이러한 기기들은 물리적 형태가 현재의 스마트 폰, 테블릿 PC 등과는 다르다. 특히 웨어러블(wearable)형, 플렉시블(flexible) 디스플레이형 등의 컴퓨팅 기기의 문자 입력 장치는 물리적 형태부터 사용자의 문자 입력 환경에 이르기까지 크게 달라질 것이다.
또한, 웨어러블 휴대 단말기에 구비된 터치 스크린은 휴대 단말기의 한정된 크기로 인하여 문자 입력 장치의 크기 역시 한정된다. 이로 인해 휴대 단말기의 터치 스크린에 문자 키패드를 표시하여 문자를 입력하는데 있어서 어려움이 예상된다.
웨어러블 컴퓨팅 기기에서 문자 입력 장치의 장착 여부는 중요한 상품 가치 판단 자료가 될 것이므로, 웨어러블 컴퓨팅 기기에서 문자 입력의 효율성 및 정확도를 기대할 수 있는 문자 입력 장치 및 방식은 필수적인 요소라 할 것이다.
따라서, 스마트 폰을 포함한 모바일 기기 또는 웨어러블 컴퓨팅 기기에서는 문자 입력 장치의 물리적 형태와 사용자의 문자 입력 환경을 고려한 보다 개선된 문자 입력 방법이 필요하다.
본 발명의 목적은 다양한 재질 또는 형태의 터치 또는 비터치 동작으로 문자를 입력하는 모바일 또는 웨어러블 컴퓨팅 기기의 문자 입력 장치에서 키간의 운지 이동 거리를 최소화하는 소형의 키패드를 이중으로 제공하는 문자 입력 장치 및 문자 입력 방법을 제공하는데 있다.
본 발명의 다른 목적은 리얼 키패드인 제1키패드에서 터치 개시가 감지된 경우, 복수의 문자를 동시에 입력할 수 있는 제2키패드를 가상으로 제공하고, 제2키패드에서 입력된 문자열이 단어 사전 데이터베이스에 정의된 단어인지를 판단할 수 있는 단어 인식 기능을 제공하는 문자 입력 장치 및 문자 입력 방법을 제공하는데 있다.
본 발명의 또 다른 목적은 제2키패드에서 입력된 문자열들에 추가 가능한 어미들을 표시하고, 그 표시된 어미들 중에서 사용자에 의해 선택된 어미를 사용자에 의해 선택된 문자열(또는 단어)의 어미로 추가할 수 있는 문자 입력 장치 및 문자 입력 방법을 제공하는데 있다.
본 발명의 또 다른 목적은 터치 스크린을 이용하여 문자를 입력함에 있어서, 여러 키 영역을 여러 번 누르지 않고도 입력하고자 하는 단어를 빠르고 정확히 입력할 수 있는 문자 입력 장치 및 문자 입력 방법을 제공하는데 있다.
본 발명의 또 다른 목적은 다양한 사용자의 문자 입력 환경에서 문자 입력에 소요되는 운지 거리의 단축, 문자키 터치의 정확도 향상 및 손 동작을 최소화하여 문자 입력의 효율을 향상시킬 수 있는 문자 입력 장치 및 문자 입력 방법을 제공하는데 있다.
상기 목적들을 달성하기 위하여 본 발명의 일 측면에 따르면, 터치 스크린, 단어 사전 데이터베이스, 제1키패드에 대한 정보가 저장된 제1키패드 정보 데이터베이스, 제2키패드에 대한 정보가 저장된 제2키패드 정보 데이터베이스, 문자 입력 모드 시, 적어도 하나 이상의 문자키들로 구성된 제1 키패드를 상기 터치 스크린상에 표시하는 제1 키패드 생성부, 상기 제1키패드에서 제1키의 터치가 감지된 경우, 상기 제1키의 값에 대응하는 문자코드를 상기 제1키패드 정보 데이터베이스로부터 획득하고, 제2 키패드 생성부를 호출하는 제1키 터치 인식부, 상기 제1키 터치 인식부의 호출에 따라, 상기 제1키패드 상에 제2키패드를 생성하여 가상으로 표시하는 제2 키패드 생성부, 상기 제2 키패드에서 터치 이동 동작이 감지된 경우, 상기 터치 이동 동작에 대응하는 적어도 하나의 문자 코드를 상기 제2키패드 정보 데이터베이스로부터 획득하는 제2키패드 터치 인식부, 상기 제1키의 문자코드와 제2키패드 터치 인식부에서 획득된 문자 코드들을 결합하여 적어도 하나 이상의 입력 문자열을 생성하는 입력 문자열 생성부, 상기 생성된 입력 문자열들을 상기 단어 사전 데이터베이스에 저장된 단어들과 문자열 패턴 매칭을 수행하여 완성된 단어의 문자열들을 추출 및 표시하는 단어 인식 처리부를 포함하는 문자 입력 장치가 제공된다.
상기 단어 인식 처리부는 상기 문자열 패턴 매칭 수행 결과, 완성된 단어의 문자열이 존재하지 않은 경우, 사용자 정의 단어 등록 명령이 입력되는지의 여부를 판단하고, 사용자 정의 단어 등록 명령이 입력된 경우, 상기 입력 문자열을 사용자 정의 단어로 사용자 정의 단어 데이터베이스에 저장할 수 있다.
상기 문자 입력 장치는 단어들의 어미가 저장된 단어 어미 데이터베이스를 더 포함하고, 상기 단어 인식 처리부는 상기 표시된 문자열들에 추가 가능한 어미들을 상기 단어 어미 데이터베이스로부터 획득하여 표시하고, 상기 표시된 어미들 중에서 사용자에 의해 선택된 어미를 사용자에 의해 선택된 단어의 어미로 추가할 수 있다.
상기 제1 키패드 생성부는 점(dot), 직선, 곡선, 다각형, 원형, 컬러형 중 적어도 하나의 형태를 갖는 문자 키들로 구성된 제1 키패드를 생성할 수 있다.
상기 제1키패드 정보 데이터베이스에는 제1키패드를 구성하는 문자키의 형태 및 크기에 따른 좌표값, 제1키패드에 배치된 문자키들의 중심점 좌표값에 대응하는 문자코드 및 문자라벨 중 적어도 하나가 저장될 수 있다.
상기 제1키 터치 인식부는 상기 제1키패드에서 제1키의 터치가 감지된 경우, 상기 제1키에 대응하는 중심점 좌표값을 획득하고, 상기 획득된 중심점 좌표값에 대응되는 문자 코드를 상기 제1 키패드 정보 데이터베이스로부터 추출할 수 있다.
상기 제1키 터치 인식부는 상기 제1키패드에서 제1키의 터치가 감지된 경우, 상기 제1키에 대응하는 중심점 좌표값을 획득하고, 상기 획득된 중심점 좌표값에 대응되는 문자 코드를 상기 제1 키패드 정보 데이터베이스로부터 추출한 후, 이어지는 상하좌우 터치 이동 방향 정보를 결합한 정보를 이용하여 제1키의 다른 문자 코드를 생성할 수 있다.
상기 제2키패드 정보 데이터베이스에는 제2키패드의 형태 및 크기에 따른 좌표값, 제2키패드에서 하나의 문자키로 정의되어 배치된 문자키들의 중심점 좌표값, 각 중심점 좌표값에 대응하는 적어도 하나 이상의 문자코드 및 문자라벨 중 적어도 하나가 저장될 수 있다.
상기 제2 키패드 생성부는 제2키패드를 상기 제1키패드 상에 가상으로 가시적 또는 비가시적으로 생성 및 표시할 수 있다.
상기 제2 키패드 생성부는 점(dot), 직선, 곡선, 다각형, 원형, 컬러형 중 적어도 하나의 형태를 갖는 문자 키들로 구성된 제2 키패드를 생성할 수 있다.
상기 터치 이동 동작은 탭(tap), 드래그(drag), 플릭(flick), 밀기(sliding) 중 적어도 하나를 포함하고, 제1키 터치 동작에서 연속으로 이어지는 동작일 수 있다.
상기 제2키 터치 인식부는 상기 제2키패드에서 터치 이동 동작에 따른 좌표 값을 취득하고, 상기 취득된 좌표값에 대응하는 적어도 하나 이상의 문자 코드를 상기 제2키패드 정보 데이터베이스로부터 추출할 수 있다.
상기 제2키 터치 인식부는 상기 제2키패드 상에서 터치 이동 동작이 감지되지 않은 경우, 상기 제1키 터치 인식부에서 획득된 제1키의 값에 대응하는 문자 코드에 해당하는 문자를 터치 스크린 상에 표시할 수 있다.
본 발명의 다른 측면에 따르면, 터치 스크린이 구비된 문자 입력 장치에서 문자를 입력하는 방법에 있어서, (a) 문자 입력 모드 시, 적어도 하나 이상의 문자키들로 구성된 제1 키패드를 상기 터치스크린 상에 표시하는 단계, (b) 상기 제1키패드에서 제1키 터치가 감지된 경우, 제1키의 값에 대응하는 문자 코드를 획득하고, 상기 제1키의 문자키를 포함하는 제2 키패드를 생성하여 터치 스크린상에 표시하는 단계, (c) 상기 제2 키패드 상에서 터치 이동 동작이 감지되는 경우, 상기 터치 이동 동작에 대응하는 적어도 하나의 문자 코드를 획득하는 단계, (d) 상기 제1키의 문자코드와 제2키패드에서 획득된 문자 코드들을 결합하여 적어도 하나 이상의 입력 문자열을 생성하는 단계, (e) 상기 생성된 입력 문자열들을 단어 사전 데이터베이스에 저장된 단어들과 문자열 패턴 매칭을 수행하여 완성된 단어의 문자열들을 추출 및 표시하는 단계를 포함하는 문자 입력 방법이 제공된다.
상기 (e) 단계 이후, 상기 완성된 단어의 문자열들 중에서 특정 문자열이 선택된 경우, 상기 선택된 문자열에 추가 가능한 어미가 존재하는지의 여부를 판단하는 단계, 상기 판단결과 추가 가능한 어미가 존재하는 경우, 추가 가능한 어미들을 표시하는 단계, 상기 표시된 어미들 중에서 사용자에 의해 선택된 어미를 상기 선택된 문자열의 어미로 추가하여 표시하는 단계를 더 포함할 수 있다.
상기 (e) 단계에서, 상기 문자열 패턴 매칭 수행 결과, 완성된 단어의 문자열이 존재하지 않은 경우, 사용자 정의 단어 등록 명령이 입력되는지의 여부를 판단하고, 사용자 정의 단어 등록 명령이 입력된 경우, 상기 입력 문자열을 사용자 정의 단어 데이터베이스에 저장할 수 있다.
상기 (b) 단계는, 상기 제1키패드에서 제1키 터치가 감지된 경우, 상기 제1키의 중심점 좌표값을 획득하는 단계, 기 구비된 제1키패드 정보 데이터베이스를 검색하여 상기 제1키의 중심점 좌표값에 대응되는 문자 코드를 획득하는 단계, 상기 제1키패드의 문자키들을 포함하는 제2 키패드를 생성하여 제1키패드 상에 표시하는 단계를 포함할 수 있다.
또한, 상기 (b) 단계는 상기 제1키패드에서 제1키 터치가 감지된 경우, 상기 제1키의 중심점 좌표값에 대응되는 문자 코드를 획득하는 단계, 상기 제1키에서 터치 이동이 감지된 경우, 터치 이동 방향 정보와 상기 제1키 코드값을 결합한 정보를 이용하여 다른 제1키의 문자코드를 생성하고 해당 문자를 표시하는 단계를 포함할 수 있다.
본 발명에 따르면, 다양한 재질 또는 형태의 터치 또는 비터치 동작으로 문자를 입력하는 모바일 또는 웨어러블 컴퓨팅 기기의 문자 입력 장치에서 키간의 운지 이동 거리를 최소화하는 소형의 키패드를 이중으로 제공함으로써, 문자 입력이 간편하고 빠르며 오입력(error input)을 줄일 수 있다.
또한, 리얼 키패드인 제1키패드에서 터치 개시가 감지된 경우, 복수의 문자를 동시에 입력할 수 있는 제2키패드를 가상으로 제공하고, 제2키패드에서 입력된 문자열이 단어 사전 데이터베이스에 정의된 단어인지를 판단할 수 있는 단어 인식 기능을 제공함으로써, 소수의 키 입력으로 정확한 문자의 입력이 가능한 웨어러블 문자 입력 장치를 구현할 수 있다.
또한, 제2키패드에서 입력된 문자열들에 추가 가능한 어미들을 표시하고, 그 표시된 어미들 중에서 사용자에 의해 선택된 어미를 사용자에 의해 선택된 단어의 어미로 추가할 수 있으므로, 사용자가 입력하고자 하는 단어를 모두 입력하지 않아도 되는 편리함이 있다.
또한, 웨어러블 기기의 소형 키패드를 이용함에도 불구하고 기존의 스마트폰 이상의 문자 입력 효율을 올릴 수 있다. 즉, 제1키패드 상에 가상으로 생성된 제2키패드 상에서 문자키의 터치 영역이 넓어지므로, 문자키 터치 영역 침범에 따른 오입력을 줄일 수 있어 웨어러블 기기의 단점인 소형의 문자 입력 패널에서도 사용자는 보다 편리하고 정확하게 문자를 입력할 수 있다.
또한, 웨어러블 기기의 특성과 사용자의 기호에 맞추어 여러 형태를 가진 문자 입력 장치를 제공할 수 있으므로, 문자 입력 스트레스를 줄일 수 있으며 새로운 유저 경험을 유발시킬 수 있다.
또한, 터치 스크린을 이용하여 문자를 입력함에 있어서, 여러 키 영역을 여러 번 누르지 않고도 입력하고자 하는 단어를 빠르고 정확히 입력할 수 있다.
또한, 다양한 유저의 문자 입력 환경에서 문자 입력에 소요되는 운지 거리의 단축, 문자키 터치의 정확도 향상 및 손 동작을 최소화하여 문자 입력의 효율을 향상시킬 수 있다.
도 1은 본 발명의 실시예에 따른 문자 입력 장치의 구성을 개략적으로 나타낸 블럭도.
도 2는 본 발명의 실시예에 따른 제1키패드 정보 데이터베이스의 구조를 나타낸 예시도.
도 3은 본 발명의 실시예에 따른 제2키패드 정보 데이터베이스의 구조를 나타낸 예시도.
도 4는 본 발명의 실시예에 따른 단어 어미 데이터베이스내의 어미 리스트를 설명하기 위한 도면.
도 5는 본 발명의 실시예에 따른 제1키패드의 예시도.
도 6은 본 발명의 실시예에 따른 제1키패드상에 제2키패드를 비가시적으로 생성한 형태의 예시도.
도 7은 본 발명의 실시예에 따른 단어 사전 데이터베이스 내의 단어 데이터 구조를 나타낸 예시도.
도 8은 본 발명의 일 실시예에 따른 문자 입력 장치에서 문자를 입력하는 방법을 나타낸 흐름도이다.
도 9는 본 발명의 실시예에 따른 qwerty 키패드를 제1키패드로 사용하여 문자를 입력하는 방법을 설명하기 위한 화면 예시도.
도 10은 본 발명의 실시예에 따른 12키 알파벳 키패드를 제1키패드로 사용하여 문자를 입력하는 방법을 설명하기 위한 화면 예시도.
도 11은 본 발명의 실시예에 따른 투명한 키패드 상에 qwerty 키패드를 변형한 경우의 문자 입력 방법을 설명하기 위한 화면 예시도.
도 12는 본 발명의 실시예에 따른 단어 사전 데이터베이스에 등록되지 않은 입력 문자열에 대한 처리를 설명하기 위한 화면 예시도.
도 13은 본 발명의 실시예에 따른 사용자 정의 단어를 등록하는 방법을 설명하기 위한 화면 예시도.
도 2는 본 발명의 실시예에 따른 제1키패드 정보 데이터베이스의 구조를 나타낸 예시도.
도 3은 본 발명의 실시예에 따른 제2키패드 정보 데이터베이스의 구조를 나타낸 예시도.
도 4는 본 발명의 실시예에 따른 단어 어미 데이터베이스내의 어미 리스트를 설명하기 위한 도면.
도 5는 본 발명의 실시예에 따른 제1키패드의 예시도.
도 6은 본 발명의 실시예에 따른 제1키패드상에 제2키패드를 비가시적으로 생성한 형태의 예시도.
도 7은 본 발명의 실시예에 따른 단어 사전 데이터베이스 내의 단어 데이터 구조를 나타낸 예시도.
도 8은 본 발명의 일 실시예에 따른 문자 입력 장치에서 문자를 입력하는 방법을 나타낸 흐름도이다.
도 9는 본 발명의 실시예에 따른 qwerty 키패드를 제1키패드로 사용하여 문자를 입력하는 방법을 설명하기 위한 화면 예시도.
도 10은 본 발명의 실시예에 따른 12키 알파벳 키패드를 제1키패드로 사용하여 문자를 입력하는 방법을 설명하기 위한 화면 예시도.
도 11은 본 발명의 실시예에 따른 투명한 키패드 상에 qwerty 키패드를 변형한 경우의 문자 입력 방법을 설명하기 위한 화면 예시도.
도 12는 본 발명의 실시예에 따른 단어 사전 데이터베이스에 등록되지 않은 입력 문자열에 대한 처리를 설명하기 위한 화면 예시도.
도 13은 본 발명의 실시예에 따른 사용자 정의 단어를 등록하는 방법을 설명하기 위한 화면 예시도.
본 발명의 전술한 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하 상세한 설명에 의해 보다 명확하게 이해될 것이다.
이하에서 설명되는 제1키패드는 리얼 키패드(real key pad)로, 제 2 키패드를 가상 키패드(virtual key pad)로 칭할 수 있다. 제1키패드 위에 제 2 키패드가 가상으로 생성되고, 제1키패드와 제2키패드는 독립적인 문자키 구조와 문자코드로 이루어지며, 각각 독립된 문자 입력 모드를 구비하고 있다.
도 1은 본 발명의 실시예에 따른 문자 입력 장치의 구성을 개략적으로 나타낸 블럭도, 도 2는 본 발명의 실시예에 따른 제1키패드 정보 데이터베이스의 구조를 나타낸 예시도, 도 3은 본 발명의 실시예에 따른 제2키패드 정보 데이터베이스의 구조를 나타낸 예시도, 도 4는 본 발명의 실시예에 따른 단어 어미 데이터베이스내의 어미 리스트를 설명하기 위한 도면, 도 5는 본 발명의 실시예에 따른 제1키패드의 예시도, 도 6은 본 발명의 실시예에 따른 제1키패드상에 제2키패드를 비가시적으로 생성한 형태의 예시도, 도 7은 본 발명의 실시예에 따른 단어 사전 데이터베이스 내의 단어 데이터 구조를 나타낸 예시도이다.
도 1을 참조하면, 문자 입력 장치(100)는 터치스크린(110), 저장부(120), 데이터베이스(130), 제1 키패드 생성부(140), 제1키 터치 인식부(150), 제2 키패드 생성부(160), 제2키패드 터치 인식부(170), 입력 문자열 생성부(180), 단어 인식 처리부(190)를 포함한다.
터치 스크린(110)은 표시부(112)와 터치 패널(114)을 포함한다. 표시부(112)는 문자 입력 장치(100)의 상태를 표시한다. 이때, 표시부(112)는 액정표시장치(LCD, Liquid Crystal Display) 등으로 구현될 수 있다.
터치 패널(114)은 표시부(112)에 장착되며, 터치 감지부(미도시)와 신호 변환부(미도시)를 구비한다. 터치 감지부는 터치 기구가 터치 스크린에 접속되는지의 여부를 감지하는 것으로, 예컨대 저항, 정전용량 등의 변화를 검출하여 터치의 발생을 감지한다. 여기서, 터치 기구는 사용자의 손, 터치 펜, 스타일러스 펜, 마우스 등을 포함할 수 있다. 신호 변환부는 물리량의 변화를 터치 신호로 변환한다. 터치 감지부는 정전용량 방식(capacitive overlay), 압력식 저항막 방식(resistive overlay), 적외선 감지 방식(infrared beam) 등의 터치 감지 센서로 구성되거나, 압력 센서(pressure sensor)로 구성될 수도 있으며, 이에 한정되지 않고 물체의 접촉 또는 압력을 감지할 수 있는 모든 종류의 센서를 포함할 수 있다.
터치 스크린(110)은 문자키에 직접 터치하지 않고, 특정 문자키 위에서 터치 동작만으로도 문자 입력이 가능한 인터페이스를 가진 장치도 포함할 수 있다.
터치 스크린(110)은 다양한 재질 또는 다양한 형태로 구현가능하고, 터치 또는 비터치 동작으로 문자 입력을 가능하게 할 수 있다.
저장부(120)는 문자 입력 장치(100)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행한다.
데이터베이스(130)는 제1키패드 정보 데이터베이스(131)와 제2 키패드 정보 데이터베이스(132), 단어 사전 데이터베이스(133), 단어 어미 데이터베이스(134), 사용자 정의 단어 데이터베이스(135)를 포함한다.
제1키패드 정보 데이터베이스(131)에는 제1키패드를 구성하는 문자키의 형태 및 크기에 따른 좌표값, 제1키패드에 배치된 문자키들의 중심점 좌표값, 각 중심점 좌표값에 대응하는 문자코드 및 문자라벨 등이 저장되어 있다. 여기서, 제1키패드를 구성하는 문자키의 형태는 사각형, 원형, 직선형, 점(dot)형, 문자형 등의 모양으로 구성할 수 있고, 문자키의 형태 또는 크기는 웨어러블 컴퓨팅 기기의 물리적 구성의 특징에 따라 임의로 정하여 가시적 또는 비가시적으로 나타낼 수 있다.
제1키패드 정보 데이터베이스(131)에는 도 2와 같은 문자키 레이아웃(layout) 테이블 형태로 제1키패드에 대한 정보가 저장된다. 도 2를 참조하면, 제1키패드 정보 데이터베이스(131)에는 제1키패드에 배치된 제1키의 중심점 좌표값 "(30,40)", 제1키의 문자코드는 "0041", 제1키의 문자 라벨 "A" 등이 저장되어 있다.
제1 키패드 정보 데이터베이스(131)에 저장된 제1 키패드는 문자 입력 모드 시, 제1 키패드 생성부(140)에 제공된다.
제2키패드 정보 데이터베이스(132)에는 제2키패드에 대한 정보가 저장되어 있다. 즉, 제2키패드 정보 데이터베이스(132)에는 제2키패드에 배치된 문자키들의 중심점 좌표값, 각 중심점 좌표값에 대응되는 적어도 하나 이상의 제2키패드 상의 문자 코드 및 문자 라벨이 저장되어 있다. 여기서, 제2키패드에 배치된 문자키들의 중심점 좌표값은 제1키패드에 배치된 적어도 하나 이상의 문자키를 그룹핑하고, 그룹핑된 각 그룹의 문자키들을 대표하는 문자키의 중심점 좌표값으로, 각 문자키의 중심점 좌표값에는 적어도 하나 이상의 문자코드 및 문자 라벨이 정의될 수 있다. 제1키패드의 문자키를 그룹핑하는 방법은 제1키패드 상의 문자키들을 하나 이상 모아 하나의 키에 할당 또는 지정할 수 있다. 예를 들면, 하나의 문자키에 2개, 3개, 4개, 5개 등의 문자를 임의로 정할 수 있다. 하나의 키에 할당된 문자 수가 많을수록 하나의 문자키 터치 영역은 넓어질 수 있으나, 2개 내지 5개 정도가 바람직할 수 있다. 상기와 같이 그릅핑되어 할당 지정된 문자키가 정의되면, 그 정보를 바탕으로 제2키패드 정보 데이터베이스(132)를 구성한다.
따라서, 제2키패드 정보 데이터베이스(132)에는 제2키패드를 구성하는 문자키의 형태 및 크기에 따른 좌표값, 제2키패드 상에서 하나의 문자키로 정의되어 배치된 문자키들의 중심점 좌표값, 각 중심점 좌표값에 대응하는 복수의 문자코드 및 문자라벨이 저장되어 있다. 여기서, 제2키패드를 구성하는 문자키의 형태는 사각형, 원형, 직선형, 점(dot)형, 문자형 등으로 구성할 수 있고, 문자키의 형태 또는 크기는 임의로 정하여 가시적 또는 비가시적으로 나타낼 수 있으나, 제2키패드의 문자키는 제1키패드와 같은 형태로 하는 것이 바람직할 수 있다. 제2키패드에 배치된 문자키들의 중심점 좌표값은 문자키의 크기(문자키를 나타낸 면적)에 관계없이 문자키의 중심점 좌표값으로 나타낼 수 있다. 예컨대, 점형의 문자키 형태라면 하나 이상의 좌표값, 직선형의 문자키 형태라면 3점(3pixels) 정도의 좌표값, 면적을 가진 문자키 형태라면 면적을 나타내는 좌표값 수 이하로 미리 정할 수 있다. 이처럼 제2키패드의 각 문자키에 부여된 좌표값에서 각 그룹에 포함된 문자키들의 대표 좌표값을 중심점 좌표값으로 선정해 두고, 제2키패드 정보 데이터베이스(132)에 미리 중심점 좌표값을 정의해 두면, 특정 문자키 터치 시에 해당 문자키의 중심점 좌표값이 취득된다.
제2키패드 정보 데이터베이스(132)에는 제2키패드에 정의된 문자키의 정보가 저장되어 있고, 제2키패드에 배치된 문자 키에 대응되는 문자 코드들이 지정되어 있어서, 제2키패드의 문자키 하나를 터치 입력하면 복수의 문자 코드를 생성하여 복수의 문자 입력을 가능하게 한다.
제2키패드 정보 데이터베이스(132)에는 도 3과 같은 문자키 레이아웃(layout) 테이블 형태로 제2키패드에 대한 정보가 저장된다.
도 3은 제2키패드 정보 데이터베이스(132)에 제2키패드에 배치된 문자키들의 중심점 좌표값, 중심점 좌표값에 대응되는 제2키패드 상의 문자 코드 및 문자 라벨이 저장된 경우를 나타낸 예시도이다. 이 경우, 제2키패드 정보 데이터베이스(132)에는 제2키패드에 배치된 문자키의 중심점 좌표값 "(40,50)", 그 문자키에 할당된 문자 코드 "0041", "0042", "0043", 그 문자키의 문자 라벨 "A, B, C" 이 제2키패드에 대한 정보로 저장되어 있다. 이와 같이 제2키패드에서 "ABC"로 그룹핑되어 하나의 키를 이루고 있는 경우, 사용자가 이 키를 터치하면, "ABC" 문자코드 3개가 동시에 생성될 수 있다. 이와 같은 제2키패드의 문자키 레이아웃 테이블은 제2키패드의 문자 배열 및 문자 코드 포맷 파일로 시스템 내부에 프로그램으로 저장된다. 제2 키패드에 속한 문자키들은 제1키패드 상의 제1키와 함께 미리 마킹하여 사용할 수 있다.
단어 사전 데이터베이스(133)에는 특정 언어의 단어가 정의되고 단어 문자열들이 컴퓨터 처리 가능한 데이터 구조로 저장되어 있다. 여기서, 언어는 한글, 일본어, 중국어, 영어, 아랍어, 힌디어, 러시아어 등을 포함할 수 있다. 즉, 단어 사전 데이터베이스(133)에는 특정 언어에서 쓰이는 어휘 집합이 언어 사전의 단어 리스트와 같이 정의 및 나열되어 있고, 단어 리스트를 시스템 내부의 연산 처리를 위하여 TRIE 등의 데이터 구조로 컴파일(compile)한 전자 사전 형태일 수 있다.
단어 어미 데이터베이스(134)에는 단어들의 어미가 저장되어 있다. 단어 어미 데이터베이스(134)는 단어 사전 데이터베이스(133)와 동일한 데이터 구조로 구성할 수 있고, 단어 인식 처리부(190)와 시스템적으로 연결하여 이용할 수 있다. 일반적으로 어미는 용언 및 서술격 조사가 활용하여 변하는 부분을 의미하는 것으로, 단어의 어미는 언어마다 다를 수 있고, 언어에 따라서는 후치사(postposition) 또는 관용구일 수도 있다. 이러한 단어 어미 데이터베이스(134)에 저장된 어미는 단어로 인식되어 선택 완료된 단어의 어미 부분에 추가가 필요한 경우 유효하다.
예를 들어, 영어의 단어 어미 데이터베이스에 대해 도 4를 참조하면, 단어 어미 데이터베이스에는 '-tion', '-sion', '-or', '-less', '-ing' 등과 같은 어미가 저장될 수 있다.
사용자 정의 단어 데이터베이스(135)에는 사용자에 의해 지정된 입력 문자열이 사용자 정의 단어로 저장되어 있다. 사용자가 지정하는 입력 문자열을 단어로 정의하여 등록함으로서, 사용자 정의 단어 데이터베이스(135)는 단어 사전 데이터와 같은 구조로 구성할 수 있고, 단어 사전 데이터베이스(133)와 함께 사용할 수도 있다.
제1 키패드 생성부(140)는 문자 입력 모드 시, 적어도 하나 이상의 문자키들로 구성된 제1키패드를 터치 스크린상(110)에 표시한다. 이때, 제1 키패드 생성부(140)는 점(dot), 직선, 곡선, 다각형, 원 중 적어도 하나의 형태를 갖는 문자 키들로 구성된 제1 키패드를 생성한다. 여기서, 문자키의 형태는 터치 스크린상에서 사용자에게는 문자만으로 보이게 하고 장치 내부에서 문자키의 물리적 형태를 다양하게 구현하는 방법으로 이해될 수 있다. 예를 들면, "ABC"라는 문자키를 터치 스크린상의 3점(pixel)으로 표현하여 문자 입력 장치로 구현할 수 있고, 사용자의 터치 스크린에는 문자키 영역의 구분 없이 단순히 "ABC"라는 문자 라벨로 표시할 수 있다.
제1 키패드 생성부(140)가 생성하는 제1 키패드는 미리 설정되어 있을 수 있으며, 도 5a와 같은 일반적인 QWERTY 방식의 키 배열을 갖는 키패드, 도 5b와 같은 12키를 기반으로 하는 문자 키패드, 도 5c와 같은 워치형(watch type) 또는 반지형(ring type)의 변형적 구조를 가진 키패드일 수 있다. 즉, 제 1 키패드 또는 제 2 키패드는 QWERTY와 같은 컴퓨터의 표준 키배열 위에 각국 문자 키가 할당 배치된 형태로 구성될 수 있고, 또는 소수의 키 배열을 가진 키패드 위에 각국의 문자 키가 한 키 위에 중첩 할당된 형태로도 구성될 수 있다. 또한, 제 1 키패드 또는 제 2 키패드는 컴퓨터 키보드와 동일한 문자 배열을 가진 키보드의 행, 열 문자키의 부분 집합으로 이루어진 키패드, 전화기의 10 키 표준 배열상의 문자들 중 일부분의 문자키들로 구성된 키패드, 문자 형태 또는 도형과 같은 독창적 구조와 형태로 구성된 문자키들로 구성된 키패드 등으로 구현할 수 있다.
제1키패드 생성부(140)는 사용자의 요구에 따라 문자 입력 장치(100)의 표시부(112)에 문자 입력 기능이 있는 제1키패드를 제공하는 기능을 수행한다.
제1키 터치 인식부(150)는 제1키패드에서 제1키의 터치가 감지된 경우, 제1키의 값에 대응하는 문자코드를 제1키패드 정보 데이터베이스(131)로부터 획득하고, 제2 키패드 생성부(160)를 호출한다. 여기서, 제1키는 제1키패드 상의 문자키 중에서 문자 입력 시에 처음 터치 입력되는 키로서, 일반적으로 특정 단어 입력에서 첫 번째로 입력되는 문자키를 말한다. 제1키의 입력 방법은 키패드의 제공 방법에 따라 달라질 수 있고, 예를 들면 탭, 플릭, 슬라이드 방식 등 여러 가지가 상용화되어 있으므로 어떤 방식을 써도 좋다.
이하, 제1키 터치 인식부(150)의 동작에 대해 좀더 상세히 설명하기로 한다.
제1키 터치 인식부(150)는 제1키패드에 배치된 문자키들 중에서 최초로 터치된 제1키의 중심점 좌표값을 획득한다. 터치 패널은 픽셀 데이터가 기본적으로 주어지므로, 제1키 터치 인식부(150)는 터치 개시 지점의 키에 대한 중심점에 해당하는 좌표값(X, Y)을 획득할 수 있다.
최초로 터치된 제1키의 중심점 좌표값이 획득되면, 제1키 터치 인식부(150)는 제1키패드 정보 데이터베이스(131)를 검색하여 중심점 좌표값에 대응하는 문자 코드를 획득할 수 있다. 제1키패드 정보 데이터베이스(131)에는 제1키패드 상에 배치된 문자키들의 중심점 좌표값에 대응되는 문자 코드가 저장되어 있으므로, 제1키 터치 인식부(150)는 제1키의 문자 코드를 제1키패드 정보 데이터베이스(131)로부터 획득할 수 있다.
또한, 제1키 터치 인식부(150)는 제1키 상에서 터치 이동이 다시 감지되는 경우, 제1키의 중심점 좌표값에서 상하좌우 터치 이동에 따라 획득되는 이동 지점의 중심점 좌표값을 산술 연산하고, 그 산술연산으로 얻어진 터치 이동 방향 정보와 제1키 코드값을 결합한 정보를 이용하여 제1키의 또 다른 문자 코드를 획득할 수 있다. 여기서, 산술 연산은 제1키 터치 지점의 중심점 좌표값과 터치 이동 지점의 중심점 좌표값 사이의 감산 연산일 수 있다.
예를 들면, 제1키의 중심점 좌표값이 (30, 30)이고, 제1키패드 상의 터치 이동 지점의 중심점 좌표값이 (30, 40)인 경우를 살펴보기로 한다. 이 경우, 두 중심점 좌표값의 차가 "30-30=0"이므로 좌우 변동은 없고, "40-30=10"이므로 위쪽(상)으로 터치 이동한 것임을 알 수 있다. 이와 같은 산술 연산 방법으로 상하좌우의 터치 이동 방향 정보를 얻을 수 있다. 결과적으로 제1키의 코드와 상하좌우 터치 이동 정보의 결합 정보를 근거로 또 다른 제1키의 문자코드를 획득할 수 있다.
이와 같은 제1키 터치 인식부(150)는 제1키가 터치 개시 입력되면 제1키 문자 입력과 동시에 제2 키패드 생성부(160)를 호출하여 제2키패드의 생성 및 표시를 개시하도록 하고, 단어 사전 데이터베이스(133)를 오픈하여 내장되어 있는 단어 문자열 데이터 구조와 제1키 입력 문자와 패턴 매칭 작업을 수행할 수 있다.
제2 키패드 생성부(160)는 제1키 터치 인식부(150)의 호출에 따라, 제2키패드에 배치된 하나의 문자키에 제1키패드 상의 문자키를 복수 개로 묶어 할당하고, 하나의 키 입력에서 다수의 문자 코드가 생성되는 기능을 가진 제2키패드를 생성하여 터치 스크린상(110)에 가상으로 표시한다. 이때, 제2 키패드 생성부(160)는 제2키패드를 제1키패드 상에 가상으로 가시적 또는 비가시적으로 생성 및 표시할 수 있고, 제2키패드의 형태는 제1키패드와 같은 형태일 수 있다.
제2키패드 생성부(160)가 제2키패드를 생성하여 제1키패드 상에 표시하는 경우에 대해 도 6을 참조하여 설명하기로 한다.
먼저, 도 6a는 영문 QWERTY 키보드 기반 제1키패드 상에 제2키패드가 표시된 경우이다. 도 6a를 참조하면, 제1키패드(610)에서 사용자가 제1키로서 'D' 문자키(612)를 터치 입력하면, 문자 입력창(620)에 'D'문자가 표시됨과 동시에 제1키패드상에 제2키패드(630)가 표시되고, 제2키패드 입력 모드로 변환된다. 제1키패드(610)는 26개의 문자키들로 구성되어 있었으나, 제2키패드(630)는 'qwert', 'yuiop', 'asdfg', hjkl', 'zxcv', 'bnm' 6개의 문자키들로 구성된다. 이는 'qwert', 'yuiop', 'asdfg', hjkl', 'zxcv', 'bnm' 6개의 문자키 그룹에 각각 하나의 문자키가 할당된 것을 의미한다. 제2키패드 생성부(160)는 사용자에게 제2키패드 형상을 보이게 하거나 보이지 않게 할 수 있다.
다음으로, 도 6b는 전화기 키패드 문자 배열(ABC 키 배열이라 함)을 기반으로 한 제1키패드 상에 제2키패드가 표시된 경우이다. 도 6b를 참조하면, 제1키패드(650)에서 사용자가 제1키로서 'A'(652)를 터치 개시하면, 제2키패드 생성부(160)는 제1키 터치 개시와 동시에 문자 'A'를 문자 입력창(660)에 표시하고, 제2키패드(670)를 생성하여 제1키패드(650) 상에 비가시적으로 표시한 경우이다. 이때, 사용자가 제2키패드(670)에서 임의의 한 문자키를 터치 입력하면, 터치된 문자키에 할당된 복수의 문자가 동시에 표시되는 제2키패드 입력 모드가 된다. 이 경우는 제1키패드(650)와 제2키패드(670)의 형태가 같은 경우로서, 제2키패드(670)상의 문자키에는 복수의 문자가 미리 할당되어 있다. 따라서, 제2키패드 입력 모드에서 어느 한 키를 터치 입력하면, 복수의 문자 코드가 생성 및 표시된다.
상기와 같이 제2키패드 생성부(160)는 제2키패드를 제1키패드 상에 생성함과 동시에 문자 입력 창에 제2키패드와 동일한 구성의 제2키패드의 모양을 표시하여 제2키패드에서 입력 가능한 문자키의 인식을 쉽게 할 수 있는 인터페이스를 제공할 수 있다.
제2키 터치 인식부(170)는 제2 키패드에서 터치 이동 동작이 감지된 경우, 터치 이동 동작에 대응하는 문자를 제2키패드 정보 데이터베이스(132)로부터 획득하여 터치 스크린상(110)에 표시한다. 여기서, 터치 이동 동작은 탭(tap), 드래그(drag), 플릭(flick), 밀기(sliding) 등을 포함하고, 제1키 터치 동작에서 연속으로 이어지는 동작일 수 있다. 제1키패드 상에 가상으로 생성된 제2키패드 상에서 사용자의 문자 입력은 사용자의 터치 이동 동작으로 이루어지고, 터치 이동 동작 없이 터치 동작이 종료되면 제1키의 문자 코드에 해당하는 문자가 출력된다. 이때, 문자를 터치 스크린상(110)에 표시한다는 것은 터치 스크린상(110)의 문자 입력 창에 문자를 출력하는 것을 의미한다.
즉, 제2키 터치 인식부(170)는 제2키패드에서 터치 이동 동작에 따른 이동 문자키의 중심점 좌표값을 취득하고, 취득된 중심점 좌표값에 대응하는 복수의 문자 코드를 제2키패드 정보 데이터베이스(132)로부터 추출한 후, 추출된 문자 코드들에 해당하는 문자들을 터치 스크린(110)에 표시한다.
입력 문자열 생성부(180)는 제1키 터치 인식부(150)에서 획득된 제1키의 문자코드와 제2키패드 터치 인식부(170)에서 획득된 문자 코드들을 결합하여 적어도 하나 이상의 입력 문자열을 생성한다.
즉, 입력 문자열 생성부(180)는 제1키 입력시 생성된 문자코드와 제2키패드 입력 모드에서 제2키패드에 속한 문자키의 입력으로 생성된 복수의 문자코드를 결합하여 입력 문자열을 생성할 수 있다.
예를 들어, 도 6a의 키패드에서 입력 문자열을 생성하는 방법에 대해 설명하기로 한다. 이 경우, 제1키패드의 제1키 입력 문자를 'D'로 하고, 제2키패드에서 'YUIOP'의 키를 터치 입력하였다면, 입력 문자열 생성부(180)는 'YUIOP'키에 포함된 'Y', 'U', 'I', 'O', 'P' 5개의 문자와 제1키의 'D'를 결합하여 'DY', 'DU', 'DI', 'DO', 'DP'와 같이 5개의 입력 문자열을 생성할 수 있다. 제1키 터치 입력 이후의 문자 입력은 단어 입력이 종료할 때까지 모두 제2키패드 상에서 이루어진다. 따라서 연속해서 제2키패드에서 'ZXCVB' 키를 터치 입력하면, 입력 문자열 생성부(180)는 이전에 생성된 'DY', 'DU', 'DI', 'DO', 'DP'와 'ZXCVB'키에 포함된 'Z', 'X', 'C', 'V', 'B'를 결합하여 'DYZ, DYX, DYC, DYV, DYB, DUZ, DUX, DUC, DUV, DUB, DIZ, DIX, DIC, DIV, DIB, DOZ, DOX, DOC, DOV, DOB' 와 같이 20개의 입력 문자열을 생성하여 터치 스크린상에 표시한다. 이때, 입력 문자열 생성부(180)는 생성된 입력 문자열을 저장부에 저장하고, 그 일부의 입력 문자열만을 표시할 수도 있다. 사용자는 터치 스크린상에 표시된 입력 문자열들 중에서 원하는 입력 문자열을 선택할 수 있다.
단어 인식 처리부(190)는 입력 문자열 생성부(180)에서 생성된 입력 문자열들을 단어 사전 데이터베이스(133)에 저장된 단어들과 문자열 패턴 매칭을 수행하여 완성된 단어에 해당하는 문자열들을 추출 및 표시한다. 즉, 단어 인식 처리부(190)는 입력 문자열 생성부(180)에서 생성된 입력 문자열들 중에서 사용자에 의해 선택된 입력 문자열을 단어 사전 데이터베이스(133)에 저장된 단어들과 문자열 패턴을 수행하여 완성된 단어에 해당하는 문자열들을 추출하여 표시할 수 있다.
제1키의 입력이 시작(터치 개시)되면, 단어 인식 처리부(190)는 단어 사전 데이터베이스(133)를 열고 단어 사전 내에 등록되고 트라이(TRIE) 구조로 컴파일되어 있는 단어의 문자열과 입력 문자열의 첫 글자부터 문자열 패턴 매치(string pattern match) 과정을 수행한다. 다시 말하면, 단어 인식 처리부(190)는 제1키의 터치 입력 개시와 동시에 생성된 코드 정보를 이용하여, 단어 사전 데이터베이스(133)를 열고 단어 문자열(word string)의 상태천이(state transition) 데이터 구조에 맞추어 입력 문자열과 단어 문자열 사이의 패턴 매칭 비교를 행할 수 있고, 입력 문자열이 단어 문자열의 상태 천이 데이터에 포함되어 있으면 완성된 단어 리스트로서 표시할 수 있다.
단어 사전 데이터베이스(133) 내의 단어 문자열의 데이터 구조는 도 7과 같을 수 있다. 도 7은 유한 상태 오토마타 모델(finite state automata model)을 이용한 것으로, 단어 사전 데이터베이스(133)에 등록되고 TRIE 구조로 컴파일되어 있는 첫글자 'D'로 시작하는 단어의 데이터 일부분을 발췌하여 예시한 오토마타 표현으로 문자열의 상태 천이도를 나타낸다.
도 7의 단어 문자열 상태 천이도(state transition diagram)에서 입력된 첫문자 'D' 문자열 패턴 매칭을 수행하면, 단어 문자열 상태 천이도에서 'D'와 매칭되는 문자열은 'D'이다. 첫문자 'D'가 입력된 상태에서 두번째 제2키패드 입력으로 완전한 단어를 찾을 수 있는데 그것은 'DO'임을 알 수 있으므로 언제나 한 문자 앞의 완성된 단어를 찾아서 출력할 수 있다. 즉, 첫문자 'D'의 입력만으로도 'DO'라는 단어를 인식하여 출력할 수 있다. 이어서 두번째 문자키 'YUIOP'를 입력하면, 'DID'라는 단어를 발견하여 미리 출력할 수 있다. 그런 후, 세번째 문자키 'ZXCVB' 입력을 행한 입력 문자열로 문자열 상태 천이도의 문자열 천이와 패턴 매칭해가면 사전에 등록된 단어의 일부분으로 매칭되는 입력 문자열을 이용하여 완성된 문자열을 가진 단어를 단어 사전 데이터베이스(133)에서 모두 추출하고, 그 추출된 입력 문자열을 출력할 수 있다. 그 결과 세번의 문자 입력으로 'DICTATE', 'DICTATOR', 'DICTION', 'DICTIONARY'와 같이 단어로서 완성된 문자열을 추출하여 출력할 수 있다. 또한 추출된 단어를 출력할 경우, 사용 빈도 수가 높은 단어순으로 재정렬하여 출력할 수도 있다. 사용자가 출력된 단어 중에서 원하는 단어를 선택하면 단어 입력은 완료된다.
단어 인식 처리부(190)는 문자열 패턴 매칭 수행 결과, 완성된 단어의 문자열이 존재하지 않으면, 그 입력 문자열을 사용자 정의 단어로 사용자 정의 단어 데이터베이스(135)에 저장할 수 있다.
단어 인식 처리부(190)는 단어로서 완성된 문자열들에 추가 가능한 어미들을 단어 어미 데이터베이스(134)로부터 획득하여 표시하고, 표시된 어미들 중에서 사용자에 의해 선택된 어미를 사용자에 의해 선택된 단어(문자열)의 어미로 추가할 수 있다. 즉, 사용자가 단어로서 완성된 문자열들에 의한 단어 리스트에서 특정 단어를 선택하면, 단어 인식 처리부(190)는 단어 어미 데이터베이스(134)를 검색하여 선택된 단어에 추가 가능한 어미가 존재하는지의 여부를 판단한다. 그 판단결과 추가 가능한 어미가 존재하면, 단어 인식 처리부(190)는 추가 가능한 어미들을 표시하고, 표시된 어미들 중에서 어미가 선택되면, 선택된 어미를 선택된 단어의 어미로 추가한다.
상기와 같은 문자 입력 장치(100)는 터치 스크린이 구비된 사용자 장치라면 어느 것이라도 적용될 수 있다. 예를 들면, 노트북, 이동통신 단말, 스마트폰(Smart phone), PMP(Portable Media Player), PDA(Personal Digital Assistant), 타블렛 PC(Tablet PC), 셋탑박스(Set-top box), 스마트 TV 등 다양한 장치가 될 수 있다. 또한, 문자 입력 장치(100)는 다양한 재질 또는 형태의 터치 또는 비터치 동작형으로 문자를 입력하는 모바일 또는 웨어러블 컴퓨팅 기기에 적용될 수 있다.
도 8은 본 발명의 일 실시예에 따른 문자 입력 장치에서 문자를 입력하는 방법을 나타낸 흐름도이다.
도 8을 참조하면, 문자 입력 장치는 문자 입력 모드가 실행되면(S802), 하나 또는 그 이상의 문자키들로 구성된 제1 키패드를 터치스크린 상에 표시한다(S804).
제1키패드에서 제1키 터치가 감지되면(S806), 문자 입력 장치는 제1키의 중심점 좌표값에 대응하는 문자 코드를 획득한다(S808). 즉, 문자 입력 장치는 최초로 터치되는 제1키의 터치가 감지되면, 제1키의 중심점 좌표값을 획득하고, 구비된 제1키패드 정보 데이터베이스를 검색하여 제1키의 중심점 좌표값에 대응하는 문자 코드를 획득한다.
그런 후, 문자 입력 장치는 제1키패드 상에 제2 키패드를 생성하여 입력 모드를 제2키패드 문자 입력 전용 모드로 전환하고(S810), 제1키의 문자 코드로 패턴 매칭을 수행하여(S812), 단어 사전 데이터베이스 내에 제1키 문자가 존재하는지의 여부를 판단한다(S814). 즉, 문자 입력 장치는 제2키패드 문자 입력 전용 모드로 전환되면, 단어 사전 데이터베이스를 오픈하고, 제1키의 문자코드로 단어 사전의 단어 데이터 구조에 맞추어 패턴 매칭을 수행한다. 패턴 매칭 수행 결과, 단어 사전 데이터베이스 내에 제1키 문자가 존재하는 경우, 제2키패드 입력 모드에서 문자 입력을 기다리고, 제1키 문자가 존재하지 않은 경우, 특수 문자 등이거나 다른 용도의 문자 입력이므로 시스템을 종료하고 다시 제1키패드의 문자 입력 모드로 되돌아갈 수 있다.
단계 S814의 판단 결과 단어 사전 데이터베이스에 제1키 문자가 존재하는 경우, 문자 입력 장치는 제2 키패드 상에서 터치 이동 동작이 감지되는지의 여부를 판단한다(S816). 이때, 문자 입력 장치는 제2키패드를 제1키패드상에 표시하고, 제2키패드상에서 탭, 드래그(drag), 플릭(flick), 밀기(sliding) 등의 터치 이동 동작이 감지되는지의 여부를 판단한다.
단계 S816의 판단결과 제2 키패드 상에서 터치 이동 동작이 감지되면, 문자 입력 장치는 터치 이동 동작에 따른 문자키 중심점 좌표값에 대응하는 복수개의 문자코드를 획득한다(S818). 즉, 문자 입력 장치는 터치 이동 동작에 따른 문자키의 중심점 좌표값을 획득하고, 제2키패드 정보 데이터베이스를 검색하여 문자키의 중심점 좌표값에 대응하는 복수 개의 문자 코드를 추출한다.
그런 후 문자 입력 장치는 제1키의 문자와 제2키패드의 문자들을 문자열 합성하여 입력 문자열을 생성하고(S820), 생성된 입력 문자열들을 단어 사전 데이터베이스에 저장된 단어들과 문자열 패턴 매칭 작업을 수행하여(S822), 단어 사전 데이터베이스에 입력 문자열이 존재하는지의 여부를 판단한다(S824). 이때, 문자 입력 장치는 생성된 입력 문자열을 터치 스크린상에 표시하고, 사용자가 표시된 입력 문자열중에서 원하는 입력 문자열을 선택하면, 문자 입력 장치는 선택된 입력 문자열을 단어 사전 데이터베이스에 저장된 단어들과 문자열 패턴 매칭 작업을 수행하여, 단어 사전 데이터베이스에 입력 문자열이 존재하는지의 여부를 판단할 수 있다.
단계 S824의 판단결과 단어 사전 데이터베이스에 입력 문자열이 존재하면, 문자 입력 장치는 패턴 매칭된 단어들을 단어 사전 데이터베이스로부터 추출하여 단어 리스트를 표시한다(S826). 단어 사전에 입력 문자열이 존재하여 패턴 매칭이 성공적으로 이루어지면, 문자 입력 장치는 그 시점에서 단어 사전 데이터베이스에 완성 단어가 존재하는가를 검색한다. 그 결과 단어 사전 데이터베이스에 완성 단어가 존재하면, 문자 입력 장치는 완성 단어들을 추출하여 표시하고, 사용자의 선택을 기다린다.
표시된 단어 리스트 중에서 사용자가 원하는 단어를 선택하면(S828), 문자 입력 장치는 선택된 단어에 추가 가능한 어미가 존재하는지의 여부를 판단한다(S830). 즉, 표시된 단어 리스트에서 원하는 단어를 사용자가 선택하면, 문자 입력 장치는 선택된 단어에 추가 가능한 어미가 단어 어미 데이터베이스에 정의되어 있는지의 여부를 판단한다. 그 판단결과 추가 가능한 어미가 단어 어미 데이터베이스에 정의되어 있으면, 문자 입력 장치는 추가 가능한 어미들을 단어 어미 데이터베이스로부터 획득하여 표시한다.
단계 S830의 판단결과 추가 가능한 어미가 존재하는 경우, 문자 입력 장치는 추가 가능한 어미들을 표시한다(S832).
사용자가 표시된 어미들 중에서 원하는 어미를 선택하면(S834), 문자 입력 장치는 선택된 어미를 단어의 어미로 추가하여 표시한다(S836). 이렇게 함으로써, 하나의 단어 입력이 종결될 수 있다.
단계 S824의 판단결과 단어 사전 데이터베이스에 입력 문자열이 존재하지 않으면, 문자 입력 장치는 입력 문자열만을 표시하고(S838), 사용자로부터 사용자 정의 단어 등록이 요청된 경우, 입력 문자열을 사용자 정의 단어 데이터베이스에 저장한다(S840).
한편 제1키 문자 입력 이후에 제2키패드 상의 문자 입력으로 패턴 매칭 과정에서 실패한다면, 즉 단어 사전 데이터베이스에 존재하지 않는 입력 문자열이라면, 문자 입력 장치는 단어 사전 데이터베이스를 닫고 입력 문자열의 리스트를 알파벳순으로 정렬하여 생성할 수 있으나 이는 의미없는 복수의 문자열일 수 있다. 이어서 입력 문자들이 문자 입력 종료를 나타내는 키(control keys)에 해당하는 것이라면 입력 처리를 종료하고 다시 제1키패드 문자 입력 모드로 돌아간다. 이때 생성되는 의미를 갖지않는 입력 문자열들은 특정 언어에서 단어로 정의된 것이 아닌 사용자가 만드는 특별한 문자열일 수 있다. 즉 인명, 상호, 지명 등 공용 단어가 아닌 것들이 이것에 속할 수 있다. 이와 같이 사용자 자의에 의해서 개인적으로 만들어지는 문자열은 사용자만의 단어들로 정의하고 모아서 사용자 정의 단어 데이터베이스에 등록해 두고 사용할 수 있다. 예를 들면, 'CHUNG'이라는 한국인 씨명을 사용자 정의 단어 데이터베이스에 한번 저장해두면, 두번째 입력에서는'CH'만의 입력 문자열로 'CHUNG'이라는 단어를 사용자 정의 단어 데이터베이스에서 추출하여 표시할 수 있다. 따라서 사용자가 자의로 만들어 내는 문자열이라 할지라도 마치 특정 언어의 단어처럼 소수의 키 입력으로 출력 표시할 수 있다.
도 9는 본 발명의 실시예에 따른 qwerty 키패드를 제1키패드로 사용하여 문자를 입력하는 방법을 설명하기 위한 화면 예시도이다.
도 9를 참조하면, (a)와 같은 제1키패드(900)에서 사용자가 제1키로서 'd'문자키(902)를 터치 입력하면, 문자 입력 장치는 선택된 문자키에 해당하는 문자를 제1키패드 정보 데이터베이스로부터 획득하여 'd'를 문자 입력창(910)에 표시함과 동시에 제1키패드상에 제2키패드를 표시한다. 이 경우, 제1키패드(900)는 26개의 문자키들로 구성되어 있었으나, 제2키패드는 'qwert', 'yuiop', 'asdfg', hjkl', 'zxcv', 'bnm' 6개의 문자키들로 구성된다. 이와 동시에 문자 입력 장치는 단어 사전 데이터베이스에 저장된 단어들과 'd'간의 문자열 패턴 매칭을 수행한다. 문자 입력 장치는 문자열 패턴 매칭 수행 결과, do, de, di, da 등의 단어 리스트들을 단어 사전 데이터베이스로부터 추출하여 단어 리스트 표시 영역(920)에 표시한다. 이때 문자 입력 장치는 단어 리스트 표시 영역(920)에 표시된 단어들에 추가 가능한 어미를 단어 리스트 표시 영역(920)에 함께 표시할 수 있다.
그런 후, (b)와 같이 제2키패드(950)에서 사용자가 'yuiop' 문자키(952)를 터치하면, 문자 입력 장치는 'yuiop'의 중심 좌표값을 획득하고, 그 중심 좌표값에 할당된 적어도 하나 이상의 문자 코드(y, u, i, o, p)를 획득한다. 문자 입력 장치는 'd'와 'yuiop' 키에 포함된 'y', 'u', 'i', 'o', 'p'를 결합하여 'dy', du', 'di', 'do', 'dp'의 입력 문자열들을 생성한다. 그런 후, 문자 입력 장치는 생성된 입력 문자열들을 단어 사전 데이터베이스의 단어 데이터 구조와 패턴 매칭을 수행하고, 패턴 매칭에 성공한 단어 및 입력 문자열을 단어 사전 데이터베이스로부터 획득하여 단어 리스트 표시 영역(920)에 표시(did, die, dim, dig 등)한다. 이 경우는 사용자가 입력 문자열에서 'di'를 선택한 경우이고, 단어 리스트 표시 영역(920)에 표시된 단어 및 입력 문자열은 사용 빈도순에 따라 정렬된 문자열 리스트일 수 있다. 이때, 사용자가 단어 리스트 표시 영역(920)에 표시된 단어중에서 'did'(922)를 선택하면, 문자 입력 장치는 'did'에 추가 가능한 어미 'n't'를 단어 리스트 표시 영역(920)에 함께 표시할 수 있다.
(b)와 같이 단어 및 입력 문자열이 표시된 상태에서 사용자가 'zxcvb'(954)를 세번째의 문자키로 터치 입력하면, 문자 입력 장치는 제2키패드 정보 데이터베이스로부터 'zxcvb'에 할당된 복수의 문자 코드(z, x, c, v, b)를 획득하고, 'di'와 'zxcvb'키에 포함된 'z', 'x', 'c', 'v', 'b'를 결합하여 'diz', 'dix', 'dic', 'div', 'dib'의 입력 문자열을 생성한다. 그런 후, 문자 입력 장치는 생성된 입력 문자열들을 단어 사전 데이터베이스의 단어 데이터 구조와 패턴 매칭을 수행하고, 그 결과로 생성되는 단어 리스트(dick, dice 등)를 (c)와 같이 단어 리스트 표시 영역(920)에 표시한다. 이때 사용자가 단어 리스트 중에서 'dick'를 선택하면, 문자 입력 장치는 'dick'에 추가 가능한 어미(ens, ed, or, ory, less, y)를 어미 단어 데이터베이스로부터 획득하여 표시할 수 있다.
(c)와 같은 상태에서 4번째 입력으로 'qwert'(956)을 터치하면, 문자 입력 장치는 'qwert' 에 할당된 복수의 문자 코드를 획득하고, 'dic'와 'qwert'키에 포함된 'q', 'w', 'e', 'r', 't'를 결합하여 'dicq', 'dicw', 'dice', 'dicr', 'dict'의 입력 문자열을 생성한다. 그런 후, 문자 입력 장치는 생성된 입력 문자열들을 단어 사전 데이터베이스의 단어 데이터 구조와 패턴 매칭을 수행하고, 그 결과로 생성되는 단어 리스트(dicta, dicty, dict 등)를 (d)와 같이 단어 리스트 표시 영역(920)에 표시한다.
(d)와 같이 표시된 화면에서 5번째 입력으로 'yuiop'(958)을 터치하면, 문자 입력 장치는 'yuiop'에 할당된 복수의 문자 코드를 획득하고, 'dict'와 'yuiop' 키에 포함된 'y', 'u', 'i', 'o', 'p'를 결합하여 'dicty', 'dictu', 'dicti', 'dicto', 'dictp'의 입력 문자열을 생성한다. 그런 후, 문자 입력 장치는 생성된 입력 문자열들을 단어 사전 데이터베이스의 단어 데이터 구조와 패턴 매칭을 수행하고, 그 결과로 생성되는 단어 리스트(dictionary, dictionaries, diction 등)를 (e)와 같이 단어 리스트 표시 영역(920)에 표시한다. 이때 사용자가 표시된 단어 리스트 중에서 'dictionary'를 선택하면, 문자 입력 장치는 'dictionary'에 추가 가능한 어미(ies)를 어미 단어 데이터베이스로부터 획득하여 표시할 수 있다.
(e)의 단어 리스트 표시 영역에 표시된 단어 리스트에서 'dictionary'(958)를 선택하면, 문자 입력 장치는 (f)와 같이 'dictionary'에 추가 가능한 어미인 '-ies'를 표시할 수 있다.
도 10은 본 발명의 실시예에 따른 12키 알파벳 키패드를 제1키패드로 사용하여 문자를 입력하는 방법을 설명하기 위한 화면 예시도이다.
도 10을 참조하면, (a)와 같은 제1키패드(1000)에서 사용자가 제1키로서 'd'문자키(1002)를 터치 입력하면, 문자 입력 장치는 선택된 문자키에 해당하는 문자를 제1키패드 정보 데이터베이스로부터 획득하여 'd'를 문자 입력창(1010)에 표시함과 동시에 제1키패드(1000)상에 제2키패드를 표시한다. 이와 동시에 문자 입력 장치는 단어 사전 데이터베이스에 저장된 단어들과 'd'간의 문자열 패턴 매칭을 수행한다. 문자 입력 장치는 문자열 패턴 매칭 수행 결과, do, de, di, da 등의 단어 리스트들을 단어 사전 데이터베이스로부터 추출하여 단어 리스트 표시 영역(1020)에 표시한다. 이때 문자 입력 장치는 단어 리스트 표시 영역(1020)에 표시된 단어들에 추가 가능한 어미를 단어 리스트 표시 영역(1020)에 함께 표시할 수 있다.
그런 후, (b)와 같이 제2키패드(1050)에서 'ghi'(1052) 문자키를 터치하면, 문자 입력장치는 'ghi'의 중심 좌표값을 획득하고, 그 중심 좌표값에 할당된 적어도 하나 이상의 문자 코드(g, h, i)를 획득하여 'd'와 'ghi' 키에 포함된 'g', 'h', 'i'를 결합하여 'dg', 'dh', 'di'의 입력 문자열을 생성한다. 그런 후, 문자 입력 장치는 생성된 입력 문자열들을 단어 사전 데이터베이스의 단어 데이터 구조와 패턴 매칭을 수행하고, 패턴 매칭에 성공한 단어 및 입력 문자열을 단어 사전 데이터베이스로부터 획득하여 단어 리스트 표시 영역(1020)에 표시(did, die, dim, dig 등)한다. 이 경우는 사용자가 입력 문자열에서 'di'를 선택한 경우이고, 단어 리스트 표시 영역(920)에 표시된 단어 및 입력 문자열은 사용 빈도순에 따라 정렬된 문자열 리스트일 수 있다. 이때, 사용자가 단어 리스트 표시 영역(1020)에 표시된 단어중에서 'did'를 선택하면, 문자 입력 장치는 'did'에 추가 가능한 어미 'n't'를 표시할 수 있다.
(b)와 같이 단어 및 입력 문자열이 표시된 상태에서 사용자가 'abc'(1054)를 세번째의 문자키로 터치 입력하면, 문자 입력 장치는 제2키패드 정보 데이터베이스로부터 'abc'에 할당된 복수의 문자 코드(a, b, c)를 획득하고, 'di'와 'abc'키에 포함된 'a', 'b', 'c'를 결합하여 'dia', 'dib', 'dic'의 입력 문자열을 생성한다. 그런 후, 문자 입력 장치는 생성된 입력 문자열들을 단어 사전 데이터베이스의 단어 데이터 구조와 패턴 매칭을 수행하고, 그 결과로 생성되는 단어 리스트(dick, dice)를 (c)와 같이 단어 리스트 표시 영역(1020)에 표시한다. 이때 사용자가 표시된 단어 리스트 중에서 'dick'를 선택하면, 문자 입력 장치는 'dick'에 추가 가능한 어미(ens, ed, or, ory, less, y)를 어미 단어 데이터베이스로부터 획득하여 표시할 수 있다.
(c)와 같은 상태에서 4번째 입력으로 'tuv'(1056)을 터치하면, 문자 입력 장치는 'tuv'에 할당된 복수의 문자 코드를 획득하고, 'dic'와 'tuv'키에 포함된 't', 'u', 'v'를 결합하여 'dict', 'dicu', 'dicv'의 입력 문자열을 생성한다. 그런 후, 문자 입력 장치는 생성된 입력 문자열들을 단어 사전 데이터베이스의 단어 데이터 구조와 패턴 매칭을 수행하고, 그 결과로 생성되는 단어 리스트(dicta, dicty, dict 등)를 (d)와 같이 단어 리스트 표시 영역(1020)에 표시한다.
(d)와 같이 표시된 화면에서 5번째 입력으로 'ghi'영역을 터치하면, 문자 입력 장치는 'ghi'에 할당된 복수의 문자 코드를 획득하고, 'dict'와 'ghi'키에 포함된 'g', 'h', 'i'를 결합하여 'dictg', 'dicth', 'dicti'의 입력 문자열을 생성한다. 그런 후, 문자 입력 장치는 생성된 입력 문자열들을 단어 사전 데이터베이스의 단어 데이터 구조와 패턴 매칭을 수행하고, 그 결과로 생성되는 단어 리스트(dictionary, dictionaries, diction 등)를 (e)와 같이 단어 리스트 표시 영역(1020)에 표시한다. 이때 사용자가 표시된 단어 리스트 중에서 'dictionary'(1058)를 선택하면, 문자 입력 장치는 'dictionary'에 추가 가능한 어미(ies)를 어미 단어 데이터베이스로부터 획득하여 표시할 수 있다.
(e)에 표시된 단어 리스트에서 'dictionary'를 선택하면, 문자 입력 장치는 (f)와 같이 'dictionary'에 추가 가능한 어미인 '-ies'를 표시할 수 있다
도 11은 본 발명의 실시예에 따른 투명한 키패드 상에 qwerty 키패드를 변형한 경우의 문자 입력 방법을 설명하기 위한 화면 예시도이다.
도 11을 참조하면, 제1키패드는 qwerty 기반 키패드로 제공되고, 제2키패드 상의 문자키들은 'qwert', 'yuiop', 'asdfg', hjkl', 'zxcv', 'bnm' 등으로 6개의 기본 문자키들이 제공된다.
제1키의 입력 방법은 탭, 슬라이드 등의 터치 동작으로 q, w, e, r, t를 구별하여 입력할 수 있다. 즉, 'q'는 탭 동작으로 'w'는 왼쪽으로 슬라이드 동작 입력으로, 'e', 'r', 't' 는 각각 윗쪽, 오른쪽, 아래쪽의 슬라이드 동작으로 제1키를 선택 입력할 수 있다. 제1키패드에서 제1키가 터치 개시되면, 제2 키패드가 제1키패드 상에 표시된다. 사용자는 제2키패드에 표시된 6개의 문자키만으로 알파벳 풀 셋 26개 문자 입력이 가능할 뿐만 아니라 운지 거리를 최소화하고 단어 입력에 소요되는 키터치 횟수를 최소화할 수 있다.
상기와 같이 다양한 재질 또는 형태의 변형으로 문자 입력 장치를 구성하여도 동일한 처리 결과로 동일한 효과를 얻을 수 있다
도 12는 본 발명의 실시예에 따른 단어 사전 데이터베이스에 등록되지 않은 입력 문자열에 대한 처리를 설명하기 위한 화면 예시도이다.
도 12를 참조하면, 영어 사전에 단어로서 등록되지 않은 'tanaka'를 입력하는 경우이다.
문자 입력 장치는 (a) 내지 (c)에서와 같이 't', 'a', 'n'까지를 입력 완료했을 때까지는 해당하는 단어 리스트를 표시한다. 'tan' 문자열은 단어 사전에 포함된 것을 확인할 수 있고, 그 결과물을 단어 리스트로 표시한 것이다.
(d)는 'tan' 문자열에 이어서 'a'를 연속 입력하고, 이어서 'k', 'a'를 입력하여, 단어 사전 데이터베이스에서 패턴 매칭을 수행하면, 입력 문자열 'tanaka'는 단어 사전에 등록되지 않음을 표시(예컨대, 빨간색)한다. 사용자는 표시된 입력 문자열을 단어로 등록하기 위해서는 사용자 정의 단어 등록 명령(+)(1290)을 누르면 'tanaka'는 사용자 정의 단어 데이터베이스에 등록된다. 이후 'tanaka'가 입력되면, 문자 입력 장치는 등록 단어로서 취급되어 단어 사전 데이터베이스에 등록된 단어와 같이 다루어진다.
도 13은 본 발명의 실시예에 따른 사용자 정의 단어를 등록하는 방법을 설명하기 위한 화면 예시도이다.
도 13을 참조하면, -D 키(1310)를 이용하여 단어 사전 데이터베이스를 시스템에서 분리하고, 문자를 입력하여 사용자 정의 단어를 등록한 경우이다. 여기서, -D 키(1310)는 단어 사전 데이터베이스를 분리시키는 명령에 해당하는 키일 수 있다.
사용자가 -D 키(1310)를 누른 후, (b) 내지 (e)와 같이 원하는 문자열('tanaka')을 입력하고 (f)에서 사용자 정의 단어 등록 명령(+)(1320)을 선택하면, 문자 입력 장치는 입력한 문자열('tanaka')을 사용자 정의 단어 데이터베이스에 등록한다. 이후로는 사용자 정의 단어 데이터베이스에 등록된 문자열은 단어 사전 데이터베이스에 정의되어 등록된 정규 단어와 같이 시스템 내부에서 처리되고 취급된다.
본 발명 방법에 의한 문자 입력 장치와 방법은 모든 언어의 문자 입력 장치에 적용 가능하다. 예를 들면, 일본어, 중국어, 한국어, 아랍어, 힌디어, 러시아어 등에서 사용하는 문자들, 즉 알파벳, 키를 문자, 가나 문자, 한글 문자, 기호 등의 입력에서도 동일한 효과를 얻을 수 있다.
이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다.
본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 처리 시스템의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다.
컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.
본 명세서에서 “장치"라 함은 예컨대 프로그래머블 프로세서, 컴퓨터 혹은 다중 프로세서나 컴퓨터를 포함하여 데이터를 처리하기 위한 모든 기구, 장치 및 기계를 포괄한다. 처리 시스템은, 하드웨어에 부가하여, 예컨대 프로세서 펌웨어를 구성하는 코드, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제 혹은 이들 중 하나 이상의 조합 등 요청 시 컴퓨터 프로그램에 대한 실행 환경을 형성하는 코드를 포함할 수 있다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 마찬가지로, 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
또한, 본 명세서에서는 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다
이와 같이, 본 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하려는 의도가 아니다. 따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100 : 문자 입력 장치 110 : 터치스크린
120 : 저장부 130 : 데이터베이스
140 : 제1 키패드 생성부 150 : 제1키 터치 인식부
160 : 제2 키패드 생성부 170 : 제2키 터치 인식부
180 : 입력 문자열 생성부 190 : 단어 인식 처리부
120 : 저장부 130 : 데이터베이스
140 : 제1 키패드 생성부 150 : 제1키 터치 인식부
160 : 제2 키패드 생성부 170 : 제2키 터치 인식부
180 : 입력 문자열 생성부 190 : 단어 인식 처리부
Claims (18)
- 터치 스크린;
단어 사전 데이터베이스;
제1키패드에 대한 정보가 저장된 제1키패드 정보 데이터베이스;
제1키패드에 배치된 적어도 하나 이상의 문자키가 그룹핑되어 생성된 각 그룹의 문자키들을 대표하는 중심점 좌표값, 각 중심점 좌표값에 대응되는 적어도 하나 이상의 문자 코드 및 문자 라벨 중 적어도 하나를 포함하는 제2키패드에 대한 정보가 저장된 제2키패드 정보 데이터베이스;
문자 입력 모드 시, 적어도 하나 이상의 문자키들로 구성된 제1 키패드를 상기 터치 스크린상에 표시하는 제1 키패드 생성부;
상기 제1키패드에서 제1키의 터치가 감지된 경우, 상기 제1키의 값에 대응하는 문자코드를 상기 제1키패드 정보 데이터베이스로부터 획득하고, 제2 키패드 생성부를 호출하는 제1키 터치 인식부;
상기 제1키 터치 인식부의 호출에 따라, 하나의 문자키에 제1키패드 상의 문자키가 복수 개 할당되어, 문자키 입력 시 해당 문자키에 할당된 다수의 문자가 표시되는 제2키패드를 상기 제1키패드 상에 가상으로 표시하는 제2 키패드 생성부;
상기 제2 키패드에서 터치 이동 동작이 감지된 경우, 상기 터치 이동 동작에 대응하는 적어도 하나의 문자 코드를 상기 제2키패드 정보 데이터베이스로부터 획득하는 제2키패드 터치 인식부;
상기 제1키의 문자코드와 제2키패드 터치 인식부에서 획득된 문자 코드들을 결합하여 적어도 하나 이상의 입력 문자열을 생성하는 입력 문자열 생성부; 및
상기 생성된 입력 문자열들을 상기 단어 사전 데이터베이스에 저장된 단어들과 문자열 패턴 매칭을 수행하여 완성된 단어의 문자열들을 추출 및 표시하는 단어 인식 처리부;
를 포함하는 문자 입력 장치.
- 제1항에 있어서,
상기 단어 인식 처리부는 상기 문자열 패턴 매칭 수행 결과, 완성된 단어의 문자열이 존재하지 않은 경우, 사용자 정의 단어 등록 명령이 입력되는지의 여부를 판단하고, 사용자 정의 단어 등록 명령이 입력된 경우, 상기 입력 문자열을 사용자 정의 단어로 사용자 정의 단어 데이터베이스에 저장하는 것을 특징으로 하는 문자 입력 장치.
- 제1항에 있어서,
단어들의 어미가 저장된 단어 어미 데이터베이스를 더 포함하고,
상기 단어 인식 처리부는 상기 표시된 문자열들에 추가 가능한 어미들을 상기 단어 어미 데이터베이스로부터 획득하여 표시하고, 상기 표시된 어미들 중에서 사용자에 의해 선택된 어미를 사용자에 의해 선택된 단어의 어미로 추가하는 것을 특징으로 하는 문자 입력 장치.
- 제1항에 있어서,
상기 제1 키패드 생성부는 점(dot), 직선, 곡선, 다각형, 원형 중 적어도 하나의 형태를 갖는 문자 키들로 구성된 제1 키패드를 생성하는 것을 특징으로 하는 문자 입력 장치.
- 제1항에 있어서,
상기 제1키패드 정보 데이터베이스에는 제1키패드를 구성하는 문자키의 형태 및 크기에 따른 좌표값, 제1키패드에 배치된 문자키들의 중심점 좌표값에 대응하는 문자코드 및 문자라벨 중 적어도 하나가 저장된 것을 특징으로 하는 문자 입력 장치.
- 제1항에 있어서,
상기 제1키 터치 인식부는 상기 제1키패드에서 제1키의 터치가 감지된 경우, 상기 제1키에 대응하는 중심점 좌표값을 획득하고, 상기 획득된 중심점 좌표값에 대응되는 문자 코드를 상기 제1 키패드 정보 데이터베이스로부터 추출하는 것을 특징으로 하는 문자 입력 장치.
- 제1항에 있어서,
상기 제1키 터치 인식부는 상기 제1키패드에서 제1키의 터치가 감지된 경우, 상기 제1키에 대응하는 중심점 좌표값을 획득하고, 상기 획득된 중심점 좌표값에 대응되는 문자 코드를 상기 제1 키패드 정보 데이터베이스로부터 추출한 후, 이어지는 상하좌우 터치 이동 방향 정보를 결합한 정보를 이용하여 제1키의 다른 문자 코드를 생성하는 것을 특징으로 하는 문자 입력 장치.
- 제1항에 있어서,
상기 제2키패드 정보 데이터베이스에는 제2키패드의 형태 및 크기에 따른 좌표값, 제2키패드에서 하나의 문자키로 정의되어 배치된 문자키들의 중심점 좌표값, 각 중심점 좌표값에 대응하는 적어도 하나 이상의 문자코드 및 문자라벨 중 적어도 하나가 저장된 것을 특징으로 하는 문자 입력 장치.
- 제1항에 있어서,
상기 제2 키패드 생성부는 제2키패드를 상기 제1키패드 상에 가상으로 가시적 또는 비가시적으로 생성 및 표시하는 것을 특징으로 하는 문자 입력 장치.
- 제1항에 있어서,
상기 제2 키패드 생성부는 점(dot), 직선, 곡선, 다각형, 원형 중 적어도 하나의 형태를 갖는 문자 키들로 구성된 제2 키패드를 생성하는 것을 특징으로 하는 문자 입력 장치.
- 제1항에 있어서,
상기 터치 이동 동작은 탭(tap), 드래그(drag), 플릭(flick), 밀기(sliding) 중 적어도 하나를 포함하고, 제1키 터치 동작에서 연속으로 이어지는 동작인 것을 특징으로 하는 문자 입력 장치.
- 제1항에 있어서,
상기 제2키 터치 인식부는 상기 제2키패드에서 터치 이동 동작에 따른 좌표 값을 취득하고, 상기 취득된 좌표값에 대응하는 적어도 하나 이상의 문자 코드를 상기 제2키패드 정보 데이터베이스로부터 추출하는 것을 특징으로 하는 문자 입력 장치.
- 제1항에 있어서,
상기 제2키 터치 인식부는 상기 제2키패드 상에서 터치 이동 동작이 감지되지 않은 경우, 상기 제1키 터치 인식부에서 획득된 제1키의 값에 대응하는 문자 코드에 해당하는 문자를 터치 스크린 상에 표시하는 것을 특징으로 하는 문자 입력 장치.
- 터치 스크린이 구비된 문자 입력 장치에서 문자를 입력하는 방법에 있어서,
(a) 문자 입력 모드 시, 적어도 하나 이상의 문자키들로 구성된 제1 키패드를 상기 터치스크린 상에 표시하는 단계;
(b) 상기 제1키패드에서 제1키 터치가 감지된 경우, 제1키의 값에 대응하는 문자 코드를 획득하고, 상기 제1키의 문자키에 할당된 다수의 문자가 표시되는 제2키패드를 생성하여 터치 스크린 상에 표시하는 단계;
(c) 상기 제2 키패드 상에서 터치 이동 동작이 감지되는 경우, 상기 터치 이동 동작에 대응하는 적어도 하나의 문자 코드를 획득하는 단계;
(d) 상기 제1키의 문자코드와 제2키패드에서 획득된 문자 코드들을 결합하여 적어도 하나 이상의 입력 문자열을 생성하는 단계; 및
(e) 상기 생성된 입력 문자열들을 단어 사전 데이터베이스에 저장된 단어들과 문자열 패턴 매칭을 수행하여 완성된 단어의 문자열들을 추출 및 표시하는 단계;
를 포함하는 문자 입력 방법.
- 제14항에 있어서,
상기 (e) 단계 이후,
상기 완성된 단어의 문자열들 중에서 특정 문자열이 선택된 경우, 상기 선택된 문자열에 추가 가능한 어미가 존재하는지의 여부를 판단하는 단계;
상기 판단결과 추가 가능한 어미가 존재하는 경우, 추가 가능한 어미들을 표시하는 단계; 및
상기 표시된 어미들 중에서 사용자에 의해 선택된 어미를 상기 선택된 문자열의 어미로 추가하여 표시하는 단계를 더 포함하는 문자 입력 방법.
- 제14항에 있어서,
상기 (e) 단계에서,
상기 문자열 패턴 매칭 수행 결과, 완성된 단어의 문자열이 존재하지 않은 경우, 사용자 정의 단어 등록 명령이 입력되는지의 여부를 판단하고, 사용자 정의 단어 등록 명령이 입력된 경우, 상기 입력 문자열을 사용자 정의 단어 데이터베이스에 저장하는 것을 특징으로 하는 문자 입력 방법.
- 제14항에 있어서,
상기 (b) 단계는,
상기 제1키패드에서 제1키 터치가 감지된 경우, 상기 제1키의 중심점 좌표값을 획득하는 단계;
기 구비된 제1키패드 정보 데이터베이스를 검색하여 상기 제1키의 중심점 좌표값에 대응되는 문자 코드를 획득하는 단계; 및
상기 제1키패드의 문자키들을 포함하는 제2 키패드를 생성하여 제1키패드 상에 표시하는 단계를 포함하는 것을 특징으로 하는 문자 입력 방법.
- 제14항에 있어서,
상기 (b) 단계는,
상기 제1키패드에서 제1키 터치가 감지된 경우, 상기 제1키의 중심점 좌표값에 대응되는 문자 코드를 획득하는 단계; 및
상기 제1키에서 터치 이동이 감지된 경우, 터치 이동 방향 정보와 상기 제1키 코드값을 결합한 정보를 이용하여 다른 제1키의 문자코드를 생성하고 해당 문자를 표시하는 단계를 포함하는 것을 특징으로 하는 문자 입력 방법.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130055520A KR101334342B1 (ko) | 2013-05-16 | 2013-05-16 | 문자 입력 장치 및 문자 입력 방법 |
PCT/KR2014/002098 WO2014185624A1 (ko) | 2013-05-16 | 2014-03-13 | 문자 입력 장치 및 문자 입력 방법 |
CN201480028577.1A CN105210011B (zh) | 2013-05-16 | 2014-03-13 | 字符输入装置及字符输入方法 |
JP2016513861A JP6419162B2 (ja) | 2013-05-16 | 2014-03-13 | 文字入力装置及び文字入力方法 |
US14/891,420 US10268370B2 (en) | 2013-05-16 | 2014-03-13 | Character input device and character input method with a plurality of keypads |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130055520A KR101334342B1 (ko) | 2013-05-16 | 2013-05-16 | 문자 입력 장치 및 문자 입력 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101334342B1 true KR101334342B1 (ko) | 2013-11-29 |
Family
ID=49858748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130055520A KR101334342B1 (ko) | 2013-05-16 | 2013-05-16 | 문자 입력 장치 및 문자 입력 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10268370B2 (ko) |
JP (1) | JP6419162B2 (ko) |
KR (1) | KR101334342B1 (ko) |
CN (1) | CN105210011B (ko) |
WO (1) | WO2014185624A1 (ko) |
Cited By (121)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160101567A (ko) * | 2015-02-17 | 2016-08-25 | 엘지전자 주식회사 | 웨어러블 기기 |
KR101833129B1 (ko) * | 2015-06-05 | 2018-02-27 | 애플 인크. | 언어 입력 교정 |
US9986419B2 (en) | 2014-09-30 | 2018-05-29 | Apple Inc. | Social reminders |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US10049675B2 (en) | 2010-02-25 | 2018-08-14 | Apple Inc. | User profiling for voice input processing |
US10079014B2 (en) | 2012-06-08 | 2018-09-18 | Apple Inc. | Name recognition system |
US10083690B2 (en) | 2014-05-30 | 2018-09-25 | Apple Inc. | Better resolution when referencing to concepts |
US10108612B2 (en) | 2008-07-31 | 2018-10-23 | Apple Inc. | Mobile device having human language translation capability with positional feedback |
US10303715B2 (en) | 2017-05-16 | 2019-05-28 | Apple Inc. | Intelligent automated assistant for media exploration |
US10311871B2 (en) | 2015-03-08 | 2019-06-04 | Apple Inc. | Competing devices responding to voice triggers |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US10332518B2 (en) | 2017-05-09 | 2019-06-25 | Apple Inc. | User interface for correcting recognition errors |
US10356243B2 (en) | 2015-06-05 | 2019-07-16 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US10354652B2 (en) | 2015-12-02 | 2019-07-16 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10381016B2 (en) | 2008-01-03 | 2019-08-13 | Apple Inc. | Methods and apparatus for altering audio output signals |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
US10403283B1 (en) | 2018-06-01 | 2019-09-03 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
US10410637B2 (en) | 2017-05-12 | 2019-09-10 | Apple Inc. | User-specific acoustic models |
US10417344B2 (en) | 2014-05-30 | 2019-09-17 | Apple Inc. | Exemplar-based natural language processing |
US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
US10417405B2 (en) | 2011-03-21 | 2019-09-17 | Apple Inc. | Device access using voice authentication |
US10431204B2 (en) | 2014-09-11 | 2019-10-01 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10438595B2 (en) | 2014-09-30 | 2019-10-08 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
US10453443B2 (en) | 2014-09-30 | 2019-10-22 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
US10482874B2 (en) | 2017-05-15 | 2019-11-19 | Apple Inc. | Hierarchical belief states for digital assistants |
US10497365B2 (en) | 2014-05-30 | 2019-12-03 | Apple Inc. | Multi-command single utterance input method |
US10496705B1 (en) | 2018-06-03 | 2019-12-03 | Apple Inc. | Accelerated task performance |
US10529332B2 (en) | 2015-03-08 | 2020-01-07 | Apple Inc. | Virtual assistant activation |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US10580409B2 (en) | 2016-06-11 | 2020-03-03 | Apple Inc. | Application integration with a digital assistant |
US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
US10643611B2 (en) | 2008-10-02 | 2020-05-05 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
US10657961B2 (en) | 2013-06-08 | 2020-05-19 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US10684703B2 (en) | 2018-06-01 | 2020-06-16 | Apple Inc. | Attention aware virtual assistant dismissal |
US10699717B2 (en) | 2014-05-30 | 2020-06-30 | Apple Inc. | Intelligent assistant for home automation |
US10714117B2 (en) | 2013-02-07 | 2020-07-14 | Apple Inc. | Voice trigger for a digital assistant |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
US10733993B2 (en) | 2016-06-10 | 2020-08-04 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
US10741185B2 (en) | 2010-01-18 | 2020-08-11 | Apple Inc. | Intelligent automated assistant |
US10748546B2 (en) | 2017-05-16 | 2020-08-18 | Apple Inc. | Digital assistant services based on device capabilities |
US10755703B2 (en) | 2017-05-11 | 2020-08-25 | Apple Inc. | Offline personal assistant |
US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
US10769385B2 (en) | 2013-06-09 | 2020-09-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
US10789945B2 (en) | 2017-05-12 | 2020-09-29 | Apple Inc. | Low-latency intelligent automated assistant |
US10791176B2 (en) | 2017-05-12 | 2020-09-29 | Apple Inc. | Synchronization and task delegation of a digital assistant |
US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
US10810274B2 (en) | 2017-05-15 | 2020-10-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
US10904611B2 (en) | 2014-06-30 | 2021-01-26 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US10942702B2 (en) | 2016-06-11 | 2021-03-09 | Apple Inc. | Intelligent device arbitration and control |
US10942703B2 (en) | 2015-12-23 | 2021-03-09 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
US11010127B2 (en) | 2015-06-29 | 2021-05-18 | Apple Inc. | Virtual assistant for media playback |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US11023513B2 (en) | 2007-12-20 | 2021-06-01 | Apple Inc. | Method and apparatus for searching using an active ontology |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US11048473B2 (en) | 2013-06-09 | 2021-06-29 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
US11070949B2 (en) | 2015-05-27 | 2021-07-20 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display |
US11069336B2 (en) | 2012-03-02 | 2021-07-20 | Apple Inc. | Systems and methods for name pronunciation |
US11069347B2 (en) | 2016-06-08 | 2021-07-20 | Apple Inc. | Intelligent automated assistant for media exploration |
US11120372B2 (en) | 2011-06-03 | 2021-09-14 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US11126400B2 (en) | 2015-09-08 | 2021-09-21 | Apple Inc. | Zero latency digital assistant |
US11127397B2 (en) | 2015-05-27 | 2021-09-21 | Apple Inc. | Device voice control |
US11133008B2 (en) | 2014-05-30 | 2021-09-28 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
US11217251B2 (en) | 2019-05-06 | 2022-01-04 | Apple Inc. | Spoken notifications |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US11231904B2 (en) | 2015-03-06 | 2022-01-25 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US11237797B2 (en) | 2019-05-31 | 2022-02-01 | Apple Inc. | User activity shortcut suggestions |
US11269678B2 (en) | 2012-05-15 | 2022-03-08 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11314370B2 (en) | 2013-12-06 | 2022-04-26 | Apple Inc. | Method for extracting salient dialog usage from live data |
US11350253B2 (en) | 2011-06-03 | 2022-05-31 | Apple Inc. | Active transport based notifications |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
US11388291B2 (en) | 2013-03-14 | 2022-07-12 | Apple Inc. | System and method for processing voicemail |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11423886B2 (en) | 2010-01-18 | 2022-08-23 | Apple Inc. | Task flow identification based on user intent |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11468282B2 (en) | 2015-05-15 | 2022-10-11 | Apple Inc. | Virtual assistant in a communication session |
US11467802B2 (en) | 2017-05-11 | 2022-10-11 | Apple Inc. | Maintaining privacy of personal information |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
US11495218B2 (en) | 2018-06-01 | 2022-11-08 | Apple Inc. | Virtual assistant operation in multi-device environments |
US11500672B2 (en) | 2015-09-08 | 2022-11-15 | Apple Inc. | Distributed personal assistant |
US11526368B2 (en) | 2015-11-06 | 2022-12-13 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US11532306B2 (en) | 2017-05-16 | 2022-12-20 | Apple Inc. | Detecting a trigger of a digital assistant |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
US11657813B2 (en) | 2019-05-31 | 2023-05-23 | Apple Inc. | Voice identification in digital assistant systems |
US11671920B2 (en) | 2007-04-03 | 2023-06-06 | Apple Inc. | Method and system for operating a multifunction portable electronic device using voice-activation |
US11696060B2 (en) | 2020-07-21 | 2023-07-04 | Apple Inc. | User identification using headphones |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
US11765209B2 (en) | 2020-05-11 | 2023-09-19 | Apple Inc. | Digital assistant hardware abstraction |
US11790914B2 (en) | 2019-06-01 | 2023-10-17 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US11798547B2 (en) | 2013-03-15 | 2023-10-24 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
US11809483B2 (en) | 2015-09-08 | 2023-11-07 | Apple Inc. | Intelligent automated assistant for media search and playback |
US11838734B2 (en) | 2020-07-20 | 2023-12-05 | Apple Inc. | Multi-device audio adjustment coordination |
US11853536B2 (en) | 2015-09-08 | 2023-12-26 | Apple Inc. | Intelligent automated assistant in a media environment |
US11914848B2 (en) | 2020-05-11 | 2024-02-27 | Apple Inc. | Providing relevant data items based on context |
US11928604B2 (en) | 2005-09-08 | 2024-03-12 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106716396A (zh) * | 2014-07-15 | 2017-05-24 | 艾玛尔·Y·塞维尔公司 | 基于符号的书面语言的字符的输入 |
JP6691818B2 (ja) * | 2016-05-23 | 2020-05-13 | シャープ株式会社 | インターフェース、文字入力ガイド方法及びプログラム |
CN106875937B (zh) * | 2017-01-13 | 2019-09-24 | 西北工业大学 | 基于键盘输入感知的活动识别方法 |
CN106775430A (zh) * | 2017-03-30 | 2017-05-31 | 维沃移动通信有限公司 | 一种移动终端的字符输入方法及移动终端 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100838818B1 (ko) * | 2007-08-13 | 2008-06-17 | 홍성찬 | 문자입력장치 |
KR20120077890A (ko) * | 2010-12-31 | 2012-07-10 | 김진욱 | 터치스크린의 문자입력장치 및 문자입력방법 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6597345B2 (en) * | 2000-03-03 | 2003-07-22 | Jetway Technologies Ltd. | Multifunctional keypad on touch screen |
US7032174B2 (en) * | 2001-03-27 | 2006-04-18 | Microsoft Corporation | Automatically adding proper names to a database |
US6683599B2 (en) * | 2001-06-29 | 2004-01-27 | Nokia Mobile Phones Ltd. | Keypads style input device for electrical device |
US20030006749A1 (en) * | 2001-07-03 | 2003-01-09 | Copley Controls Corporation | Current sensing and measurement in a pulse width modulated power amplifier |
US8112529B2 (en) * | 2001-08-20 | 2012-02-07 | Masterobjects, Inc. | System and method for asynchronous client server session communication |
US7152213B2 (en) * | 2001-10-04 | 2006-12-19 | Infogation Corporation | System and method for dynamic key assignment in enhanced user interface |
US8185841B2 (en) * | 2005-05-23 | 2012-05-22 | Nokia Corporation | Electronic text input involving a virtual keyboard and word completion functionality on a touch-sensitive display screen |
JP4694579B2 (ja) | 2007-04-11 | 2011-06-08 | 株式会社フェイビー | 文字入力システム |
US8692736B1 (en) * | 2007-06-14 | 2014-04-08 | Amazon Technologies, Inc. | Configurable keypad for an electronic device |
IL188523A0 (en) * | 2008-01-01 | 2008-11-03 | Keyless Systems Ltd | Data entry system |
KR20090049903A (ko) * | 2007-11-14 | 2009-05-19 | 권성혁 | 가상키보드가 적용된 기기의 퍼지 터치를 이용한 문자 입력시스템 및 방법 |
CN101266520B (zh) | 2008-04-18 | 2013-03-27 | 上海触乐信息科技有限公司 | 一种可实现灵活键盘布局的系统 |
KR101504201B1 (ko) * | 2008-07-02 | 2015-03-19 | 엘지전자 주식회사 | 이동단말기 및 그의 키패드 표시방법 |
JP2011034494A (ja) * | 2009-08-05 | 2011-02-17 | Sony Corp | 表示装置、情報入力方法及びプログラム |
GB2477959A (en) | 2010-02-19 | 2011-08-24 | Sony Europ | Navigation and display of an array of selectable items |
WO2011105816A2 (ko) * | 2010-02-23 | 2011-09-01 | Park Taeun | 9키 중문 입력 방법 |
US20120005592A1 (en) * | 2010-06-30 | 2012-01-05 | Joshi Shrinivas B | Method and Apparatus for Providing Metadata-Based User Interfaces |
US8538581B2 (en) * | 2010-09-03 | 2013-09-17 | Redbox Automated Retail, Llc | Article vending machine and method for authenticating received articles |
KR101122366B1 (ko) * | 2010-09-20 | 2012-03-23 | 엔에이치엔(주) | 검색어 리스트 제공 시스템 및 방법 |
US8898586B2 (en) * | 2010-09-24 | 2014-11-25 | Google Inc. | Multiple touchpoints for efficient text input |
JP5572059B2 (ja) | 2010-10-21 | 2014-08-13 | 京セラ株式会社 | 表示装置 |
JP5731281B2 (ja) * | 2011-05-31 | 2015-06-10 | Kddi株式会社 | 文字入力装置およびプログラム |
US9547375B2 (en) * | 2012-10-10 | 2017-01-17 | Microsoft Technology Licensing, Llc | Split virtual keyboard on a mobile computing device |
TWI514243B (zh) * | 2012-12-28 | 2015-12-21 | Chi Mei Comm Systems Inc | 虛擬鍵盤控制系統及方法 |
-
2013
- 2013-05-16 KR KR1020130055520A patent/KR101334342B1/ko active IP Right Grant
-
2014
- 2014-03-13 US US14/891,420 patent/US10268370B2/en active Active
- 2014-03-13 CN CN201480028577.1A patent/CN105210011B/zh not_active Expired - Fee Related
- 2014-03-13 WO PCT/KR2014/002098 patent/WO2014185624A1/ko active Application Filing
- 2014-03-13 JP JP2016513861A patent/JP6419162B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100838818B1 (ko) * | 2007-08-13 | 2008-06-17 | 홍성찬 | 문자입력장치 |
KR20120077890A (ko) * | 2010-12-31 | 2012-07-10 | 김진욱 | 터치스크린의 문자입력장치 및 문자입력방법 |
Cited By (192)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11928604B2 (en) | 2005-09-08 | 2024-03-12 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US11671920B2 (en) | 2007-04-03 | 2023-06-06 | Apple Inc. | Method and system for operating a multifunction portable electronic device using voice-activation |
US11023513B2 (en) | 2007-12-20 | 2021-06-01 | Apple Inc. | Method and apparatus for searching using an active ontology |
US10381016B2 (en) | 2008-01-03 | 2019-08-13 | Apple Inc. | Methods and apparatus for altering audio output signals |
US10108612B2 (en) | 2008-07-31 | 2018-10-23 | Apple Inc. | Mobile device having human language translation capability with positional feedback |
US11348582B2 (en) | 2008-10-02 | 2022-05-31 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US10643611B2 (en) | 2008-10-02 | 2020-05-05 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US11900936B2 (en) | 2008-10-02 | 2024-02-13 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US10741185B2 (en) | 2010-01-18 | 2020-08-11 | Apple Inc. | Intelligent automated assistant |
US11423886B2 (en) | 2010-01-18 | 2022-08-23 | Apple Inc. | Task flow identification based on user intent |
US10049675B2 (en) | 2010-02-25 | 2018-08-14 | Apple Inc. | User profiling for voice input processing |
US10692504B2 (en) | 2010-02-25 | 2020-06-23 | Apple Inc. | User profiling for voice input processing |
US10417405B2 (en) | 2011-03-21 | 2019-09-17 | Apple Inc. | Device access using voice authentication |
US11350253B2 (en) | 2011-06-03 | 2022-05-31 | Apple Inc. | Active transport based notifications |
US11120372B2 (en) | 2011-06-03 | 2021-09-14 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US11069336B2 (en) | 2012-03-02 | 2021-07-20 | Apple Inc. | Systems and methods for name pronunciation |
US11269678B2 (en) | 2012-05-15 | 2022-03-08 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US11321116B2 (en) | 2012-05-15 | 2022-05-03 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US10079014B2 (en) | 2012-06-08 | 2018-09-18 | Apple Inc. | Name recognition system |
US11636869B2 (en) | 2013-02-07 | 2023-04-25 | Apple Inc. | Voice trigger for a digital assistant |
US10714117B2 (en) | 2013-02-07 | 2020-07-14 | Apple Inc. | Voice trigger for a digital assistant |
US11862186B2 (en) | 2013-02-07 | 2024-01-02 | Apple Inc. | Voice trigger for a digital assistant |
US11557310B2 (en) | 2013-02-07 | 2023-01-17 | Apple Inc. | Voice trigger for a digital assistant |
US10978090B2 (en) | 2013-02-07 | 2021-04-13 | Apple Inc. | Voice trigger for a digital assistant |
US11388291B2 (en) | 2013-03-14 | 2022-07-12 | Apple Inc. | System and method for processing voicemail |
US11798547B2 (en) | 2013-03-15 | 2023-10-24 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
US10657961B2 (en) | 2013-06-08 | 2020-05-19 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US11727219B2 (en) | 2013-06-09 | 2023-08-15 | Apple Inc. | System and method for inferring user intent from speech inputs |
US10769385B2 (en) | 2013-06-09 | 2020-09-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
US11048473B2 (en) | 2013-06-09 | 2021-06-29 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
US11314370B2 (en) | 2013-12-06 | 2022-04-26 | Apple Inc. | Method for extracting salient dialog usage from live data |
US10417344B2 (en) | 2014-05-30 | 2019-09-17 | Apple Inc. | Exemplar-based natural language processing |
US11699448B2 (en) | 2014-05-30 | 2023-07-11 | Apple Inc. | Intelligent assistant for home automation |
US10714095B2 (en) | 2014-05-30 | 2020-07-14 | Apple Inc. | Intelligent assistant for home automation |
US11670289B2 (en) | 2014-05-30 | 2023-06-06 | Apple Inc. | Multi-command single utterance input method |
US10699717B2 (en) | 2014-05-30 | 2020-06-30 | Apple Inc. | Intelligent assistant for home automation |
US11810562B2 (en) | 2014-05-30 | 2023-11-07 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US11133008B2 (en) | 2014-05-30 | 2021-09-28 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US11257504B2 (en) | 2014-05-30 | 2022-02-22 | Apple Inc. | Intelligent assistant for home automation |
US10497365B2 (en) | 2014-05-30 | 2019-12-03 | Apple Inc. | Multi-command single utterance input method |
US10083690B2 (en) | 2014-05-30 | 2018-09-25 | Apple Inc. | Better resolution when referencing to concepts |
US10878809B2 (en) | 2014-05-30 | 2020-12-29 | Apple Inc. | Multi-command single utterance input method |
US10657966B2 (en) | 2014-05-30 | 2020-05-19 | Apple Inc. | Better resolution when referencing to concepts |
US11838579B2 (en) | 2014-06-30 | 2023-12-05 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US11516537B2 (en) | 2014-06-30 | 2022-11-29 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10904611B2 (en) | 2014-06-30 | 2021-01-26 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10431204B2 (en) | 2014-09-11 | 2019-10-01 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10390213B2 (en) | 2014-09-30 | 2019-08-20 | Apple Inc. | Social reminders |
US10453443B2 (en) | 2014-09-30 | 2019-10-22 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US10438595B2 (en) | 2014-09-30 | 2019-10-08 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9986419B2 (en) | 2014-09-30 | 2018-05-29 | Apple Inc. | Social reminders |
KR102314532B1 (ko) * | 2015-02-17 | 2021-10-18 | 엘지전자 주식회사 | 웨어러블 기기 |
KR20160101567A (ko) * | 2015-02-17 | 2016-08-25 | 엘지전자 주식회사 | 웨어러블 기기 |
US11231904B2 (en) | 2015-03-06 | 2022-01-25 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US11842734B2 (en) | 2015-03-08 | 2023-12-12 | Apple Inc. | Virtual assistant activation |
US10311871B2 (en) | 2015-03-08 | 2019-06-04 | Apple Inc. | Competing devices responding to voice triggers |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US10930282B2 (en) | 2015-03-08 | 2021-02-23 | Apple Inc. | Competing devices responding to voice triggers |
US10529332B2 (en) | 2015-03-08 | 2020-01-07 | Apple Inc. | Virtual assistant activation |
US11087759B2 (en) | 2015-03-08 | 2021-08-10 | Apple Inc. | Virtual assistant activation |
US11468282B2 (en) | 2015-05-15 | 2022-10-11 | Apple Inc. | Virtual assistant in a communication session |
US11127397B2 (en) | 2015-05-27 | 2021-09-21 | Apple Inc. | Device voice control |
US11070949B2 (en) | 2015-05-27 | 2021-07-20 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display |
US10356243B2 (en) | 2015-06-05 | 2019-07-16 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US10681212B2 (en) | 2015-06-05 | 2020-06-09 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
KR101833129B1 (ko) * | 2015-06-05 | 2018-02-27 | 애플 인크. | 언어 입력 교정 |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US11947873B2 (en) | 2015-06-29 | 2024-04-02 | Apple Inc. | Virtual assistant for media playback |
US11010127B2 (en) | 2015-06-29 | 2021-05-18 | Apple Inc. | Virtual assistant for media playback |
US11550542B2 (en) | 2015-09-08 | 2023-01-10 | Apple Inc. | Zero latency digital assistant |
US11500672B2 (en) | 2015-09-08 | 2022-11-15 | Apple Inc. | Distributed personal assistant |
US11954405B2 (en) | 2015-09-08 | 2024-04-09 | Apple Inc. | Zero latency digital assistant |
US11126400B2 (en) | 2015-09-08 | 2021-09-21 | Apple Inc. | Zero latency digital assistant |
US11809483B2 (en) | 2015-09-08 | 2023-11-07 | Apple Inc. | Intelligent automated assistant for media search and playback |
US11853536B2 (en) | 2015-09-08 | 2023-12-26 | Apple Inc. | Intelligent automated assistant in a media environment |
US11526368B2 (en) | 2015-11-06 | 2022-12-13 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US11809886B2 (en) | 2015-11-06 | 2023-11-07 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US11886805B2 (en) | 2015-11-09 | 2024-01-30 | Apple Inc. | Unconventional virtual assistant interactions |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10354652B2 (en) | 2015-12-02 | 2019-07-16 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10942703B2 (en) | 2015-12-23 | 2021-03-09 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US11069347B2 (en) | 2016-06-08 | 2021-07-20 | Apple Inc. | Intelligent automated assistant for media exploration |
US11037565B2 (en) | 2016-06-10 | 2021-06-15 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10733993B2 (en) | 2016-06-10 | 2020-08-04 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US11657820B2 (en) | 2016-06-10 | 2023-05-23 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US11152002B2 (en) | 2016-06-11 | 2021-10-19 | Apple Inc. | Application integration with a digital assistant |
US10580409B2 (en) | 2016-06-11 | 2020-03-03 | Apple Inc. | Application integration with a digital assistant |
US11809783B2 (en) | 2016-06-11 | 2023-11-07 | Apple Inc. | Intelligent device arbitration and control |
US10942702B2 (en) | 2016-06-11 | 2021-03-09 | Apple Inc. | Intelligent device arbitration and control |
US11749275B2 (en) | 2016-06-11 | 2023-09-05 | Apple Inc. | Application integration with a digital assistant |
US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US10553215B2 (en) | 2016-09-23 | 2020-02-04 | Apple Inc. | Intelligent automated assistant |
US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
US11656884B2 (en) | 2017-01-09 | 2023-05-23 | Apple Inc. | Application integration with a digital assistant |
US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
US10741181B2 (en) | 2017-05-09 | 2020-08-11 | Apple Inc. | User interface for correcting recognition errors |
US10332518B2 (en) | 2017-05-09 | 2019-06-25 | Apple Inc. | User interface for correcting recognition errors |
US10847142B2 (en) | 2017-05-11 | 2020-11-24 | Apple Inc. | Maintaining privacy of personal information |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
US11467802B2 (en) | 2017-05-11 | 2022-10-11 | Apple Inc. | Maintaining privacy of personal information |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
US11599331B2 (en) | 2017-05-11 | 2023-03-07 | Apple Inc. | Maintaining privacy of personal information |
US10755703B2 (en) | 2017-05-11 | 2020-08-25 | Apple Inc. | Offline personal assistant |
US10410637B2 (en) | 2017-05-12 | 2019-09-10 | Apple Inc. | User-specific acoustic models |
US10789945B2 (en) | 2017-05-12 | 2020-09-29 | Apple Inc. | Low-latency intelligent automated assistant |
US11538469B2 (en) | 2017-05-12 | 2022-12-27 | Apple Inc. | Low-latency intelligent automated assistant |
US11580990B2 (en) | 2017-05-12 | 2023-02-14 | Apple Inc. | User-specific acoustic models |
US11862151B2 (en) | 2017-05-12 | 2024-01-02 | Apple Inc. | Low-latency intelligent automated assistant |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
US11837237B2 (en) | 2017-05-12 | 2023-12-05 | Apple Inc. | User-specific acoustic models |
US10791176B2 (en) | 2017-05-12 | 2020-09-29 | Apple Inc. | Synchronization and task delegation of a digital assistant |
US11405466B2 (en) | 2017-05-12 | 2022-08-02 | Apple Inc. | Synchronization and task delegation of a digital assistant |
US11380310B2 (en) | 2017-05-12 | 2022-07-05 | Apple Inc. | Low-latency intelligent automated assistant |
US10810274B2 (en) | 2017-05-15 | 2020-10-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
US10482874B2 (en) | 2017-05-15 | 2019-11-19 | Apple Inc. | Hierarchical belief states for digital assistants |
US10909171B2 (en) | 2017-05-16 | 2021-02-02 | Apple Inc. | Intelligent automated assistant for media exploration |
US11532306B2 (en) | 2017-05-16 | 2022-12-20 | Apple Inc. | Detecting a trigger of a digital assistant |
US10748546B2 (en) | 2017-05-16 | 2020-08-18 | Apple Inc. | Digital assistant services based on device capabilities |
US10303715B2 (en) | 2017-05-16 | 2019-05-28 | Apple Inc. | Intelligent automated assistant for media exploration |
US11675829B2 (en) | 2017-05-16 | 2023-06-13 | Apple Inc. | Intelligent automated assistant for media exploration |
US11217255B2 (en) | 2017-05-16 | 2022-01-04 | Apple Inc. | Far-field extension for digital assistant services |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US11710482B2 (en) | 2018-03-26 | 2023-07-25 | Apple Inc. | Natural assistant interaction |
US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
US11900923B2 (en) | 2018-05-07 | 2024-02-13 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US11907436B2 (en) | 2018-05-07 | 2024-02-20 | Apple Inc. | Raise to speak |
US11169616B2 (en) | 2018-05-07 | 2021-11-09 | Apple Inc. | Raise to speak |
US11854539B2 (en) | 2018-05-07 | 2023-12-26 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US11487364B2 (en) | 2018-05-07 | 2022-11-01 | Apple Inc. | Raise to speak |
US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
US11630525B2 (en) | 2018-06-01 | 2023-04-18 | Apple Inc. | Attention aware virtual assistant dismissal |
US10984798B2 (en) | 2018-06-01 | 2021-04-20 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US11009970B2 (en) | 2018-06-01 | 2021-05-18 | Apple Inc. | Attention aware virtual assistant dismissal |
US10720160B2 (en) | 2018-06-01 | 2020-07-21 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US11495218B2 (en) | 2018-06-01 | 2022-11-08 | Apple Inc. | Virtual assistant operation in multi-device environments |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
US10684703B2 (en) | 2018-06-01 | 2020-06-16 | Apple Inc. | Attention aware virtual assistant dismissal |
US11431642B2 (en) | 2018-06-01 | 2022-08-30 | Apple Inc. | Variable latency device coordination |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
US10403283B1 (en) | 2018-06-01 | 2019-09-03 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US11360577B2 (en) | 2018-06-01 | 2022-06-14 | Apple Inc. | Attention aware virtual assistant dismissal |
US10496705B1 (en) | 2018-06-03 | 2019-12-03 | Apple Inc. | Accelerated task performance |
US10944859B2 (en) | 2018-06-03 | 2021-03-09 | Apple Inc. | Accelerated task performance |
US10504518B1 (en) | 2018-06-03 | 2019-12-10 | Apple Inc. | Accelerated task performance |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US11893992B2 (en) | 2018-09-28 | 2024-02-06 | Apple Inc. | Multi-modal inputs for voice commands |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11783815B2 (en) | 2019-03-18 | 2023-10-10 | Apple Inc. | Multimodality in digital assistant systems |
US11675491B2 (en) | 2019-05-06 | 2023-06-13 | Apple Inc. | User configurable task triggers |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
US11705130B2 (en) | 2019-05-06 | 2023-07-18 | Apple Inc. | Spoken notifications |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11217251B2 (en) | 2019-05-06 | 2022-01-04 | Apple Inc. | Spoken notifications |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
US11888791B2 (en) | 2019-05-21 | 2024-01-30 | Apple Inc. | Providing message response suggestions |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
US11237797B2 (en) | 2019-05-31 | 2022-02-01 | Apple Inc. | User activity shortcut suggestions |
US11657813B2 (en) | 2019-05-31 | 2023-05-23 | Apple Inc. | Voice identification in digital assistant systems |
US11360739B2 (en) | 2019-05-31 | 2022-06-14 | Apple Inc. | User activity shortcut suggestions |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
US11790914B2 (en) | 2019-06-01 | 2023-10-17 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
US11914848B2 (en) | 2020-05-11 | 2024-02-27 | Apple Inc. | Providing relevant data items based on context |
US11924254B2 (en) | 2020-05-11 | 2024-03-05 | Apple Inc. | Digital assistant hardware abstraction |
US11765209B2 (en) | 2020-05-11 | 2023-09-19 | Apple Inc. | Digital assistant hardware abstraction |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
US11838734B2 (en) | 2020-07-20 | 2023-12-05 | Apple Inc. | Multi-device audio adjustment coordination |
US11750962B2 (en) | 2020-07-21 | 2023-09-05 | Apple Inc. | User identification using headphones |
US11696060B2 (en) | 2020-07-21 | 2023-07-04 | Apple Inc. | User identification using headphones |
Also Published As
Publication number | Publication date |
---|---|
CN105210011B (zh) | 2018-10-26 |
JP6419162B2 (ja) | 2018-11-07 |
WO2014185624A1 (ko) | 2014-11-20 |
JP2016524219A (ja) | 2016-08-12 |
US10268370B2 (en) | 2019-04-23 |
US20160110101A1 (en) | 2016-04-21 |
CN105210011A (zh) | 2015-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101334342B1 (ko) | 문자 입력 장치 및 문자 입력 방법 | |
CN102483666B (zh) | 用于移动装置的压敏用户接口 | |
US7170430B2 (en) | System, method, and computer program product for single-handed data entry | |
JP3727399B2 (ja) | 画面表示式キー入力装置 | |
US10747334B2 (en) | Reduced keyboard disambiguating system and method thereof | |
US20070016862A1 (en) | Input guessing systems, methods, and computer program products | |
US8370393B2 (en) | Process and apparatus for selecting an item from a database | |
EP2404230A1 (en) | Improved text input | |
US20150100911A1 (en) | Gesture responsive keyboard and interface | |
WO2007121673A1 (fr) | Procédé et dispositif d'amélioration de la vitesse de saisie de caractères chinois | |
Cha et al. | Virtual Sliding QWERTY: A new text entry method for smartwatches using Tap-N-Drag | |
CN106445369A (zh) | 一种输入的方法和装置 | |
CN103176737A (zh) | 手写句子系统的基于多点触摸的校正的方法和设备 | |
JP2017509080A (ja) | 漢字入力装置と漢字入力方法、及びこれを用いた漢字検索方法 | |
KR20100003831A (ko) | 중국어 입력 장치 및 그 입력 방법 | |
CN102147706A (zh) | 一种通过触滑方式输入汉字全拼的方法 | |
US20140104179A1 (en) | Keyboard Modification to Increase Typing Speed by Gesturing Next Character | |
CN101788879A (zh) | 软键盘布局及扫描输入方法 | |
Niu et al. | Stroke++: A new Chinese input method for touch screen mobile phones | |
US20150089432A1 (en) | Quick data entry systems and methods | |
KR101296590B1 (ko) | 문자 입력 장치 및 문자 입력 방법 | |
JP2012003705A (ja) | 記録媒体及び情報処理装置 | |
Po et al. | Dynamic candidate keypad for stroke-based Chinese input method on touchscreen devices | |
US20150347004A1 (en) | Indic language keyboard interface | |
CN103076987A (zh) | 手写输入法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20161108 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20171109 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180816 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190814 Year of fee payment: 7 |