본 발명의 제 1 측면에 따르면, 단말기 내에 글자들을 입력하기 위한 방법이 제공되는데, 단말기는 디스플레이 및 복수 개의 키들을 가지며, 키들 중 적어도 하나의 키는 복수 개의 상이한 심볼들을 나타내고, 심볼의 이전(previous) 선택을 하 기 위한 키의 사용이 후속(subsequent) 선택에서 선택 가능한 키에 의하여 표시되는 심볼들을 결정하는데 사용된다.
"심볼(symbol)"이라는 용어는 키보드 또는 키패드로부터 직접 입력될 수 있는 모든 그래픽 상형문자(glyph)를 포함한다. 심볼들은 알파벳, 숫자, 및 보포모포 심볼들, 글자 획들(character strokes) 및 성조 표시(tone marks)와 같은 기본적인 글자 입력 요소들을 포함한다. 심볼들은 키보드로부터 직접 입력될 수 있고 프론트 엔드 프로세서(FEP)를 요구하지 않을 수 있다. 그러나, 예를 들어 중국어 한자 및 일본어 한자와 같은 글자들은 프론트 엔드 프로세서(FEP)를 거쳐서 입력되어야 한다.
바람직하게는, 소정 갯수의 키들은 키들 중 단일 또는 복수의 키 선택을 통하여 접근될 수 있고, 디스플레이 내에 표시될 수 있는 상이한 심볼들의 하나의 알파벳과 자신들을 관련시키는 것이 바람직하다. 이전 선택에 의하여 하나 또는 그 이상의 키들을 위한 심벌들의 알파벳 또는 알파벳들이 한정될 수 있다.
이전 선택에서 사용된 키는 후속 선택에 사용되는 키와 동일할 수 있다. 선택적으로, 이전 선택에서 사용된 키 및 다음에 사용되는 키들은 상이할 수 있다. 이전 선택 및 후속 선택 내의 심볼들은 동일할 수도 있고 상이할 수도 있다.
바람직하게는, 본 방법은 표의문자 글자들을 입력하는데 사용되는 것이 바람직하다. 본 발명은 중국어 한자들(hanzi)을 입력하는데 사용될 수 있다. 선택적으로, 본 방법은 일본어 한자(kanji), 한국어 또는 다른 언어에서 사용되는 것들과 같은 다른 글자들을 입력하는데 사용될 수 있다. 본 방법은 글자들의 입력에만 한 정되는 것이 아니며 라틴 알파벳 내의 단어들을 형성하기 위하여 철자(letter)들을 입력하는데 사용될 수도 있다.
본 발명의 제 2 측면에 따르면, 글자들을 단말기 내로 입력하기 위한 사용자 인터페이스가 제공되는데, 단말기는 디스플레이 및 복수 개의 키들을 가지며, 키들 중 적어도 하나의 키는 복수 개의 상이한 심볼들을 나타내며, 어떤 심볼은 어떤 키를 사용하여 제 1 선택을 하기 위하여 선택가능하고, 키에 의하여 표시되며 후속 제 2 선택에서 선택 가능한 심볼들을 결정하기 위하여 프로세서가 사용된다.
본 발명의 제 3 측면에 따르면, 글자들의 입력을 수신하기 위한 단말기가 제공되는데, 단말기는 프로세서 및 복수 개의 키들을 가지며, 키들 중 적어도 하나의 키는 복수 개의 상이한 심볼들을 나타내며, 어떤 심볼은 어떤 키를 사용하여 제 1 선택을 하기 위하여 선택가능하고, 프로세서는 어떤 키에 의하여 표시되며 후속 제 2 선택에서 선택 가능한 심볼들을 결정하기 위하여 사용된다.
바람직하게는, 단말기는 이동 단말기인 것이 바람직하다. 이동 단말기는 이동 전화, 스마트 전화, 개인 디지털 단말기(PDA, Personal Digital Assistant), 랩탑(laptop), 전자 노트패드(electronic notepad), 페이저(pager) 또는 복수 개의 키들로부터 입력을 받아들이는 다른 단말기일 수 있다. 단말기가 이동 전화인 본 발명의 일 실시예에서, 단말기는 셀룰러 전화 네트워크에 접속하기 위한 셀룰러 이동 전화기일 수 있다.
본 발명은 작은 키패드를 가지는 단말기들에 특히 적합하다. 이 문장에서 작다는 구문은 키패드의 키들 중 몇 개가 하나 이상의 심볼에 관련된다는 것을 의미 한다. 키들은 스무 개 이하일 수 있고, 특정 실시예에서 심볼들의 입력을 위하여 사용되고, 아마도 심볼들의 입력 전용으로 사용되는 스무 개 정도의 키들일 수 있다.
본 발명에서, 사용자에 의하여 이미 입력된 모든 요소(element)들은, 사용자가 그것들을 수정하기를 고의로 선택하지 않는 한 정확하며 고정된 것으로 간주된다. 이것은 단지 다음에 나타날 수 있는 다음 심볼을 예측한다. 이것은 순방향-예측(forward-prediction)이고 이미 입력된 입력을 변화시키지는 않는다.
T9 방법과 비교하여, 본 발명은 심볼들을 입력하기 위하여 요구되는 키 누름 횟수를 조금 증가시킬 수는 있다. 그러나, 본 발명은 이를 보상하여 T9에 비하여 더 작은 입력 코딩 과잉율(ICRR)을 제공하며, 따라서 특정한 중국어 글자를 찾기 위하여 요구되는 전체 키 누름 횟수는 감소된다. 후보 목록은 50% 정도의 영역에서 감소된다. 이것은 작은 디스플레이를 갖는 장치들에게 상당한 장점으로 작용하는데, 그 이유는 디스플레이가 작은 장치들 내에서 후보 목록을 스크롤 하는 것은 어렵고 느린 작업이기 때문이다. 만일 상향 또는 하향의 단일 스크롤 작업이 키 누름으로 간주된다면, 본 발명은 T9 방법에 비하여 더 적은 키 누름 횟수만을 요구한다. 이에 덧붙여서, 본 발명은 사용자에게 정방향 궤환을 제공하여 입력을 가이드 하도록 하거나 오류 표시를 제공한다.
도 1 및 도 2는 본 명세서에서 전술되었다.
본 발명은 첨부된 도면을 참조하면서 예시를 서술하는 방식으로 설명될 것이다.
도 3은 단말기의 기능성 하드웨어를 개괄적으로 도시하는 도면이다. 특정한 이 실시예에서 단말기는 이동 전화(1)이다. 하드웨어 블록들은 오퍼레이팅 시스템을 수행하는 콘트롤러(2)에 의하여 제어된다. 다양한 소프트웨어, 응용 프로그램 및 데이터들이 임의 접근 메모리(RAM, Random Access Memory) 및 독출 전용 메모리(ROM, Read Only Memory) 내에 저장된다. 전화기는 트랜시버(transceiver) 블록(5)을 통하여 수신 및 송신한다. 음성을 다루는데 관련되는 동작은 오디오 파트(6) 내에서 일어나는데 오디오 파트(6)는 이어피스(earpiece, 7) 및 마이크로폰(8)에 연결된다. 가입자 식별 모듈(SIM, Subscriber Identity Module) 카드(9) 및 키패드(11)와 같은 다른 블록들은 콘트롤러(2)에 의하여 제어된다. 프론트 엔드 프로세서(FEP)는 소프트웨어 내에 실장되고 RAM(3) 및/또는 ROM(4) 내에 저장된다. 소프트웨어에 의하여 제공되는 명령들은 콘트롤러(2)에 의하여 수행되어 디스플레이(9) 및 키패드(10)를 제어한다.
도 4는 도 3에 도시된 단말기의 시스템 아키텍쳐를 도시하는 도면이며 심볼들 및 글자들의 입력에 관련된 부분들 및 특히 단말기의 프론트 엔드 프로세서(FEP)를 구비하는 부분들을 나타낸다. 도시된 시스템 아키텍쳐는 크게 네 개의 모듈로 나뉘어질 수 있는데, 그 모듈들은 입력 제어 모듈(12), 엔진 룩-업 모듈(engine look-up module, 14), 입력을 입력 제어 모듈(12) 내로 입력되도록 하기 위한 키패드 입력 유니트(16), 및 디스플레이(18)와 같은 출력 유니트들이다. 이러한 네 개의 모듈들에 덧붙여서, 엔진 룩-업 모듈(14)은 중국어 입력 사전(20)에 연결되는데, 중국어 입력 사전(20)은 핀인 문자열 및 정합하는 중국어 글자들의 매핑 테이블을 포함한다. 엔진 룩-업 모듈은 주어진 핀인 문자열로부터 중국어 글자들을 검색(retrieve)하는데 중국어 입력 사전을 사용할 수 있다. 중국어 사전의 경우에는, 가능한 모든 핀인 문자열들의 목록을 포함한다.
본 실시예에서, 프론트 엔드 프로세서(FEP)는 중국어 글자가 입력되면 발생하는 입력 동작을 수행하기 위하여 사용되는 부분들을 구비하는데, 그 부분들은 입력 제어 모듈(12), 엔진 룩-업 모듈(14) 및 중국어 입력 사전(20)들이다. 단말기는 다른 인터페이스 모듈들, 오퍼레이팅 시스템 및 응용프로그램들(22)을 구비한다. 다른 인터페이스 모듈들은 텔레포니(telephony)에 관련된 것들과 같은 다른 동작을 수행하기 위하여 사용자 및 단말기 간의 인터페이스를 제어하는데 사용된다. 오퍼레이팅 시스템 및 응용프로그램들은 프론트 엔드 프로세서(FEP) 및 텔레포니에 관련된 것들과 같은 단말기의 다른 부분들의 동작을 제어하는데 사용된다.
단말기의 디스플레이 내에 어떤 심볼이 입력되기 이전에, 핀인의 유효한 개시 심볼(opening symbol)이 될 수 있는 심볼이 키패드로부터 선택되어 디스플레이 내로 입력될 수 있다. u, v, 및 i 심볼들은 핀인 문자열의 선두에 나오는 글자(leading character)가 될 수 없다. 단말기는, 후속 키 입력이 있을 때 개시 심볼 다음의 입력들 중 개시 심볼과 유효한 핀인 조합을 이룰 수 있는 심볼들만이 사용자에 의하여 선택될 수 있도록 구성된다. 그러므로, 키패드 상의 키들과 관련된 적어도 몇 개의 알파벳들이 한정될 수 있으므로 그들의 심볼들 모두가 사용자에 의하여 선택될 수 있는 것은 아니다. 사용자가 후속 키를 누르면, 선택된 알파벳으로부터의 선택 가능한 심볼들만이 하나 하나씩 사용자에게 제공된다. 실제로, 입력 방법은 다음에 나올 수 있는 알파벳을 예측하여 유효한 핀인 문자열을 이룰 수 없는 심볼들이 선택될 수 없도록 처리한다.
한 실시예에서, 어떤 심볼들이 키패드로부터 선택가능한지 결정하는 것에 관련된 결정은 엔진 룩-업 모듈(14) 내에서 이루어진다. 이러한 경우에, 엔진 룩-업 모듈(14)은 어떤 심볼들이 키패드 내의 어떤 키들에 매핑되는지 알고 있다. 그러므로, 입력 제어 모듈(12)은 단순히 어떤 키가 눌려졌는지에 대한 자세한 사항을 엔진 룩-업 모듈(14)로 보내준다. 예를 들면, 만일 문자열 "가(ga)"가 디스플레이 내에서 입력되고, 또한 사용자가 심볼들 "m", "n", 및 "o"와 관련된 키 "6"을 누르면, 입력 제어 모듈(12)은 엔진 룩-업 모듈(14)에게 6번 키가 눌렸다는 것을 알려주고, 엔진 룩-업 모듈(14)은 중국어 입력 사전(20) 내에서 가능한 핀인 문자열 "감(gam)", "간(gan)", 및 "가오(gao)" 들이 유효한지를 체크한다. 유효한 문자열 중에서 첫 번째 문자열을 찾으면(본 예시에서는 "간(gan)"에 해당한다), 엔진 룩-업 모듈(14)은 입력 제어 모듈(12)에게 디스플레이 내에 심볼 "n"을 나타내도록 통보한다.
본 실시예에서, 키패드로부터 어떤 심볼들이 선택가능한지 결정하는 것에 관련된 결정은 입력 제어 모듈(12) 내에서 이루어진다. 전술한 예시에서 "가(ga)"를 입력한 후에 키 "6"을 누르면, 입력 제어 모듈(12)은 엔진 룩-업 모듈(14)에 문자열 "감(gam)"을 전송하여 이 문자열이 유효한지를 체크한다. 이것은 유효한 문자열이 아니고, 따라서 엔진 룩-업 모듈(14)은 입력 제어 모듈(12)에 그렇다는 사항을 응답한다. 그러면, 입력 제어 모듈(12)은 다음 문자열 "간(gan)"을 전송한다. 이것 은 유효한 문자열이며, 따라서 엔진 룩-업 모듈(14)은 입력 제어 모듈(12)에게 유효하다는 사실을 알려준다. 그러면 디스플레이 내에 이미 입력된 문자열 "가(ga)" 뒤에 "n"이 더 나타나게 된다. 사용자가 실제로 문자열 "가오(gao)"를 입력하고자 할 경우에는, 사용자는 다시 "6"번 키를 누른다. 그러면 입력 제어 모듈(12)이 엔진 룩-업 모듈(14)에 문자열 "가오(gao)"를 전송한다. 이것 역시 받아들여질 수 있는 문자열이기 때문에, 입력 제어 모듈(12)은 그렇다는 것을 통보 받고, 디스플레이 상에 "n" 대신에 "o"가 나타난다.
이러한 실시예들 각각은 보통 중국어 입력 방법에 비교하여 심각한 부가적 메모리 소모 또는 계산 부하(computing overhead)를 야기하지 않는다.
도 5는 본 발명에 따른 중국어 입력 디스플레이를 나타내는 도면이다. 도 5는 디스플레이의 다른 영역(area)들 및 중국어의 짧은 메시지를 편집하는 도중에 그 영역에 나타나는 것들을 보여준다. 디스플레이 영역들은 현재 입력 상태를 나타내는 입력 상태 지시기(input status indicator, 23), 사용자 텍스트들이 디스플레이되고 편집되는 편집 윈도우(editing window, 24), 입력 문자열에 정합되는 후보들이 디스플레이되는 후보 윈도우(candidate window, 26), 및 기능 키들에 관련된 텍스트를 표시하기 위한 윈도우(27)들이다. 텍스트 표시 윈도우(27)는 텍스트 바로 하단에 즉시 위치한 두 키들의 기능을 정의한다. 사용자는 후보가 선택 및 디스플레이 내로 입력되기 이전에 그 후보를 강조(highlight)하기 위하여 후보들을 스크롤 할 수 있다.
심볼들 및 글자들을 입력하는 것은 흐름도의 형태로 도 6 내에 도시되어 있 다. 동작은 초기 단계(28)에서 시작된다. 단계 30에서 사용자는 입력 제어 모듈(12)을 이용하여 글자들을 입력하기 위한 입력 방법을 선택한다. 예를 들어, 그 방법은 핀인 방법을 사용하는 중국어 입력일 수 있다. 입력 방법이 활성화되면, 단계 32에서 사용자는 원하는 핀인 문자열의 개시 심볼인 원하는 심볼을 포함하는 키를 누른다. 엔진 룩-업 모듈(14)은 중국어 입력 사전(20)을 이용하여 단계 34에서 눌려진 키가 허용되는 심볼과 관련되는지 결정한다. 만약 눌려진 키가 허용되는 어떤 심볼들과도 관련되어 있지 않다면, 그러면 단계 36에서 눌려진 그 키는 무시되고 어떤 심볼도 단말기의 디스플레이(18) 내에 나타나지 않는다. 이런 경우에, 단말기는 사용자가 다른 키를 입력하도록 대기한다. 만약 눌려진 키가 허용되는 심볼과 관련된다면, 단계 38에서 그 키와 관련되어 허용되는 심볼들 중 첫 번째 심볼이 디스플레이 내에 나타난다. 물론, 만일 눌려진 키와 관련되어 허용되는 심볼이 하나밖에 없다면, 그것이 디스플레이 내에 나타난다. 첫 번째 심볼이 디스플레이 내에 나타난 시점 이후로, 즉 입력된 심볼이 (부분적으로) 유효한 핀인 문자열을 형성할 수 있을 때, 후보 목록이 디스플레이 내에 나타난다. 그러므로, 후보 목록은 사용자가 디스플레이 내에 나타난 심볼이 디스플레이 내에 입력되어야 한다고 확인하기 이전에도 디스플레이될 수 있다. 이런 동작은 사용자가 타임-아웃 동안 대기하거나 심볼을 입력하기 위하여 다른 키를 눌러야 할 필요가 없이 글자 목록으로부터 어떤 글자를 선택할 수 있으므로 시간을 절약한다. 본 흐름도에서, 후보들은 단계 38에서 심볼들이 디스플레이 내에 나타나는 시점에서부터 디스플레이된다. 그러므로, 사용자는 그의 입력에 대한 즉각적인 궤환을 후보 목록으로부터 받는다. 사용자는 디스플레이 내에 나타난 심볼을 보고 단계 40에서 나타난 심볼이 원하는 심볼인지 여부를 결정한다. 만일 원하는 심볼이라면, 사용자는 단계 42에서 그 심볼의 선택과 관련된 타임-아웃 시간이 경과되기를 대기하거나 키패드 입력 유니트(16) 상의 적당한 선택키를 누름으로써 그 사실을 확인한다. 선택키는 선택을 확인하는 작업에 특히 할당된 키일 수 있고 또는 심볼을 입력하기 위한 다른 키일 수도 있다. 단계 44에서, 단말기는 디스플레이 내에 선택된 심볼을 입력한다. 만일 나타난 심볼이 원하는 심볼이 아니면, 단계 46에서 사용자는 다시 키를 눌러서 허용되는 다음 심볼(단계 47)을 디스플레이하고 만일 나타난 다음 심볼이 원하는 심볼인지 다시 체크한다. 엔진 룩-업 모듈(14)이 중국어 입력 사전(20)을 이용하여 유효한 핀인 문자열을 구성하는 심볼들만 선택할 수 있도록 한다는 것이 다시 한번 상기되어야 한다. 그러므로, 사용자는 허용되지 않는 심볼들을 선택할 수가 없다. 만약 사용자가 어떤 심볼을 찾으려 하는데 찾을 수가 없다면, 그 사실은 무언가 잘못되었다는 표시(예를 들어 핀인 문자열의 스펠이 잘못되는 것과 같이)로 작용할 수 있다. 이러한 방법으로 단말기는 사용자에게 궤환을 제공한다. 이러한 궤환이 핀인 문자열을 형성하는 동안 제공되고 핀인 문자열을 나타내는 모든 심볼들이 입력되는 작업이 완료된 이후에는 제공되지 않는다는 것이 주목되어야 한다. 이러한 현상은 T9 방법과 반대되는 것이다. 어떤 심볼이 디스플레이(18) 내에 입력된 후에, 사용자는 단계 48에서 그 핀인 문자열이 완성되었는지를 체크한다. 만약 완성되지 않았다면, 사용자는 단계 32에서 다른 키를 입력하여 다른 심볼을 선택하고 심볼 선택 작업이 반복된다. 단말기의 프론트 엔드 프로세서(FEP)는 단계 50에 서 완성된 핀인 문자열로부터 글자들의 후보 목록을 얻기 위하여 사용된다. 비록 완성된 핀인 문자열이 후보 목록으로부터 글자가 선택되기 이전에 입력될 수 있지만, 전술한 바와 같이 사용자는 글자가 단계 38에서 처음 디스플레이된 이후에는 아무 때나 글자를 선택할 수 있다. 동작은 최종 단계 52에서 종료된다.
단계 42에서, 만일 다른 키를 누름으로써 심볼이 선택되고 디스플레이 내로 입력되어 다른 심볼 선택 과정이 시작된다면, 과정이 단계 34로부터 재시작 되도록 야기하며, 즉 엔진 룩-업 모듈(14)은 눌려진 키가 그 키와 관련된 어떤 허용된 심볼을 가지고 있는지 체크한다.
전술된 바와 같은 단계들에 덧붙여서, 변화가 요구될 경우 심볼들 또는 글자들을 삭제하도록 하는 단계들이 또한 제공된다. 이것은 입력된 문자열 내의 심볼들 내의 철자 실수에 기인하거나 또는 사용자 측의 마음 변경 때문일 수 있다. 단말기 사용자 인터페이스 내의 이러한 정정 과정은 당업자들에게는 잘 알려진 것이고, 알려진 어떠한 방법들도 채용될 수 있다.
입력 제어 모듈(12), 엔진 룩-업 모듈(14), 및 중국어 입력 사전(20) 간에 발생하는 명령 및 통보의 시퀀스는 다음과 같다.
1. 사용자가 키를 누른다. 본 예시의 경우에 키 "2" 가 눌린다.
2. 키패드가 키가 눌렸다는 사건(event)을 받아들인다. 그러면 키패드는 그 사건을 입력 제어 모듈(12)로 전송한다. 본 예시의 경우에, 전송되는 사건은 키 "2" 가 눌렸다는 것이다.
3. 입력 제어 모듈(12)이 눌려진 키의 할당된 심볼 시퀀스에 따라 새로운 입력 심볼을 입력 버퍼에 추가한다. 본 예시의 경우 심볼 "a"가 버퍼에 추가된다.
4. 입력 제어 모듈(12)이 입력 문자열을 엔진 룩-업 모듈(14)로 보내고 입력된 입력 문자열과 정합되는 후보들의 갯수를 문의한다.
5. 엔진 룩-업 모듈(14)이 중국어 입력 사전(20) 내의 입력 버퍼로부터 입력 문자열을 체크하고 입력 제어 모듈(12)로 정합하는 후보들의 갯수를 반환한다. 본 예시의 경우, 입력 버퍼로부터 제공된 문자열 "a"가 중국어 입력 사전(20)에서 체크된다.
6. 입력 제어 모듈(12)이 정합하는 후보들의 수를 체크한다. 심볼이 "a"인 본 예시의 경우 갯수는 0 이상이고 이것은 입력된 입력 문자열과 정합되는 후보들이 있다는 것을 나타낸다. 입력 제어 모듈(12)은 엔진 룩-업 모듈(14)로부터 후보들을 요구한다.
7. 엔진 룩-업 모듈(14)이 중국어 입력 사전(20)을 참조하여 이에 상응하는 후보들을 얻고, 얻어진 후보들을 입력 제어 모듈(12)로 보낸다.
8. 입력 제어 모듈(12)이 입력 문자열 및 이와 관련된 후보들을 단말기의 디스플레이 상에 디스플레이한다. 본 예시의 경우, 입력 문자열 "a" 및 그에 상응하는 후보들이 디스플레이된다.
9. 사용자가 다음 키를 누른다. 본 예시의 경우 키 "4"가 눌린다.
10. 키가 눌렸다는 사건이 받아들여진다, 즉 키 "4"가 눌렸음이 받아들여진다. 그러면, 키패드는 그 사건을 입력 제어 모듈(12)로 전송한다. 단계 3 내지 단 계 5가 반복된다. 그러면 이제 입력 문자열은 "ag"가 된다.
11. 입력 제어 모듈(12)이 정합되는 후보들의 갯수를 체크한다. 본 예시의 경우 그 갯수는 0이다. 만약 후보 목록이 비어 있다면, 입력 제어 모듈(12)은 아예 새로운 입력 글자를 디스플레이하지 않는다. 그러므로, 심볼 "g"는 디스플레이되지 않는다. 입력 제어 모듈(12)은 눌린 키에 관련되는 다음 심볼을 체크한다.
12. 단계 3 내지 단계 4가 반복된다. 그러면 입력 문자열은 "ah"가 된다. 마찬가지로 "ah" 역시 후보가 없다.
13. 입력 제어 모듈(12)이 정합되는 후보들의 갯수를 체크한다. 본 예시의 경우 그 갯수는 0이다. 입력 제어 모듈(12)이 눌린 키와 관련되는 다음 심볼을 체크한다.
14. 단계 3 내지 단계 5 가 반복된다. 그러면 입력 문자열은 "ai"로 변한다.
15. 'ai"는 유효한 입력 문자열이기 때문에 단계 6 내지 단계 8이 반복된다.
이러한 과정이 순방향-예측(forward-predictive) 중국어 입력의 메시지 시퀀스 차트인 도 7에 도시되어 있다. 물론, 시퀀스의 마지막에는, 후보 윈도우(26) 내의 글자들 중 하나가 유효한 입력으로 선택되고 디스플레이 내로 입력된다.
사용자 제어 모듈(12)은 엔진 룩-업 모듈(14)이 사전(20) 내에서 입력 문자열을 찾는 일을 담당하는 동안 키패드 및 다양한 키들과 관련된 심볼들에 대한 정보를 얻는다. 입력 제어 모듈(12)은 시계열적으로 눌려진 키의 심볼들을 이전의 입력들과 함께 엔진 룩-업 모듈(14)에 공급하는데, 엔진이 0이 아닌 후보 숫자를 반환할 동안 공급하며, 이는 엔진이 적어도 하나의 정합하는 요소를 가지고 있다는 의미이다. 물론, 눌려진 키와 관련된 심볼들 중 어느 것도 유효하지 않다면, 엔진 룩-업 모듈(14)은 0인 후보 숫자를 계속 제공할 것이다. 입력 제어 모듈(12)은 키패드 입력 유니트(16) 및 디스플레이(18)를 제어하여 적당히 한정된 알파벳들이 키패드 입력 유니트(16)의 키들과 관련되고 선택 가능하도록 한다.
도 6의 흐름도에 대한 설명에서 언급된 바와 같이, 중국어 글자는 입력된 글자의 완전한 핀인 문자열이 입력되기 이전에라도 입력될 수 있다. 예를 들어, 만일 핀인 문자열 "가오(gao)"를 갖는 중국어 글자가 입력된다면, 사용자는 유효한 핀인 문자열이 입력되자 마자(심지어 그것이 단 한 글자이더라도) 후보 윈도우(26) 내의 후보를 스크롤 하는 것이 가능하다. 그러므로, 사용자는 단순히 "g" 또는 "ga"를 입력한 후에 글자 "가오(gao)"를 발견할 수 있다. 물론, 이러한 "부분 입력(partial input)"은 후보 목록을 더 길게 만들고 입력 코딩 과잉율(ICRR)을 증가시킬 수는 있다. 이러한 특징은 사용자가 완전한 핀인 문자열을 기억하지 못하거나 전 문자열을 입력할 수 없을 경우에는 효과적이다.
다음 [표 2]는 본 발명에 따른 방법을 사용할 때 핀인 문자열 "쫑(zhong)"을 입력하기 위한 키 스트로크를 나타낸다.
키 스트로크(keystroke) |
표시되는 심볼 |
코멘트 |
9 |
w |
모든 w,x,y, 및 z 가 제 1 핀인 심볼로 허용된다 |
9 |
x |
9 |
y |
9 |
z |
|
|
z 가 타임-아웃 이후에 입력된다. |
4 |
h |
h 및 i가 허용되는 심볼이다. |
|
|
h가 타임-아웃 이후에 입력된다. |
6 |
o |
o 만이 허용되는 심볼이다. |
|
|
o가 타임-아웃 이후에 입력된다. |
6 |
n |
n 만이 허용되는 심볼이다. |
|
|
n이 타임-아웃 이후에 입력된다. |
4 |
g |
g 만이 허용되는 심볼이다. |
|
|
g가 타임-아웃 이후에 입력된다. |
도 2에 도시된 것과 같은 키패드를 사용하면, 예측 방법이 없을 때, 핀인 문자열 "쫑(zhong)"을 입력하기 위한 키 스트로크는 "9999-44-666-타임-아웃-66-4"가 될 것이다. 그러나, 본 발명에 따른 예측 방법을 사용하면, 요구되는 키 스트로크는 "9999-4-6-타임-아웃-6-4"이다.
다음 [표 3]은 본 발명에 따른 방법의 성능을, 어떠한 예측 방법 또는 통계적 확장도 심볼을 선택하는데 채택하지 않는 기본 입력 방법과 비교한 통계적 수치를 제공한다. 실질적으로, 통계는 각 방법의 입력 효율을 나타낸다. 통계는 총 7513 자의 상용 중국어 글자들을 위해 사용되는 405 개의 핀인 문자열에 기초한다. [표 3]은 모든 글자들을 위한 완전한 핀인 문자열의 평균 길이 및 기본 입력 방법 및 본 발명에 따른 방법을 사용하는 통상적인 키패드를 이용하여 이러한 핀인 문자열을 입력하기 위해 요구되는 키 스트로크의 횟수를 비교한다. 최적의 방법이 각 심볼 마다 한번씩의 키 스트로크만을 요구할 것이라고 가정하면, 키패드 입력의 경상 부분(overhead) 역시 계산된다.
|
가중치 부여 안됨 |
동일한 발음(GB2312 에서)을 갖는 글자들의 갯수에 의하여 가중치가 부여됨 |
평균 핀인(Pinyin) 길이 |
3.21 |
3.07 |
본 발명을 사용하지 않을 경우 요구되는 키 스트로크의 평균 갯수 |
6.68 |
6.47 |
본 발명이 사용될 경우 요구되는 키 스트로크의 평균 갯수 |
4.61 |
4.42 |
요구되는 키 스트로크의 감소량 |
2.07 |
2.05 |
본 발명을 사용하지 않을 경우 키 스트로크 갯수의 경상 부분 |
3.47 |
3.40 |
본 발명을 사용할 경우 키 스트로크 갯수의 경상 부분 |
1.40 |
1.35 |
경상 부분의 감소량(%) |
59.7 |
60.3 |
키 스트로크의 감소량(%) |
30.1 |
31.7 |
전술된 설명에서 언급된 가중치(weighting)는 다음과 같이 계산된다. L
p는 그 내부의 심볼들의 숫자에 의하여 주어지는 핀인 문자열의 길이이다. P는 유효한 핀인 문자열의 총 숫자이며, 즉, 어휘 공간(vocabulary space)의 크기이다. 각 핀인 문자열을 위하여, N
p는 동일한 핀인 문자열을 갖는 한자(중국어 글자)의 숫자이다. 그러므로, 평균 핀인 길이는 (L
p의 합)/(유효한 핀인 문자열의 합)=
이다. 가중치가 부여된 평균은 (N
p*L
p의 합)/(총 글자수)=
로써 계산된다. 이러한 가중치가 부여된 평균은 문자열 길이를 계산할 때 더 많은 글자수에 정합되는 핀인 문자열에 더 많은 가중치가 부여되었음을 알려준다. 이에 상응하는 전술된 키 스트로크의 횟수에도 동일한 방법으로 가중치가 부여된다.
본 발명이 완전한 핀인 문자열을 입력하기 위한 평균 키 스트로크의 횟수를 거의 두 개의 키 스트로크 이상으로 감소시킨다는 것이 쉽게 발견될 수 있다. 이것은 통상적인 입력 키 스트로크 횟수의 약 30%에 해당하는 숫자이다. 더 나아가, 키 스트로크 경상 부분은 약 60% 만큼 감소된다. 이러한 개선 효과들은 입력 코딩 과잉율(ICRR)을 증가시키지 않으면서 얻어진다는 것에 주의해야한다.
본 발명은, 중국어 글자를 입력하기 위하여 사용되는 다수의 글자 입력 방법들 중에서(특히 핀인 방법), 입력 부호화 공간(input coding space)은 언제나 한정된 갯수의 코드들의 닫힌 집합이라는 사실에 기초하고 있다. 다시 말하면, 입력 방법들은 보통 기초 입력 요소들 또는 심볼들에 의하여 구성되는 그들 자체의 어휘들을 가진다. 이러한 어휘들은 언제나 자체의 패턴들 또는 특징들을 가진다.
본 발명은 하나의 심볼의 알파벳이 하나의 키와 관련되어 있는 작은 키패드를 가지고 핀인을 이동 핸드셋 또는 다른 장치들에 입력하는 과정을 현저하게 단순화한다. 주의깊게 설계된 키 매핑과 함께 사용되면, 본 방법은 보포모포(Bofomofo) 또는 우비찌신(Wubizixin)과 같이 12개 이상의 입력 코드들을 가지는 다른 중국어 입력 방법들도 역시 개선할 수 있다.