KR20030013314A - 키패드에서의 알파벳 입력장치 및 그 방법 - Google Patents

키패드에서의 알파벳 입력장치 및 그 방법 Download PDF

Info

Publication number
KR20030013314A
KR20030013314A KR1020020045710A KR20020045710A KR20030013314A KR 20030013314 A KR20030013314 A KR 20030013314A KR 1020020045710 A KR1020020045710 A KR 1020020045710A KR 20020045710 A KR20020045710 A KR 20020045710A KR 20030013314 A KR20030013314 A KR 20030013314A
Authority
KR
South Korea
Prior art keywords
alphabet
input
button
keypad
control
Prior art date
Application number
KR1020020045710A
Other languages
English (en)
Other versions
KR100974971B1 (ko
Inventor
김민겸
Original Assignee
김민겸
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from PCT/KR2001/002267 external-priority patent/WO2002052816A1/en
Priority claimed from PCT/KR2002/000247 external-priority patent/WO2002067554A1/en
Priority claimed from PCT/KR2002/001355 external-priority patent/WO2003009570A1/en
Application filed by 김민겸 filed Critical 김민겸
Publication of KR20030013314A publication Critical patent/KR20030013314A/ko
Application granted granted Critical
Publication of KR100974971B1 publication Critical patent/KR100974971B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/02Constructional features of telephone sets
    • H04M1/23Construction or mounting of dials or of equivalent devices; Means for facilitating the use thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements 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/0233Character input methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/70Details of telephonic subscriber devices methods for entering alphabetical characters, e.g. multi-tap or dictionary disambiguation

Abstract

본 발명에서 자모음분리키패드에서 (언어제한) 반복선택방법을 적용하여, 어떤 언어에서는 모호성없이 혹은 대부분의 언어에서 적은 모호성으로 입력하고자 하는 어구를 입력할 수 있음을 보였다.
또한 언어제한 입력방법을 풀입력방법으로 하는 병행입력방법(즉, 언어제한 병행입력방법)을 적용하여 특정 어구의 입력초기에 입력값이 심프코드인지 아니면 풀코드인지를 시스템이 효율적으로 인식하여 처리할 수 있는 효율적인 시스템을 제시하였다.

Description

키패드에서의 알파벳 입력장치 및 그 방법{APPARATUS AND METHOD FOR INPUTTING ALPHABET CHARACTERS}
[기술분야]
본 발명은 키패드에서의 알파벳 입력장치 및 그 방법에 관한 것으로서, 특히 전화기 자판과 같은 적은 수의 키를 지닌 키패드에서의 알파벳 입력장치 및 그 방법에 관한 것이다.
[배경기술]
이동 통신의 발전에 따라, 음성 통화 위주의 휴대용 단말기에 문자 등의 디지털 정보를 송수신하는 기능이 추가되었다. 따라서, 초기에는 전화번호 입력을 목적으로 휴대용 단말기에 구비된 키패드는 문자를 입력하는 수단도 포함하게 되었다. 그런데, 휴대용 단말기의 입력 수단으로 사용되는 키패드의 크기가 점점 작아지므로 키패드에 포함된 버튼의 수는 그 한계를 지니게 된다. 한편, 각 언어의 알파벳은 키패드에 포함된 12개의 키의 수를 크게 상회하고 있다. 따라서, 전화기 키패드를 이용하여 하나의 알파벳을 입력하기 위해서는 키패드 상의 버튼들을 하나 또는 2 이상 조합하여 그 알파벳을 표현하여야 한다.
출원인의 선출원(출원번호 10-2000-0031879 및 PCT/KROO/OO601)에서 제시하였던, 발명을 요약하면 다음과 같다.
먼저 "부분전체선택방법"에 의하면, 키패드 상의 각 버튼에 키패드 내의 전체 버튼들의 배치에 대응하는 형태로 소정수의 격자들을 구성하여 알파벳들을 격자들에 배치하고, 입력하고자 하는 알파벳(이하 "타겟알파벳"으로 약칭)이 배치된 제 1 버튼와 제 1 버튼의 격자들에서 그 알파벳의 배치 위치에 대응하여 키패드 상의 제 2 버튼를 조합하여 누름으로써, 원하는 알파벳을 입력하게 된다. 예를 들어 도1-1에서 "A=[1]+[2] 로 입력하는 것이다.
버튼의 격자들 중에서 제 1 버튼과 제 2 버튼이 동일하게 되는 기준격자를 포함하여 일부의 격자를 사용하는 것, 일부의 격자를 사용하되, 제 1 버튼과 제 2 버튼의 조합의 편리도가 높은 순서의 격자를 우선 사용하는 것이 부분전체선택방법의 핵심이었다. 이렇게 부분전체선택방법의 핵심은 기준격자에 있고, 기준격자의 개념을 활용할 수 있는 키패드를 "기준키패드"라고 이름 붙였다.
다음으로 기준반복선택방법은 부분전체선택방법을 적용할 수 있도록 구성된 기준키패드에서 기준격자위치의 알파벳으로부터 기준격자에 가까운 순서(부분전체선택방법에서의 버튼조합의 편리도 순서)로 버튼의 누름횟수에 따라 알파벳이 선택되도록 하는 방법이었다. 기준반복선택방법은 기준키패드에서 반복선택방법을 적용하는 것인데, 기준키패드를 반복선택방법 전용화하는 것을 "단순키패드"라고 이름붙였으며, 편의상 기존에 사용되고 있는 것처럼 단순키패드에서 반복선택방법을 적용하는 것을 단순반복선택방법 이라고 이름 붙였다.
그리고 "컨트롤처리방법"이 있었으며, 여기에는 "첨자컨트롤처리방법" 그리고 "후속컨트롤처리방법"이 있었다. 첨자컨트롤처리방법은 첨자와 기본알파벳으로 이루어진 변형알파벳 입력시, 이를 첨자컨트롤과 기본알파벳을 조합하여 변형알파벳을 입력할 수 있도록 하는 방법이었다. 후속컨트롤처리방법은 어느 버튼에 배정되는 한 그 룹의 알파벳들을 대표알파벳과 후속알파벳의 관계로 설정하고, 후속알파벳 입력시, 대표알파벳과 대표알파벳에 부속된 부속순위를 조합하여 후속알파벳을 입력할 수 있도록 하는 것이었다. 예를 들어 도4-1 에서 "ㅋ = ㄱ+"로 입력할 수 있는 것이다.
첨자컨트롤처리와 후속알파벳컨트롤처리는 본질적으로 유사하며 후속컨트롤처리가 더 일반적인 것으로 보면된다. 첨자컨트롤처리의 경우도 특정 알파벳그룹에서 기본알파벳에 변형알파벳이 일정한 순서로 부속되어 있는 것으로 볼 수 있기 때문이다. 단 첨자컨트롤처리의 경우 변형알파벳이 첨자와 기본알파벳으로 분해될 수 있기 때문에, 알파벳 그룹이 그 모양에 있어서 강한 연관을 가지고 있는 경우인 것이고 후속컨트롤은 그 순서 혹은 발음 등에 있어서 강한 연관을 가지고 있는 경우이다.
컨트롤처리방법을 적용하는 장점은 기본알파벳과 후속알파벳(혹은 변형알파벳)과의 연관관계를 통하여 후속알파벳(혹은 변형알파벳)을 키패드상에 표시하지 않음으로, 키패드의 배치를 단순화 시킬 수 있는 것과, 컨트롤처리를 통하여 모호성없이 알파벳을 입력할 수 있는 것이었다. 후속알파벳을 생략하여 단순화한 키패드를 "후속키패드"라 하였고, 변형알파벳을 생략하여 단순화한 키패드를 "간략키패드"라 하였고 양자를 합하여 "간략화키패드"라 하였다. 후속알파벳(혹은 변형알파벳)을 모두 표시한 키패드를 간략화키패드에 대비하여 "전체표시키패드"라 하였다.
전체표시키패드에서도 컨트롤처리방법을 통하여 후속알파벳(혹은 변형알파벳)을 입력할 수 있다고 하였고, 반대로 간략화키패드에서도 전체표시키패드의 배치를 기억하고 있는 사용자는 전체표시키패드에서의 입력방법을 이용할 수 있다고 하였다. 이렇게 간략화키패드를 확장하여 전체표시키패드를 구성할 수 있고, 전체표시키패드에서도 사용자의 편리에 따라 컨트롤처리방법을 통하여 후속알파벳을 입력할 수 있는 호환성이 선출원의 특징 중의 하나였다.
컨트롤처리방법을 적용하는 효과 중의 하나는, 모호성을 제거할 수 있는 효과 이외에도, 선출원에서 보여준 바와 같이 대표알파벳과 후속알파벳과의 연관관계를 통하여 후속알파벳을 키패드상에 표시하지 않고 "은닉"함으로써, 키패드를 단순화할 수 있는 것이다. 이를 편의상 "은닉형 컨트롤처리방법"이라고 부른다.
그러나 선출원에서 언급한 바와 같이 후속알파벳(혹은 변형알파벳)을 키패드상에 표시한 전체표시키패드에서도 후속알파벳을 컨트롤처리방법을 통하여 입력할 수도 있다. 이를 편의상 "비은닉형 컨트롤처리방법"이라고 부른다.
본 발명은 출원인의 선출원(출원번호 10-2000-0031879 및 PCT/KR00/00601)의 연장선상에서 개선사항을 제시한다. 또한 단축입력방법에 의하여 상용어구를 적은 타수로 입력할 수 있는 방법을 제시하고, 단축입력방법과 풀입력방법을 병행하는병행입력방법을 적용하여 원하는 알파벳을 모두 입력할 수 있으면서도, 입력타수를 줄여 입력의 편리도를 향상시킬 수 있는 방법을 제시한다. 그리고 각종 기호를 기 제시한 키패드에서 입력할 수 있도록 하는 방법을 제시하고, 이동버튼 중 알파벳입력모드에서 빈번히 사용되지 않는 이동버튼을 컨트롤버튼으로 활용할 수 있는 방법을 제시한다.
본 발명의 특성상 구체적인 예를 들어 설명하는 것이 필수적이기 때문에, 상세한 내용을 실시예를 통하여 설명한다.
먼저 각 언어별로 선출원의 내용을 보완하면 다음과 같다. 이하에서 어느 한 언어에서 언급하는 내용중 타 언어에 적용할 수 있는 내용은 타 언어에서 특별히 언급하지 않아도 이를 타 언어에 적용할 수 있음은 자명하다.
[실시예]
먼저 각 언어별로 선출원의 내용을 보완하면 다음과 같다. 이하에서 어느 한 언어에서 언급하는 내용중 타 언어에 적용할 수 있는 내용은 타 언어에서 특별히 언급하지 않아도 이를 타 언어에 적용할 수 있음은 자명하다.
1. 공통 보완 사항
1.1 선출원 및 본 발명에서의 키페드의 활용범위
선출원 및 본 발명에서 제시한 키패드는 이동단말기 혹은 표준키보드의 숫자키패드 혹은 스크린상에 소프트웨어적으로 구성되는 키패드 혹은 도어록 등 전화기자판 형태의 모든 분야에 응용될 수 있음은 자명하다. 또한 표준키보드에 구비된 숫자키패드는 선출원 및 본발명에서 제시한 키패드와 숫자 버튼의 배치가 다르나,선출원 및 본 발명에서의 키패드 버튼상의 배치를 키보드에 구비된 키패드에도 적용할 수 있음은 자명하다. 예를 들어 선출원 및 본 발명에서 [1] 버튼에 배치된 알파벳을 키보드에 구비된 숫자 키패드의 [1] 버튼에 배치하고, 이하 마찬가지 방법으로 배치하여 알파벳입력, 심플코드의 활용 및 각종 코드의 암기용으로 활용할 수 있다.
1.2 연타지연시간 및 이타(離打)지연시간의 설정
한국어, 힌디어 등과 같이 자음과 모음이 번갈아 등장하는 언어에 있어서, 대표자음과 대표모음의 쌍을 각 버튼에 배정하고, 자음은 1 타 모음은 2 타로 선택하는 방법을 적용함에 있어서, 일정 지연시간(예를 들어 0.1 초) 간격 이내에 입력된 동일버튼 2 타를 1 차적으로 모음으로 인식하도록 알고리즘을 구현하면, 사용자에 거부감을 줄이면서 효율적으로 구현이 가능하다. 이 지연시간은 같은 버튼을 연속적으로 누르는 경우 보편적으로 일정시간 눌러지는 시간간격을 고려하여 결정되어야 할 것이다. 이러한 지연시간을 편의상 "연타지연시간"이라고 부른다.
더불어 일정 지연시간(예를 들어 1 초) 간격 이상으로 입력된 동일버튼 2 타를 1 차적으로 2 개의 자음으로 인식하도록 구현할 수 있다. 이러한 지연시간을 편의상 "이타(離打)지연시간"이라고 부른다. 이는 동일버튼을 3 타 이상 누르는 경우에도 적용될 수 있다.
예를 들어 도 4-1 혹은 도 4-2 에서 [1] + [1] 이 만약 0.08 초의 지연시간을 가지고 입력되었을 경우, 이를 모음 "ㅗ"로 1 차적으로 인식하고, 만약 1.1 초 지연시간을 가지고 입력되었을 경우 1 차적으로 2 개의 자음("ㄱ", "ㄱ")으로 인식하는 것이다. 만약 0.5 초의 시간지연을 가지고 입력되었을 경우는, 해당언어의 자음과 모음의 출현구조를 통하여 하나의 모음이 입력된 것인지 혹은 두개의 자음이 입력된 것인지를 판단할 수 있다. 또한 0.08초 혹은 1.1 초의 지연시간으로 입력되었을 경우에도, 해당언어의 자음과 모음의 출현구조를 통하여 하나의 모음이 입력된 것인지 혹은 두개의 자음이 입력된 것인지를 판단할 최종적으로 판단할 수 있다.
기존에는 일정 시간간격(예를 들어 1 초) 한가지만을 설정하여, 해당 시간 이내에 동일버튼이 연속하여 입력되면 연속 2 타로, 해당 시간 이상 지연되어 동일버튼 2 타가 입력되면 각기 1 타씩으로 인식하도록 되어 있었다. 차이는 연속 2 타로 판단하는 기준 시간지연값(예. 0.1 초)과 각기 1 타씩으로 판단하는 시간지연값(예. 1 초)을 다르게 둔 것이다.
보통의 경우 선출원의 부분전체선택방법과 반복선택방법중 입력의 편리도 면에서 반복선택방법이 우수하다고 볼 수 있다. 따라서 이는 반복선택방법의 장점(입력규칙의 단순성과 편리성)을 활용하면서, 자음과 모음이 번갈아 출현하는 특정언어의 구조를 이용하여 모호성을 대폭회피할 수 있는 것을 의미하며, 연타지연시간과 이타지연시간을 각각 다르게 설정하고, 사용자로 하여금 지정할 수 있도록 함으로써, 알고리즘의 구현을 단순화할 수 있는 장점이 있다.
1.3 체인형 컨트롤처리방법
선출원에서 첨자컨트롤처리방법은 본질적으로 후속컨트롤처리방법과 같으며 후속컨트롤처리방법이 더 일반적인 방법이라고 하였다. 즉 선출원의 한국어의 예에서 ㄱ, ㅋ, ㄲ 의 관계를 대표알파벳과 변형알파벳의 관계로 설명하여, ㅋ = ㄱ+{격음}, ㄲ = ㄲ+{경음}으로 설명하였으나, ㄱ(대표알파벳), ㅋ(2nd), ㄲ(3rd)와 같이 대표알파벳과 후속알파벳의 관계로 두어도 결과는 마찬가지이기 때문이다.
도 2-1 의 일본어의 경우, 후속컨트롤처리방법에 의한 입력예를 다시 보이면다음과 같다. あ(대표알파벳), い(2nd), う(3rd), え(4th), お(5th) 와 같이 대표알파벳과 후속알파벳의 관계를 두고, あ 를 [1] 버튼 1 타로 선택(あ=[1])할 수 있으며,2nd,3rd,4th,5th 컨트롤을 임의의 컨트롤버튼(예.)에 두고 버튼의 누름횟수에 따라 반복선택하여 대표알파벳과 후속알파벳의 조합으로 후속알파벳을 입력할 수 있다. 편의상 컨트롤을 선택한 상태를 중괄호로 표기하여 예를 들면, 컨트롤 후 입력을 적용시, あ=[1], い = あ{2nd}=[1]+, う = あ+{3rd}=[1]+, え = あ+{4th} = [1]+, お = あ+{5th} = [1]+와 같이 되는 것이다.
여기서 다시 あ(대표알파벳), い.(2nd), う(3rd), え(4th), お(5th) 와 같이 대표알파벳과 후속알파벳의 관계를 두되, 컨트롤버튼에 후속컨트롤을 배치하고 반복선택방법으로 선택하는 것으로 하지 않고, 단지 "후속" 혹은 "다음" 컨트롤을 특정컨트롤버튼(예.)을 한번 눌러 선택할 수 있도록 하고,2 차후속알파벳(예. い)을 입력시 대표알파벳과 "다음컨트롤"의 조합으로 입력하고(즉 い = あ+{다음} = あ+),3 차후속알파벳 え 입력시 선행알파벳(2 차후속알파벳)을 3 차후속알파벳에 대한 새로운 대표알파벳(2 차대표알파벳)으로 간주하여 2차후속알파벳과 "다음컨트롤"을 조합하여 입력할 수 있다. 즉 う = い+{다음} = [1]+이 되는 것이다. 마찬가지로 4 차후속알파벳 え 입력시 바로 앞의 선행알파벳(3 차후속알파벳) う 를 4 차후속알파벳에 대한 새로운 대표알파벳(3 차대표알파벳)으로 간주하여 え 입력시 え = う+{다음}=[1]+와 같이 입력할 수 있다. 5 차후속알파벳에 대해서도 마찬가지이다.
이 결과는 컨트롤버튼에 부속순위 컨트롤(2nd,3rd,4th,5th, ...)을 배치하고 이를 반복선택방법에 의하여 선택하도록 하면서, 대표알파벳과 부속순위컨트롤을 조합하여 입력하는 것이나 같은 결과이다. 여기서 1 차대표알파벳 あ 를 모호성 없이 선택할 수 있으면,2 차후속알파벳 い 도 모호성 없이 입력할 수 있는 것을 쉽게 알 수 있으며, 나머지 후속알파벳에 대해서도 같다. 즉 え = い+{다음}=[1]+와 같이 되는데, い 를 모호성없이 입력할 수 있었고, い 역시 "다음 컨트롤"과 조합되는 형태이므로 결과적으로 모호성 없이 후속알파벳인 え를 입력할 수 있는 것이다.
이렇게 대표알파벳과 후속알파벳의 연관관계에서, 컨트롤버튼에 부속순위컨트롤을 두지않고,"다음" 컨트롤 하나만 둔 것으로 하고, 후속알파벳 입력시 선행알파벳을 새로운 대표알파벳으로 간주하여 이 선행알파벳과 "다음" 컨트롤을 조합하여 입력하는 방법을 편의상 "체인형 후속컨트롤처리방법"이라고 부른다.
선출원에서 부속순위컨트롤을 후속컨트롤버튼상에 표시하지 않아도, 사용자는 특정 버튼이 후속컨트롤버튼인 것을 인지하고 있으면 된다고 하였으나, 이러한 체인형 후속컨트롤처리방법의 장점은 "다음 컨트롤"을 컨트롤버튼상에 표시하더라도 그 표시가 간략해 질 수 있는 것이다. 본 발명에서는 선출원에서 설명한 "후속컨트롤처리방법"과 "체인형 후속컨트롤처리방법"의 결과가 같으므로 이를 혼용하여 사용한다.
1.4 건너뛰기 컨트롤처리방법
첨자컨트롤처리방법에서 "..+e" 로 이루어진 변형알파벳을 입력함에 있어서 이를 .. 과 e 를 각각 조합하여 입력할 수 있음을 보였다. 혹은 e 를 기본알파벳으로 두고 이와 모양 혹은 순위 등에서 연관성을 가지고 있는 나머지 부속된 알파벳을 후속알파벳으로 두어, 부속순위와 기본알파벳의 조합으로 입력할 수도 있었다(예를 들어 e(기본알파벳),(2nd),(3rd),...). 또한 이렇게 알파벳(즉 특정숫자버튼)과 조합하여야만 의미를 가질 수 있는 컨트롤들이 배치되는 컨트롤 버튼은 반복적으로 사용하여도 모호성 없이 변형알파벳 혹은 후속알파벳을 입력할 수 있었다.
로마자의 경우 프랑스어에서 11개()의 변형알파벳이 사용되며, 변형알파벳에 사용된 윗점의 종류는 5가지() 이다. 첨자컨트롤의 선택순서를로 하였을 경우,로 입력하여야 한다. 그러나, 프랑스어에서 알파벳 a 에는 첨자 "'"와 "^"의 두가지 밖에 결합할 수 없으므로, 첨자 "/" 가 붙을 수 없고, 이를 건너뛰어 결합이 가능한 첨자 "^"이 선택되도록 하면,로 입력할 수 있다. 이를 편의상 "건너뛰기 컨트롤처리방법"이라 부른다. 즉 이는 a(기본알파벳),'a(2nd),^a(3rd) 와 같이 후속알파벳의 부속순위를 두고 컨트롤처리방법으로 후속알파벳(혹은 변형알파벳)을 입력하는 것과 같다.
마찬가지로 일본어에서 장음이 존재하는 행은 あ행, や행의 알파벳과 た행의 알파벳 중 つ 뿐이고, 탁음이 존재하는 행은 か행, さ행, た행, 행의 알파벳 뿐이고, 반탁음은 오직 ほ행의 알파벳에만 존재한다. 결국, 알파벳 つ 에는 장음과 탁음의 2가지 변형알파벳이 존재하고, 행의 알파벳에는 탁음과 반탁음의 2가지 변형알파벳이 존재하는 것을 알 수 있다. 따라서,2가지 변형알파벳이 존재하는 6개의 알파벳을 제외한 나머지 알파벳의 변형알파벳 입력시 첨자컨트롤버튼을 1번 누름으로써 가능하도록 할 수 있다. 예를 들어, 컨트롤버튼을버튼으로 두고, 컨트롤 후입력을 적용시, あ = あ+, が = か+와 같이 할 수 있는 것이다. 2가지 변형알파벳이 존재하는 6개의 알파벳의 경우 변형알파벳 입력시는 변형알파벳의 사용빈도순으로 컨트롤이 선택되도록 할 수 있다. 예를 들어, 예를 들어, 컨트롤버튼을버튼으로 두고, 컨트롤 후입력을 적용시 つ = つ+, つ = つ++, ぼ = ほ+, ぽ = ほ+, ぽ= ほ++와 같이 할 수 있는 것이다. 즉 이는 컨트롤 선택에 있어서, 기본알파벳과 결합할 수 없는 컨트롤은 그 효력을 발생시키지 않도록 하는 것이다. 예를 들어 が = か+로 하여도이 장음컨트롤이 아닌 탁음컨트롤을 선택한 것으로 처리할 수 있는 것은 컨트롤과 결합되는 기본알파벳 か에는 장음이 없으므로 장음컨트롤을 선택한 것으로 하지 않고, 건너뛰어 탁음컨트롤을 선택한 것으로 하기 때문이다.
컨트롤의 선택을 엄격하게 적용할 경우의 장점은 실제로 사용되지 않는 알파벳의 입력도 가능하도록 할 수 있는 것이다. 예를 들어 프랑스어 알파벳 b에 첨자 ".." 이 붙은 알파벳은 존재하지 않으나, 이러한 알파벳의 입력도 가능하도록 할 수 있으며, 일본어 알파벳 あ에 탁점이 붙은 알파벳은 존재하지 않으나 그러한 알파벳도 입력이 가능하도록 할 수 있는 것이다.
컨트롤을 반복선택방법으로 선택하더라도 컨트롤처리를 통하여 입력시, 자판에 표시된 대표알파벳을 모호성 없이 입력할 수 있으면(예를 들어 자판에 표시된 대표알파벳이 하나뿐이거나 다수이어도 부분전체선택방법 등 모호성 없는 방식을 적용할 경우), 나머지 후속알파벳도 모호성 없이 입력될 수 있다. 이는 컨트롤처리를 통하여 모호성이 제거되기 때문인데, 컨트롤은 단독으로 특정 알파벳을 나타내지 못하고, 다른 알파벳과 결합하여야 하기 때문인 점에 기인한다.
1.5 숫자 및 영어 알파벳의 컨트롤처리방법에 의한 입력
선출원에서 제시하였던 바, "기준격자에 가까운 순서"로 자국어 알파벳을 배치하고, 다음으로 숫자 그리고 영어알파벳을 배치할 수 있음을 설명하였고, 기준반복선택방법 적용시 역시 기준격자에 가까운 순서로 이를 자국어 알파벳, 숫자가 선택되도록 할 수 있음을 설명하였다. 마찬가지로 후속컨트롤처리방법을 적용함에 있어서, 특정버튼에 속한 자국어 알파벳 뿐만아니라, 숫자, 영어알파벳(로마자 계열언어가 아닌 경우)도 후속컨트롤처리방법을 통하여 입력할 수 있다.
숫자 혹은 영어알파벳을 자국어 후속알파벳에 이어 후속알파벳으로 둘 수도 있다. 편의상 일본어의 경우를 예로 들면, あ(대표알파벳), ぃ(2nd), う(3rd),え(4th), お(5th), 1(6th),.(7th),q(8th),z(9th) 와 같이 둘 수 있는 것이다. 또한 숫자 혹은 영어알파벳을 컨트롤처리하기 위한 가용한 버튼이 있다면, あ(대표알파벳), ぃ(2nd), ぅ(3rd), え(4th), お(5th) 를 위한 컨트롤버튼을 임의의 버튼(예를 들어버튼)으로 두고, 다른 버튼(예를 들어 [#] 버튼)을 숫자 혹은 영어알파벳을 위한 버튼으로 두어 あ(대표알파벳), 1(2nd), .(3rd), q(4th), z(5th) 의 관계를 두어 숫자 혹은 영어 알파벳을 입력할 수 있다. 예를 들어 1 = あ+[#]=[1]+[#],.= あ+[#]+[#]=[1]+[#][#]+[#], q = あ[#]+[#]+[#] = [1]+[#]+[#] 과 같이 된다. 컨트롤버튼이 가용하다면, 숫자입력을 위한 컨트롤버튼 그리고 영어알파벳을 위한 컨트롤버튼을 별도로 둘 수도 있다.
이는 타 언어에 있어서도 적용될 수 있고, 후술하는 각종 기호의 입력에도 적용될 수 있다.
1.6 영어알파벳의 발음에 따른 그룹핑
선출원에서 각 언어의 키패드를 구성함에 있어서, 컨트롤처리방법의 적용 및 암기용으로의 사용을 고려하여, 유사 발음군으로 알파벳을 그룹핑하여 각 숫자버튼에 배정하였다. 영어의 경우 현재 사전순서에 따라 3 혹은 4 개씩 알파벳을 그룹핑하여 각 그룹을 각 숫자버튼에 배정한 방법이 널리 사용되고 있으나, 마찬가지로 발음의 유사성을 고려하여 그룹핑하고 각 숫자버튼에 배정하는 것이 가능하다. 다음은 발음의 유사성에 따라 영어의 자음을 9 개의 그룹으로 그룹핑한 몇가지 사례이다.
BP/CSX/DT/FVH/GKQ/JZ/LR/MN/WY
BPV/CSX/DT/FH/GKQ/JZ/LR/MW/NY
영어의 자음을 8개 그룹으로 그룹핑한 사례를 들면 다음과 같다.
BFPV/CGKQ/SX/DT/JZ/LR/MWH/NY
BFPV/CGKQ/SX/DT/JZ/LR/MN/WYH
위의 사례 이외에 많은 변형이 가능하다. 5 개의 모음은 2 개씩 그룹핑된 그룹에 적절히 넣으면 된다. 이는 추후 설명하는 심플코드를 이용한 단축입력방법 적용시 편리를 줄 수 있다. 비영어권 언어의 경우, 이렇게 그룹핑된 영어 알파벳을 각 버튼에 배정함에 있어서, 자국어 발음군과의 유사성을 고려하여 배정할 수 있다. 예를 들어 한국어의 경우 G, K, Q 그룹을 발음이 유사한 알파벳 "ㄱ"이 배정된 버튼에 배정하는 것이다. 일본어의 경우 G, K, Q 그룹을 발음이 유사한 알파벳 "か" 가 배정된 버튼에 배정하는 것이다. 따라서 영어알파벳의 그룹핑에 있어서도, 각 언어의 자국어 알파벳 그룹핑을 고려하여 그룹핑할 수 있다.
2. 각 언어별 보완사항
이하에서 각 언어별로 선출원의 내용을 보완하고 발전된 사항을 기술하면 다음과 같다. 각 언어별 보완사항에서 기술된 내용중에도 어느 한 언어에서 설명한 내용이 타 언어에 적용될 수 있는 경우, 이를 특별히 지적하지 않아도 타 언어에서 적용될 수 있음은 자명하다.
2.1 영어
선출원에서 전체표시키패드에서 컨트롤처리방법을 통하여 후속알파벳을 입력할 수 있는 것처럼, 영어의 경우에도 대표알파벳 이외의 알파벳을 자판상에 표시하고도 컨트롤처리를 통하여 입력하는 것이 가능하다. 영어의 경우 후속컨트롤(2nd, 3rd)들은 같은 컨트롤버튼상에 배치될 수도 있고(예를 들어 [#] 버튼), 각각을 다른 버튼에 분리하여 배치할 수도 있다(예를 들어,[#] 버튼). 영어의 경우에 ABC 가 하나의 버튼에 배치되어 있을 때, A 를 대표알파벳으로 하면 B, C 가 각각 후속컨트롤처리를 통하여 입력이 되고, B를 대표알파벳으로 하면,A,C가 각각 후속컨트롤처리를 통하여 입력되는 것이다. 선출원에서 언급한 바와 같이 대표알파벳과 후속알파벳의 부속순위는 사용빈도 등을 고려하여 정해질 수 있다.
예를 들어 A,B,C 그룹에서 A를 대표알파벳으로 하고, 2nd, 3rd 컨트롤을버튼에 두고, 컨트롤 후 입력을 적용하면, B = A+{2nd} = [2]+, C = A+{3rd} =[2]++이 된다. 만약 B 를 대표알파벳으로 하고, 2nd, 3rd 컨트롤을 각각버튼과 [#] 버튼에 두고, 컨트롤 후 입력을 적용하면, A = B+{2nd} = [2]+, C = B+{3rd} = [2]+[#] 이 된다. 도1-2는 더욱 알파벳의 식별성을 용이하게 하기 위하여 각 그룹의 알파벳 중 중앙의 알파벳을 대표알파벳으로 하여 중앙에 두고 좌우에 각각 후속알파벳을 배치한 사례이다. D=E+{2nd}=[3]+이 된다.
이렇게 대표알파벳만을 대표알파벳이 속한 버튼 1 타로 입력하고 나머지 알파벳을 컨트롤처리방법에 의하여 입력하는 것을 편의상 "대표알파벳제외 컨트롤처리방법(CPMERC : Control Processing Method Except Representative Chanracter)"라고 부르기로 한다.
또한 P,Q,R,S 4개 알파벳이 [7] 버튼에 배정되고,W,X,Y,Z 4개의 알파벳이[9] 버튼에 배정되는 경우, 선출원의 한국어의 실시예에서 지적한 바와 같이, 4개의 알파벳 중 한 개의 알파벳을 상하인접조합을 이루는 격자에 배치하여 부분전체선택방법을 적용할 수 있다. 도1-3을 참고한다.
2.2 일본어
선출원에서 일본어의 경우에 있어서, 50음도를 기준으로 알파벳을 그룹핑하고, あ단의 알파벳(あ, か, さ, ...)을 대표알파벳으로 하고 나머지 알파벳을 후속알파벳으로 하여 후속컨트롤처리할 수 있음을 선출원에서 밝혔다. 선출원에서 제시한 후속알파벳의 부속순위를 적용함에 있어서 선출원의 방법 3 과 거의 유사하게 다음의 표와 같이 50 음도표를 단순히 적용할 수도 있다. 이는 부속순위의 단순성으로 사용자에 친근감을 줄 수 있다. ん은 선출원에서와 마찬가지로 임의의 대표알파벳에 부속된 것으로 간주하여 처리할 수 있다. 또한 や행 혹은 わ행의 비어있는 곳에는 50 음도의 알파벳(예를 들어, ぃ, う, え)이 부속되어 있는 것으로 혹은 ん이 부속되어 있는 것으로 간주할 수도 있다.
선출원에서 일본어의 경우에 편의상 가장 대표성을 가진다고 볼 수 있는 1 번째 단의 알파벳을 대표알파벳으로 하였는데, 이 역시 임의의 단의 알파벳을 대표알파벳으로 할 수도 있고, 각 그룹에서 임의의 알파벳을 대표알파벳으로 할 수도 있다. 또한 각 행의 알파벳을 그룹으로하여 각 버튼에 배정함에 있어서도, 선출원에서 언급한 바와 같이 키패드상 버튼의 행을 기준([1],[2],[3],[4],...)으로 배정할 수도 있고, 열을 기준([3],[6],[9],[2],[5],...)으로 배정할 수도 있다. 마찬가지로 행을 기준으로 혹은 열을 기준으로 배정하지 않고, 임의로 배정할 수도 있다.
또한 선출원의 일본어의 예에서 "ん"을 [0]버튼의 기준격자위치에 두고,버튼과 [#] 버튼에 각각 2nd, 3rd 그리고 4th, 5th 컨트롤을 둔 경우,[0] 버튼을 장음/탁음/반탁음 입력을 위한 컨트롤버튼으로 활용하기 위하여, "ん"을 [0]버튼이아닌 임의의 숫자버튼에 배정된 것으로 가정하였던 바 있다. 그러나 이 경우는 [0]버튼의 기준격자 위치에 "ん"을 두고, 기준격자에 가까운 순서로 장음/탁음/반탁음 컨트롤을 추가적으로 배치하고 컨트롤 선택에 반복선택방법을 적용하여도 된다.
왜냐하면 "ん"은 한개의 단어에서 연속하여 등장하는 경우가 없기 때문이다. 도 2-1 를 참고한다. 이렇게 연속하여 등장하지 않는 알파벳을 해당 알파벳이 배치된 버튼 1타에 선택하도록 하고,2타,3타,... 에 다른 컨트롤들을 선택할 수 있도록 하는 것은 다른 모든 언어의 경우에도 적용될 수 있다. 후술하는 한국어의 모음요소를 활용한 방법에서도 이러한 성질을 활용하고 있다.
2.3 아랍어
아랍어에는 28 개의 자음이 존재한다. 선출원에서 숫자의 의미를 가지는 아랍어 자음을 다음과 같이 그룹핑하고 키패드 버튼상에 배정하고, 각 알파벳을 가장 작은 숫자의 의미를 가지는 알파벳을 각 그룹의 대표알파벳으로 하여 기준격자의 위치에 배치하고 나머지 알파벳을 작은 숫자의 의미를 가지는 알파벳으로부터 기준격자에 가까운 순서(선출원에서 설명)로 키패드상에 배치하는 방안을 제시한 바 있다. 또한 선출원에서 일본어, 로마자계열 언어, 한국어, 인도어, 아랍어 등의 경우에 컨트롤 처리에 의하여 알파벳을 입력하는 방법을 제시한 바 있다.
아랍어의 경우에 있어서도, 별로 사용되지 않는 모음을 첨자로 간주하여 첨자컨트롤처리하는 방법을 제시한 바 있다.
여기서는 아랍어의 자음을 컨트롤처리(후속컨트롤처리)하는 방법을 제시하고자 한다. 다음은 선출원에서 아랍어의 자음을 그룹핑하고 각 버튼에 배정한 예이다.
[1] 버튼에 배정된 1, 10, 100의 의미를 가지는 알파벳 중 1의 의미를 가지는 알파벳을 대표알파벳으로 하여 키패드상 표시하고 나머지 10, 100의 의미를 가지는 알파벳을 후속컨트롤처리할 수 있다. 컨트롤버튼은 선출원에서와 같이 임의의 버튼을 사용할 수 있다. 후속컨트롤버튼을버튼을 사용하고, 2nd,3rd컨트롤을 배치할 경우, 자음 입력에 있어서 평균 입력타수는 2 타가 된다. 버튼당 하나의 알파벳만이 배치되므로 버튼에 표시된 알파벳을 선택함에 있어서는 부분전체선택방법으로 선택할 필요는 없다. 알파벳의 배치는 개념적인 것이므로 다음에 설명하는 바와같이 키패드상에 알파벳을 배치하지 않을 수도 있다.
다시 선출원의 일본어의 경우처럼 후속컨트롤을 다른 버튼으로 분리할 수 있다. 예를 들어 [#] 버튼에 3rd컨트롤 분산하여 배정한다면, 평균입력타수 약 1.7 타((1+2+2)/3)가 되며 28 개 자음을 선출원에서 제시한 바와 같이 모호성 없이 입력할 수 있게 된다.
본 출원에서는 각 단위의 알파벳의 사용빈도와 상관없이 숫자의 의미가 적은 알파벳을 각 그룹의 대표알파벳으로 하고 나머지 단위의 알파벳에 있어서도, 적은 숫자의 의미를 가진 알파벳을 먼저 선택할 수 있도록 하는 예를 보인다. 컨트롤은 선입력 혹은 후입력될 수 있다.
후속컨트롤을 모두버튼에 배치하고, 1 단위의 알파벳을 대표알파벳으로 하고, 10 단위알파벳 선택시 컨트롤 버튼 선입력을 적용하면,가 되고,가 된다. 나머지 알파벳에 대해서도 동일하다. 이 경우 [#]버튼을 모음컨트롤처리를 위해 사용할 수도 있다.
1000 의 의미를 가지는 알파벳 하나만을 [0] 버튼에 배치하면,입력시= [0] 이 된다. 1000의 의미를 가지는 알파벳을 1 그룹알파벳으로 처리할 수도 있다. 이 경우가 될 것이다. 혹은 1000의 의미를 가지는 알파벳이 70 의 의미를 가지는 알파벳()에 윗점이 붙은 형태이므로, 윗점컨트롤을각종 모음컨트롤에 앞서 선택되도록 하여 컨트롤처리하는 것도 가능하다.
즉 윗점컨트롤 선입력시= {윗점컨트롤} +로 입력할 수 있는 것이다. 윗점이 붙어 이루어진 다른 알파벳에도 이러한 윗점컨트롤처리를 다른 입력방법과 병행하여 허용할 수 있다. 이 경우 [0] 버튼을 다른 용도의 컨트롤버튼(예를 들어 모음컨트롤버튼)으로 활용하는 것이 용이하게 된다.
만약 컨트롤을 분리하여 3rd컨트롤(여기서는 100 단위컨트롤)을 [#] 버튼으로 하면 200의 의미를 가지는 알파벳= [#]+가 된다. 이 경우도 선출원의 일본어의 경우와 같이입력시,을 병행하여 허용할 수 있다. 1000 의 의미를 가지는 알파벳을 1 그룹알파벳에 속하게 할 경우, 경우혹은=[#]+[#]+가 된다. 즉버튼에 2nd, 3nd, 4th컨트롤이 배치되어 있는 것으로 그리고 [#] 버튼에 3rd, 4th컨트롤이 배치되어 있는 것으로 생각하면 된다. 아랍인들이 우에서 좌로 가로쓰기를 하는 점을 고려하여, 즉 [#] 버튼에 2nd,3rd,4th컨트롤을 배정하고,버튼에 3rd,4th컨트롤을 배치하는 것도 가능하다.
이는 아랍어에 있어서, 주로 사용되는 자음을 평균 약 1.7 타에 모호성 없이 입력할 수 있는 의미가 있고, 또한 아랍인들은 자국어 알파벳이 가지고 있는 숫자의 의미를 알고 있으므로, 굳이 키패드상에 알파벳(예에서, 1 단위알파벳 즉 대표알파벳)을 표시하지 않고도, 알파벳을 입력할 수 있는 매우 큰 장점이 있다. 다시 말하면, 숫자만이 표시된 키패드를 통하여 본 출원에서의 방법을 적용시, 대표알파벳이 어느 단위의 알파벳 인지, 컨트롤버튼이 어느 단위의 알파벳을 위한 컨트롤버튼인지, 후속컨트롤이 하나의 컨트롤버튼을 사용한다면, 각 후속컨트롤의 선택순서는 어떤지, 컨트롤을 선입력하는지 등의 규칙만 숙지하면, 실제 생활에서 필요한 대부분의 알파벳(아랍어 자음)을 입력할 수 있는 것이다.
선출원에서 지적한 바와 같이 모음을 역시 컨트롤처리할 수 있는데, [#]과을 모두 자음컨트롤처리를 위해 사용하는 경우, 선출원의 일본어에서와 같이 1000 의 의미를 가지는 알파벳을 [0] 버튼에 배치하지 않고, [1] 버튼에 배치하여 컨트롤 처리하여, [0]버튼을 모음처리용 컨트롤 버튼으로 지정하고 반복선택방법에 의해 첨자형태의 모음(모음컨트롤, 첨자컨트롤)을 선택할 수 있다. 방법은 마찬가지로 사용빈도순으로 버튼의 누름횟수에 따라 모음컨트롤(첨자형태의 모음)이 선택되는 것이다. 자음용 후속컨트롤버튼으로하나만 사용된다면, 모음용 컨트롤버튼으로 [#]을 사용할 수도 있고,[#]과 [0]을 모두 사용할 수도 있다.
도3-1, 도3-2의 예시에서는 1 ∼ 9의 의미를 가지는 알파벳(1단위 알파벳)을 각 그룹의 대표알파벳으로 하였으나, 각 그룹에서 가장 사용빈도가 많은 알파벳을 대표알파벳으로 할 수도 있다. 그리고 혼동을 줄이기 위하여 1 단위알파벳(1 ∼ 9 의미를 가지는 알파벳), 10단위알파벳(10∼90의미를 가지는 알파벳), 100단위알파벳(100∼ 900 의미를 가지는 알파벳) 중 임의의 단위의 알파벳을 대표알파벳으로 할 수도 있다. 도 3~3 은 10 단위알파벳을 대표알파벳으로 하여 각 그룹의 중앙에두고 나머지 좌우에 배정된 알파벳(100 단위알파벳, 1 단위알파벳)을 좌우측에 배정된 컨트롤버튼을 이용하여 컨트롤처리방법에 의하여 입력하는 사례이다.
마찬가지로 후속컨트롤에 의하여 선택되는 알파벳도 사용빈도에 따른 각 단위의 알파벳으로 할 수 있다. 예를 들어 100 단위알파벳이 가장 사용빈도가 많아, 이를 대표알파벳으로 하고, 그 다음으로 1 단위알파벳이 사용빈도가 많다면, 2nd컨트롤(즉 여기서는 1 단위컨트롤)과 대표알파벳을 조합하여 입력할 수 있도록 하고, 10단위알파벳을 3rd컨트롤(즉, 10단위컨트롤)과 대표알파벳을 조합하여 입력할 수 있도록 하는 것이다.
선출원에서 전체표시키패드에서도 후속알파벳을 컨트롤처리방법을 통하여 입력하는 것이 가능하다고 하였으므로, 마찬가지로 선출원의 키패드에서도 자음을 후속컨트롤처리방법에 의하여 입력하고, 모음을 첨자컨트롤처리방법에 의하여 입력하는 것이 가능하다. 3*4 키패드 내에서, 모음용 첨자컨트롤버튼을 [0] 버튼으로 하면, 자음 입력을 위한 컨트롤버튼을버튼과 [#] 버튼에 분산하는 것이 가능하다.
2.4 한국어
2.4.1 각종 컨트롤의 적용
도4-1 ∼ 도4-3은 한국어의 기본자음과 기본모음을 쌍으로 각 버튼에 배정하고, 키패드상 표시된 기본자음과 기본모음을 반복선택방법에 의하여 입력하는 방법이다. 도 4-1 에서 격음, 경음 그리고 확장모음을 컨트롤처리방법에 의하여 입력하도록 하였고, 도 4-2 에서는 격음과 경음만을 컨트롤처리방법에 의하여 입력하도록 하였다. 도 4-3 은 격음, 경음, 기본모음, 그리고 확장모음을 컨트롤처리방법에 의하여 입력하도록 한 사례이다.
2.4.2 프로그램 구현
도 4-4 는 단지 구현을 위한 흐름도의 일례일 뿐이고 좀 더 효율적인 프로그래밍이 가능하다. 예를 들어 도 4-4 에서 받침의 자음부분이 왔을 경우 이중받침을 이룰 수 있는 자음인가를 앞서 체크함으로써, 약간 더 효율적인 구현이 가능하다.
선출원에서 제시한 한국어의 예는 유사한 특징(자음과 모음이 번갈아 출현하는 구조)을 가지는 타 언어에 있어서도 응용될 수 있다. 타 언어의 경우에는 타 언어의 자모출현 특성을 반영하면 된다.
예를 들어 기본자음과 기본모음의 쌍을 이용하여 힌디어 입력시스템을 구성하고자 하면, 힌디어의 특성을 반영하여 한국어의 경우와 유사하게 구현할 수 있으며, 힌디어의 경우 한국어의 경우보다 자음과 모음의 출현규칙이 간단하므로 더 쉽게 구현할 수 있다.
2.5 힌디어
출원인의 선출원에서 힌디어 자음을 9 개의 그룹으로 그룹핑하여 [1] ∼ [9]버튼에 배정함으로써, [0] 버튼에 배정된 모음은 [0]버튼 1 타로 선택하게 되는데, 일관성을 위하여 자음을 10 개의 그룹으로 그룹핑하고 항상 대표자음은 1 타로 선택되고 10개의 모음은 2타로 선택되도록 할 수 있다. 키패드상에 배치되지 않고 자주 쓰이지 않는 모음(ri)는 컨트롤처리방법에 의하여 처리할 수 있다. 자음을10 개의 그룹으로 그룹핑 하는데 있어서는 선출원에서 제시한 바와 같이 발음의 유사성을 고려하여 그룹핑하는 방법이 가능하다. 10 개의 그룹으로 그룹핑하는 일례를 들면 다음과 같다.
그리고 힌디어의 첫번째 모음(a) 는 자음과 자음 사이에서 생략될 수 있다고 한다. 즉 자음이 연속하여 나오게 되는 것이다 이러한 경우 "자음 ++ 자음" 으로 입력하더라도 "자음 +자음" 으로 표시되도록 하는 것은 매우 용이한 일이다. 물론 직접 "자음 + 자음"을 입력하는 것도 가능하나 이 경우 동일한 대표자음이 연속하여 선택되어 두개의 자음이 하나의 모음으로 인식될 수 있는 가능성이 많아진다. 따라서 양자(모음를 자동 생략 혹은 사용자가 생략 입력)를 모두 허용할 수 있다.
2.6 미얀마어
미얀마어에는 다음의 33 개 자음이 존재한다. 이를 힌디어의 예와 같이 9개의 그룹으로 그룹핑한 예를 보이면 다음과 같다. 10 개의 그룹으로 그룹핑하는 것도 유사한 요령에 의하여 할 수 있다.
3. 다차원 교차 컨트롤처리방법
도2-2는 위의 표에 의하여 "あ"단의 알파벳을 대표알파벳으로 하여 각 버튼에 사전순서로 배정한 사례이다. 선출원의 사례에서 2nd,3rd 컨트롤이 배정된 컨트롤버튼에 4nd,5rd 컨트롤이 추가로 배정될 수도 있었으나, 여기서는 입력타수를 최소화하고, 컨트롤버튼을 최대한 활용하기 위하여 2nd,3rd 컨트롤만을 배정한 사례를 보인다.
도2-2에서 후속알파벳을 입력하는 방법은 선출원에서 제시한 바와 같다.
예를 들어, 컨트롤 후입력 적용시 ぃ = あ+와 같이 된다. 다음으로 각 알파벳의 변형알파벳인 장음, 탁음, 반탁음을 입력하는 방법을 보인다. 도2-2에서 컨트롤버튼으로 가용한 버튼(버튼,[#] 버튼)이 모두 후속컨트롤버튼으로 사용되고 있는 상태이다. 따라서 변형알파벳을 위한 컨트롤버튼이 없는 상태이다. 그러나, 타겟알파벳의 기본알파벳이 후속알파벳인 경우 그 후속알파벳 입력후 후속컨트롤버튼으로 사용되지 않은 후속컨트롤버튼을 변형알파벳컨트롤버튼(이를 편의상 "반대편 컨트롤버튼"이라고 부름)으로 활용하여 입력할 수 있다.
예를 들어, ぃ = ぃ +"반대편 컨트롤버튼"= あ++[#], ご = こ +"반대편 컨트롤버튼"= か+[#]+[#]+과 같이 된다. 이는 い를 기본알파벳 い 의 변형알파벳으로 간주하여 컨트롤처리방법을 적용함에 있어서, い를 입력하기 위하여 후속컨트롤버튼으로 사용되지 않은 반대편 컨트롤버튼을 변형알파벳컨트롤버튼으로 활용하는 것으로 볼 수 있다. 예에서와 같이 여기서도 선출원의 건너뛰기 컨트롤처리방법을 적용할 수 있다. 이를 체인형 컨트롤처리방법의 관점에서 보면, 반대편 컨트롤버튼을 1번 누름으로써, 기 입력된 알파벳(예에서 こ)의 변형알파벳(예에서 ご)을 입력하기 위한 "다음 컨트롤"을 선택하는 것으로 볼 수 있다.
は행의 알파벳에는 변형알파벳이 탁음과 반탁음의 2가지가 있으므로 장음의 경우는 반대편 컨트롤버튼을 1번 누르고 반탁음의 경우는 반대편 컨트롤을 2번 누르도록 할 수 있다. 즉 ぶ = ふ +"반대편 컨트롤버튼"= は++[#], ぷ = ふ +"반대편 컨트롤버튼 2번누름"= は++[#]+[#] 과 같이 된다.
다음으로 타겟알파벳의 기본알파벳이 대표알파벳인 경우는 위의 방법을 그대로 적용할 수 없다. 이 경우 후속컨트롤버튼 중 임의의 버튼에 추가로 대표알파벳의 변형알파벳을 후속알파벳으로 두어 타겟알파벳을 입력하도록 할 수 있다.
예를 들어,버튼을 사용하여 대표알파벳의 변형알파벳(장음, 탁음, 반탁음)을 입력하는 경우 あ = あ+와 같이 된다. 즉 대표알파벳의 변형알파벳(장음, 탁음, 반탁음)을버튼을 이용하여 입력할 수 있는 4th 후속알파벳으로 간주하는 것이다. 이상의 내용을 정리하면 다음과 같이 된다.
이렇게 반대편 컨트롤버튼을 활용하여 컨트롤버튼의 용도를 확장하고, 더 많은 알파벳 혹은 기타의 입력에 활용하는 것을 편의상 "교차 컨트롤처리방법" 혹은 "지그재그 컨트롤처리방법" 혹은 "다차원 교차 컨트롤처리방법"이라고 부른다. 이는 3개 이상의 버튼을 컨트롤버튼으로 사용하는 경우에도 적용될 수 있다.
위의 표에서 첫번째 컬럼의 칸을 제외한 나머지 컬럼의 칸 역시 다른 알파벳 혹은 각종의 기호를 입력하기 위한 용도로 활용할 수 있음은 자명하다. 위의 예에서는 반대편 컨트롤버튼을 한번 적용한 것이다. 즉 ぷ 입력시 ぷ = ふ +"반대편 컨트롤버튼 2번누름"= は++[#][#] 와 같이 반대편 컨트롤버튼을 반복적으로 사용하여 후속컨트롤버튼으로 사용된버튼에 대하여 반대편 컨트롤버튼([#] 버튼)을 한번만 적용한 것이다. 이를 편의상 "2차원 교차컨트롤처리" 혹은 "2단계 교차컨트롤처리" 라고 한다.
즉 하나의 알파벳 입력을 위하여 하나의 컨트롤버튼만을 사용하는 경우 이를 "1차원 컨트롤처리"라고 할 수 있다. 이는 컨트롤버튼을 "1차원적"으로 사용한다고 볼 수 있는 것이다. 그런데 2차원 (교차)컨트롤처리방법에서는 하나의 알파벳 입력을 위하여 다른 컨트롤버튼이 2개 사용된다. 즉 ご 입력시ご 를 こ의 변형알파벳으로 간주하여, ご = こ +"반대편 컨트롤버튼"= か+[#]+[#]+으로 입력하였는데, 여기서 반대편컨트롤버튼은 이미 대표알파벳 か 의 1st,2nd 후속알파벳인 き, く를 입력하기 위한 컨트롤 버튼으로 정의되어 있었음에도, 마치 반대편 컨트롤버튼(버튼)을 こ의 변형알파벳 ご 를 입력하기 위한 변형알파벳 컨트롤버튼과 같이 활용할 수 있는 것이다. 이는 마치 하나의 알파벳 입력을 위하여 하나의 컨트롤버튼을 1차원적으로 사용하는 것에 비하여 2개의 컨트롤버튼을 "2차원적"으로 사용하는 것으로 볼 수 있다.
ぷ = ふ +"반대편 컨트롤버튼1번 누름"+"앞의 컨트롤버튼에 대하여 반대편 컨트롤버튼 1번 누름"= は++[#]+과 같이 입력할 수도 있다. 즉 ぶ 의 입력에 최종적으로 사용된 컨트롤버튼(예에서 [#] 버튼)을 반복적으로 사용하여 변형알파벳을 입력하는 것이 가용하지 않을 경우 마찬가지 방법으로 반대편 컨트롤버튼에 대한 반대편 컨트롤버튼을 다시 이용하여 다른 변형알파벳 혹은 후속알파벳을 입력할 수 있는 것이다. 이를 편의상 "3차원 교차컨트롤처리" 혹은 "3단계 교차컨트롤처리"라고 부른다. 이는 교차 컨트롤처리방법을 이용하여 키패드내에서 입력할 수 있는 알파벳 혹은 기타 알파벳 입력과 관련된 것들의 가능한 입력갯수를 무한히 확장할 수 있음을 의미한다. 더구나 선 입력된 알파벳과 관련성을 가진 후속알파벳 혹은 변형알파벳을 자연스럽게 컨트롤처리방법에 의하여 입력할 수 있는 큰 의미가 있다.
이상의 내용을 2가지의 변형알파벳(탁음, 반탁음)이 존재하는 は 행의 예를 들어 그래프의 형태로 설명하면 도2-3과 같다. 도2-3에서 흐린 색으로 동그라미에 "..."으로 표시된 것은, 위의 표에서 빈 공간에 다른 알파벳 혹은 기호를 입력하는데 이용할 수 있는 것과 마찬가지로, 만약 필요시 추가로 입력하고자 하는 것(알파벳 혹은 기호)를 다차원 컨트롤처리방법에 의하여 입력하게 할 수 있음을 의미한다. 도2-3에서버튼과 [#] 버튼은 각기 직각 방향으로 사용되고 있다.
선출원에서버튼에 50음도의 알파벳 중 대표알파벳이 아닌 2nd,3rd,4th,5th 컨트롤을 배정하고,버튼을 장음, 탁음, 반탁음 등의 변형알파벳을 입력하기 위한 컨트롤버튼으로 활용하는 방법과 비교해 보면 선출원의 방법에서도 2차원 컨트롤처리가 적용되고 있음을 알 수 있다. 즉 い = い+{변형} = い++[#]으로 입력되는데 2개의 컨트롤버튼이 사용되기 때문이다. 차이는 선출원에서는 컨트롤버튼의 용도가 후속컨트롤(2nd,3rd,4th,5th)버튼으로만 그리고 변형알파벳(장음, 탁음, 반탁음) 컨트롤버튼으로만 사용되었고, 본 발명의 2차원 컨트롤처리에서는 후속알파벳 입력후 후속컨트롤버튼이 다시 변형알파벳컨트롤버튼으로 사용된 것이다. 이렇게 주용도의 컨트롤버튼(예에서 후속컨트롤버튼)을 다시 변형알파벳컨트롤버튼으로 활용하는 것을 선출원의 2차원 컨트롤처리방법과 구별하기 위하여 편의상 "2차원 재활용컨트롤처리방법" 혹은 "2차원 다용도컨트롤처리방법"이라 부르기로 한다.
선출원의 방법은 입력방법이 단순하고 일관성 있는 장점이 있으나, 상대적으로 입력타수가 약간 더 많아지는 단점이 있다. 본 발명과의 차이을 쉽게 보이기 위하여 선출원에서 컨트롤버튼을 각각 후속컨트롤(2nd,3rd,4th,5th)버튼으로만 그리고 변형알파벳(장음, 탁음, 반탁음) 컨트롤버튼으로만 사용하였던 경우를 그래프로 나타내면 도2-4와 같다. 도2-3, 도2-4에서도 흐린색으로 표시된 부분을 확장하여 적용할 수 있다.
위에서 교차 컨트롤처리방법을 적용함에 있어서, 컨트롤 후입력의 예를 보였는데, 이 역시 선출원에서 컨트롤처리방법을 적용함에 있어서 컨트를 선입력 혹은 후입력을 적용할 수 있는 것과 마찬가지로, 컨트롤 선입력에 의하여 입력할 수도 있다. 예를 들어 い ="반대편 컨트롤버튼"+ い =[#]++あ 와 같이 된다.
그러나 교차 컨트롤처리방법을 적용함에 있어서는 컨트롤을 후입력하는 것이 편리할 것이다.
이는 일본어의 경우뿐만 아니라 다른 모든 언어에 있어서도 동일하게 적용될 수 있다. 예를 들어, 아랍어에서 대표알파벳제외 컨트롤처리방법을 적용하여, 후속알파벳을 입력하기 위하여과 [#]이 사용되는 경우, 첨자형태의 모음을 입력하기 위하여 다차원 교차컨트롤처리방법을 사용할 수 있다. 또한 태국어에서버튼과 [#] 버튼을 각각 후속자음과 후속모음을 입력하기 위한 컨트롤버튼으로 활용하는 경우에도, 성조부호를 입력하는데, 다차원 교차컨트롤처리방법을 사용할 수 있는 것이다.
4. 한국어에 있어서 모음요소를 활용하는 방법
4.1 격음과 경음을 컨트롤처리하는 방법
한국어의 모음요소(ㅡ, ㅣ, .)을 이용할 수 있다. 도 4-5 를 참고한다. 본 발명에서는 10개의 기본자음 중 9개의 기본자음을 [1] ∼ [9] 각 숫자 버튼에 배정하고, 임으로 배정하 키패드상 맨 하단의및 [#] 버튼에 한국어의 모음요소 "ㅡ", "ㅣ" 를 고, [0] 버튼에 모음요소 "."을 배정한다. 다양한 방법의 배정이 가능하나 편의상 본 발명에서는 도 4-5의 배정 및 배치를 예시한다. 배치된 기본자음과 모음요소는 당연히 기준격자의 위치에 배치되는 것으로 할 수 있고, 배치된 기본자음과 모음요소의 선택에 부분전체선택방법을 적용할 필요는 없다.
격음과 경음을 컨트롤처리함에 있어서, "격음컨트롤" 및 "격음컨트롤"을 "ㅡ" 혹은 "ㅣ"가 배치된 버튼에 각각 임의로 배정하고, 나머지 격자중 기준격자에 가까운 격자에 배치한다. 즉 컨트롤이 배정된 버튼 2 타에 격음컨트롤 및 경음컨트롤이 선택되도록 하는 것이다. 격음컨트롤(혹은 경음컨트롤)이 배정된 버튼에 경음컨트롤(혹은 격음컨트롤)을 추가로 배치하여, 배치된 버튼 3 타로 선택하도록 할 수도 있다. 선출원에서 설명한 바와 같이 "ㅅ"은 격음이 없으므로 "ㅆ"을 경음 및 격음으로 간주할 수 있다. 또한 격음컨트롤 혹은 경으컨트롤이 반드시 버튼상에 표시될 필요는 없으며 사용자는 그 입력규칙을 숙지하고 있으면 된다.
격음컨트롤을 선택한 상태를 편의상 "{격음}" 으로 나타내고, 도 4-5 의 예에서 컨틀롤 선입력을 적용하면, ㅋ = {격음}+ㄱ =++[1]이 된다. 마찬가지로 ㄲ = {경음}+ㄱ =[#]+[#]+[1]이 된다. 경음컨트롤을 격음컨트롤이 배정된 버튼 3타로 선택하는 것을 허용하면, ㄲ = {경음}+ㄱ =+++[1] 이 된다.
본 발명에서 경음컨트롤과 격음컨트롤을 모음 알파벳요소 중 ㅡ, ㅣ 와 함께 같은 버튼에 배정하고 반복선택방법을 적용하여도 모호성이 없는 이유는 한국어의 특성상, 모음 "ㅡ"는 단어에서 연속하여 2 번 등장하지 않기 때문에, 예에서 격음컨트롤을 선택하기 위하여버튼을 2 타 입력한 것이 2 개의 모음 "ㅡ" + "ㅡ" 을 선택한 것으로 인식되지는 않기 때문이다. 모음 "ㅣ"의 경우도 마찬가지이다. "예의"라는 단어(예에서 [8]+[0]+[0]+[#]+[#]+[0]++[#])에서 모음 "ㅣ"가 2번 등장하나 이 경우는 모음 알파벳요소 "." 에 이어 나오므로 여기에서의 "[#]+[#]"이 경음컨트롤을 선택한 것이 아니라 모음임을 알 수 있다. 왜냐하면 예에서, 모음 알파벳요소 "." 으로 단어가 종료될 수 없으므로 그 뒤에 이어서 입력된 [#]은 모음임을 알 수 있기 때문이다. 모음 "ㅡ"는 연속하여 등장하는 경우가 전혀 없으므로, 모음 "ㅡ"가 배정된 버튼에 격음컨트롤과 경음컨트롤을 배정하더라도 모호성은 결코 없다.
그리고 10개의 기본자음 중 9개의 자음을 9개 버튼([1]∼[9] 버튼)에 배정하고 배치하였으므로, 나머지 한 개의 기본자음이 버튼상에 배정되지 않았다. 이를 편의상 "9 버튼탈락자음"이라고 부르기로 한다. 이 9 버튼탈락자음은 발음 혹은 모양의 유사성을 고려하여 10개의 기본자음 중 하나의 기본자음을 변형알파벳 혹은 후속알파벳으로 간주하여 컨트롤처리하는 것을 생각할 수 있다. 예를 들어 "ㄹ"을 버튼상에 배치하지 않고, "ㄹ"을 "ㄴ"의 변형알파벳(격음 혹은 경음)으로 간주하여, 컨트롤 선입력시 ㄹ =++ㄴ 혹은 ㄹ =+++ㄴ 혹은 ㄹ =[#]+[#]+ㄴ 으로 처리하는 것이다. 도4-5의 예에서 역시 발음과 모양의 유사성을 고려하여 "ㅎ"을 "ㅇ"의 변형알파벳(격음 혹은 경음)으로 간주하여 ㅎ =+ㅇ 혹은 ㅎ =+ㅇ 혹은 ㅎ =[#]+[#]+ㅇ 으로 처리할 수 있다.
이 경우 컨트롤처리되는 알파벳(도4-5의 예에서 "ㅎ")은 알파벳 입력의 편리를 위해 경음 혹은 격음이 존재하지 않는 알파벳(ㄴ, ㅁ, ㄹ, ㅎ, ㅇ) 중의 하나인것이 좋을 것이다. 컨트롤처리되는 알파벳의 기본 알파벳(도 4-5 의 예에서 "ㅇ")역시 경음 혹은 격음이 존재하지 않는 알파벳 중의 하나 이어야 알파벳 입력의 편리성을 더할 수 있음은 당연하다. "ㅎ"을 컨트롤 처리하는 예시를 제시한 이유는 경음, 격음이 존재하지 않고, 경음, 격음이 존재하지 않는 알파벳 중 사용빈도 또한 가장 낮은 알파벳 이기 때문이다. 또한 발음에 있어서도 유사성이 있으며, 모양에 있어서도 다른 평음과 격음의 관계처럼 유사성이 있기 때문이다.
여기서 한국어가 전화번호 및 각종 코드의 암기용으로 쓰이기 위해서는 10 개의 기본자음(평음)이 10 개의 숫자 버튼에 배치되는 것이 바람직하다. 따라서 "ㅎ"을 "."이 배정된 버튼(도4-5의 예시에서 [0])에 추가로 배정하고 해당 버튼 3 타에 "ㅎ"을 선택할 수 있는 격자에 배치할 수 있다 "."은 두번 연속 등장하는 경우가 다수이므로 반복선택방법을 적용하여 모호성이 없으려면, 3 타에 선택되도록 하여야 하기 때문이다. 이 경우도 물리적으로 기준격자에서 3 번째로 가까운 격자에 "ㅎ"을 배치하지 않더라도 사용자는 단지 해당 버튼 3 타로 "ㅎ"을 선택할 수 있다는 것을 인지하고 있으면 된다. 이는 "ㅎ"이 [0] 버튼 3 타에 입력될 수 있다는 의미도 있지만, 기본 자음을 모두 각 숫자버튼에 배치함으로써 각종 암기용으로 유용하게 사용될 수 있다.
도 4-5 에서 알파벳의 식별성을 높이기 위하여 자음은 파란색으로, 모음 혹은 모음요소는 붉은색으로 표시하였으며, 숫자는 검은색으로 표시하였다. [0] 버튼에 푸른색으로 "ㅡ"를 표시한 것은 ". + ㅡ + 0(zero)"가 전체적으로 "ㅎ" 모양을 나타내므로 [0] 버튼에 "ㅎ"이 암시적으로 배정되어 있는 것을 나타낸다.
즉 9 버튼탈락자음은 특정 기본자음의 변형알파벳으로 간주되어 컨트롤처리방법으로 입력할 수도 있고, 동시에 모음요소 "."이 배정된 버튼 3 타로 입력될 수도 있다.
4.2 경음의 기본자음 조합처리 및 경음, 격음의 은닉형/비은닉형 반복선택처리
한국어의 모음요소를 활용한 방법에 있어서도 경음을 기본자음의 조합으로 처리할 수 있다. 더구나 모음요소를 활용한 방법에서는 숫자버튼에 기본자음이 하나씩 배정되므로, 경음을 기본자음의 조합으로 처리하더라도, 현행 2벌식 키보드에서와 마찬가지로 "오뚜기""오ㄷ두기" 와 같은 경우에만 모호성(풀코드간의 모호성으로 1차모호성)이 발생한다. ("오ㄷ"에서 "ㄷ"은 종성임)
그러나 역시 모호성 발생시 이를 회피할 수 있도록 "색인"을 구비하는 것으로 해결할 수 있다. 결국 경음을 기본자음의 조합으로 입력하는 경우, 격음만을 컨트롤처리방법에 의하여 입력하면 되므로 입력규칙을 더욱 단순화할 수 있다.
격음컨트롤을 선출원에서 설명한 바와 같이 적절한 격자에 둘 수 있다. 예를 들어 도4-1 혹은 도4-2에서 경음컨트롤을 제거하는 것이다.
또한 기본자음, 격음, 경음의 순으로(예를 들어 ㄱ, ㅋ, ㄲ) 해당 버튼의 누름횟수에 따라 입력(예를 들어 ㄱ=[1], ㅋ=[1]+[1], ㄲ=[1]+[1]+[1])하도록 할 수 있음을 밝힌 바 있다. 이 경우도 선출원에서 밝힌 대로 1 차모호성이 발생할 수 있다. 모호성이 발생하는 구체적인 경우는 여기에서 소개하지 않는다. 이 경우 기본자음, 격음, 경음을 버튼상에 모두 표시할 수도 있고 기본자음만을 표시할 수도 있다고 하였다. 이는 후속알파벳(예를 들어 ㅋ, ㄲ)을 반복선택방법에 의하여 선택하는 것이다.
여기서 대표알파벳만을 표시하고 나머지 후속알파벳을 반복선택방법에 의하여 선택하는 방법을 편의상 "은닉형 반복선택처리방법"이라 하기로 한다. 다시 경음과 격음의 부속순위를 기본자음-경음-격음의 순으로 둘 수도 있다. 예를 들어, ㄱ(1st:기준격자위치), ㄲ(2nd), ㅋ(3rd) 와 같이 두는 것이다. 즉 ㄱ = [1], ㄲ = [1]+[1], ㅋ = [1]+[1]+[1] 로 된다. 이는 쌍자음을 기본자음의 조합으로 처리(혹은 은닉형 반복선택처리)하고 격음까지도 은닉형 반복선택처리방법에 의하여 선택하는 것으로 볼 수 있다.
이경우 선출원에서 제시한 은닉형 반복선택처리방법과 후속알파벳의 부속순위만 다르나, 경음입력시 숫자버튼 2 타(기본자음의 조합)로 입력할 수 있도록 함으로써, 사용자 입장에서의 자연스러움을 배가시킬 수 있다.
또한 "ㅎ"을 입력시 [0] 버튼 3 타로 입력하였는데, "ㅇ"과 "ㅎ'"간의 관계는 모양 및 발음상 평음(기본자음)과 격음의 관계와 유사하고 격음역시 숫자버튼 3타로 입력할 수 있으므로 전체적으로 사용방법의 일관성을 높일 수 있게 된다.
여기서 "ㅎ"을 입력함에 있어서 "ㅎ" 이 배정된 [0] 버튼 3 타로 입력하는 것을 허용하면서, 동시에 "ㅎ"을 "ㅇ"의 변형알파벳으로 간주하여 컨트롤처리방법에 의하여 입력하는 것도 가능한 것처럼, 격음을 해당 기본자음이 속한 버튼 3타(혹은 2타)로 입력할 수 있도록 하면서, 동시에 컨트롤처리방법에 의하여 입력하는 것을 얼마든지 허용할 수 있음은 물론이다. 사용자가 컨트롤처리방법에 의하여 격음을 입력하면, 시스템은 격음입력시 모호성(풀코드간의 모호성으로 즉,1차 모호성) 없이 격음을 식별할 수 있고, 해당 기본자음이 속한 버튼 3타로 입력하면 경우에 따라 모호성이 발생할 수도 있다. 이는 경음에 대해서도 마찬가지이다.
즉 동일한 키패드에서 사용자는 격음입력시, 컨트를처리방법에 의하여 입력할 수도 있고, 은닉형 반복선택방법에 의하여 입력할 수도 있는 것이며, 더불어 경음에 대해서도 마찬가지이다. 예를 들어 격음컨트롤을버튼 2타로 선택하도록 하고, 동시에 경음 및 격음은 기본자음이 속한 버튼 2타 및 3타로 선택하도록 하여, "카키"를 입력시,"카키 =[1]++[#]+[0] + [1]+[1]+[1]+[#]" 로 할 수 있는 것이다. 즉 첫번째 "ㅋ"은 컨트롤처리방법으로 입력하고, 두번째 "ㅋ"은 반복선택방법으로 입력할 수 있는 것이다. 마찬가지로 "까끼"에 대해서도 "까끼 = [1]+[#]+[#]+[#]+[0] + [1]+[1]+[#]" 로 할 수 있는 것이다.
경음과 격음을 비은닉형 반복선택처리방법 혹은 은닉형 반복선택처리방법에 의하여 입력시 경음과 격음의 선택순서 역시 사용자의 편리대로 설정하도록 할 수 있다.
4.3 한국어의 4개 모음요소를 활용하는 방법
도4-5의 경우를 편의상 "10 자음 3 모음법" 혹은 간단히 "3 모음법"이라 부르기로 한다. 도4-5의 사례를 풀어 도4-6에서와 같이 표현할 수 있다. 도4-6에서도 도4-5에서와 동일한 입력방법을 적용할 수 있는데, 도4-6에서 보듯이 이는 한국어의 모음 "ㅕ" 혹은 "ㅛ" 등을 입력시 필요한 모음요소 ":(경우에 따라 수평방향 혹은 수직방향의 획으로 작용하나 여기서는 편의상 수평방향의 획':' 으로 표시)"를모음요소 "."과 함께 그룹핑하여 같은 버튼에 배정하고, 모음요소 ".", ":" 을 각각 반복선택방법에 의하여 배정된 버튼 1 타, 2 타로 각각 선택하되, 모음요소 ":"을 명시적으로 버튼상에 배치하지 않는 것으로 볼 수 있다.
즉 도 4-5 의 경우 역시 도 4-6 에서 보듯이 4 개의 모음요소("ㅡ", ".", "..", "ㅣ")를 활용하는 것으로 볼 수 있으며, 이를 편의상 "점(點)모음요소 반복선택 4모음법" 이라 한다.
도 4-7 은 모음요소 ":"을 모음요소 "."과 함께 그룹핑하지 않고, 각기 다른 그룹으로 그룹핑한 경우를 보여준다. 즉 4 개의 모음요소("ㅡ", ".", ":", "ㅣ")가 각각 다른 버튼에 배정되며, 이를 편의상 "10 자음 4 모음법" 혹은 "4 모음법"이라 부르기로 한다. 4 모음법은 3 모음법과 통하는 점이 많으므로 비교적 간단히 설명하며, 3 모음법에서 설명한 내용중 4 모음법에 적용할 수 있는 내용은 4 모음법에서 그대로 적용될 수 있는 것은 자명하다. 용어 역시 3 모음법에서 사용한 용어를 유사하게 사용할 수 있다.
4 모음법에서 10 개의 기본자음 중 격음과 경음이 존재하지 않는 2 개의 기본자음을 제외한 나머지 자음을 8 개의 버튼에 각각 배정하고, 4 개의 모음요소 하나하나와 격음컨트롤, 경음컨트롤, 8 개의 버튼에 배정되지 않은 2 개의 자음(편의상 "8 버튼 탈락자음" 혹은 "10-8 자음" 혹은 더 간단히 "-8 자음" 이라 부름)을 각각 2 개씩 그룹핑하여 모음요소는 배정된 버튼 1 타로 입력하고, 함께 배정된 컨트롤 혹은 탈락자음들은 배정된 버튼 2 타로 입력(즉, 반복선택방법에 의하여 입력)할 수 있다.
모음요소 "."을 모양이 유사한 [0] 버튼에 배정하고, 숫자 "0" 안에 표시함으로써 버튼상 간결한 배치를 가능하게 할 수 있으며(혹은 숫자안의 표시를 생략해도 모양이 유사하므로 사용자는 이를 쉽게 인지할 수 있음), 모음요소 ":"을, 모양이 유사한 [8] 버튼에 배정하고, 숫자 "8" 내부에 표시함으로써(혹은 숫자안의 표시를 생략해도 모양이 유사하므로 사용자는 이를 쉽게 인지할 수 있음) 버튼당 외형적으로 단 하나의 알파벳만을 배치할 수 있는 장점이 있다. 도 4-5 의 경우에도 모음요소 "."을 [0] 버튼의 숫자 "0"안에 표시하고 "ㅎ"을 명시적으로 표시할 수도 있다. 도 4-7 에서와 같이 모음 "ㅡ", "ㅣ"가 배정되는 버튼이 [*] 버튼 및 [#] 버튼인 경우 한국어의 다양한 모음을 입력시 인접한 버튼을 누르게 되어 운지거리를 적게하는 효과가 있다.
4모음법의 경우도 격음과 경음의 입력에 있어서, 3모음법의 경우와 마찬가지로 반복선택방법을 적용할 수 있으며, 이를 통칭하여 편의상 "격음/경음 반복선택 4 모음법"이라 부른다. 또한 3 모음법에서의 사례와 같이 반복선택방법을 혼용하여 적용할 수 있으며, 이를 통칭하여 편의상 "격음/경음 컨트롤처리 반복선택 혼용 4모음법"이라 한다.
도4-7의 키패드 역시 반복선택방법 관점에서 도4-8과 같이 풀어 표현할 수 있다. 도4-6과 도4-8를 비교해 보면, 도4-5와 도4-7의 차이를 명확히 알 수 있게된다. 도4-8은 도4-6에서 [0]버튼 2타로 선택하던 모음요소 ":"을 [8]버튼으로 옮겨 1타로 입력하도록 한 것과 같은 결과이다.
모음요소 "." 과 ":"을 [*] 버튼 및 [#] 버튼에 배정할 수도 있으나, 이 경우는 도 4-7 에서와 같이 모음요소를 숫자 안에 표시함으로써, 표면적으로 단 하나의 알파벳만 배치할 수 없게 된다.
도 4-7 을 기준으로 입력예를 들면 ㅕ = : +ㅣ = [8]+[#], ㅑ = 1 + : = [#]+[8], ㅠ = ㅡ + : =+[8] 이 되며, 8 버튼 탈락자음을 반복선택방법에 의하여 입력시, ㅇ = [8]+[8], ㅎ = [8]+[8] 이 된다. 만약 모음요소 ":"을 모음요소 "." 이 배치된 버튼 2 타로 입력하는 것을 허용하면, "ㅎ" 은 3 모음법원에서와 마찬가지로 "."이 배정된 버튼 3타로 입력하도록 하면 된다.
입력예로, "워" 혹은 "웨"의 경우 모음 "ㅡ"와 "ㅣ" 사이의 점모양의 모음요소 ".."은 모음요소 ":"으로 입력하면 된다. 시스템에서 일시적으로 "유 + ..." 를 입력한 것으로 인식될 수 있으나 "유" 다음에 모음 "ㅣ"가 나올 수 없으므로 시스템은 "워"를 입력한 것으로 인식할 수 있다. "10자음 점(點)모음요소 반복선택 3모음법"에서도 "워"의 경우 "ㅡ"와 "ㅣ" 사이의 점모양의 모음요소를 입력시 모음요소 "."을 두번 입력하는 것으로 혹은 모음요소 ":"을 한번 입력하는 것으로 이해할 수 있다.
3모음법과 4모음법은 한국어의 자음과 모음의 출현규칙(즉, 단어생성규칙, 알파벳 결합규칙)을 이용하여 "언어제한 반복선택방법" 중에서도 "한국어제한 반복선택방법"에 최적화된 한국어 입력방법을 제시한 것으로 볼 수 있다.
4.4 완전컨트롤처리 방법
도 4-5 에서 격음과 경음을 컨트롤처리방법에 의하여 입력하더라도, "이허아히", "이혀아허야히" 와 같은 경우에 모호성이 발생할 수 있다(양자의 풀코드 값은 모두 같으므로). 도 4-7 에서 "이며야미" 와 같은 경우가 있을 수 있다.
3모음법에서와 "ㅎ"을 "ㅇ"의 변형알파벳으로 간주하여 컨트롤처리방법에 의하여 입력(예. ㅎ = ㅇ+{격음} = ㅇ[*]+[*])할 수 있는 것과 마찬가지로 2 개의 8 버튼 탈락자음을 컨트롤처리방법에 의하여 입력로 입력할 수 있다. 이를 편의상 "완전컨트롤처리방법"이라 부른다. 더 나아가 탈락자음(예. "ㅎ")이 배정된 버튼과 "ㅡ"와 함께 배정된 컨트롤을 조합하여 탈락자음을 입력할 수 있다. 예를 들어 "ㅎ = . + {격음} = [0]+[*]+[*]" 로 입력하는 것이다. 4 모음법에서의 8 버튼 탈락자음 역시 유사하게 입력할수 있다. 이를 편의상 "탈락자음배정버튼이용 완전컨트롤치리방법"이라 부른다.
5. 색인을 통하여 모호성을 극복하는 방법
반복선택방법 적용시 여러 단어가 하나의 코드로 표현되어 모호성이 발생할 수 있다. 도 4-1 의 입력예에서 "고이"가 "굉"으로 "굉"이 "고이"로 인식될 수 있는 모호성이 있음을 지적했다. 그런데 보통은 단어단위로 단어를 입력하는데, 예를 들어 "굉장히" 라는 단어는 존재하지만 "고이장이"라는 단어는 존재하지 않는다. 도 4-1 에서 양자는 모두 같은 코드값을 갖는다. 따라서 이에 대하여 단말기(클라이언트) 혹은 서버측에 특정 키패드와 특정 알파벳입력방법에 대하여 모호성이 발생할 수 있는 단어들에 대한 색인을 준비하고 이를 등록해 둔다. "굉장히 " 혹은 "고이장이"가 입력이 되었을 때 시간지연 등에 의해서도 양자를 구별할 수 없을 때, 색인에 "굉장히"가 올바른 단어로 등록이 되어 있다면, 사용자가 입력을 원하는 단어(이하에서 편의상 "타겟단어"라고 함)는 "굉장히"인 것을 알 수 있는 것이다. 이는 시스템이 구별할 수 없는 모호성이 발생했을 경우만 적용되며, 시스템(단말기측 혹은 서버측 시스템)에서 정의한 시간지연값 혹은 사용자가 정의한 시간지연값에 의하여 구별이 가능한 경우는 그에 따라야 함은 당연하다. 즉 사용자가 의도적으로 끊어(시간지연 혹은 공백 혹은 우측진행 버튼 혹은 기타의 특정 버튼을 사용하여) "고이장이"를 입력하였다면 비록 의미상 그른 단어라 할지라도 그 단어가 타겟단어이므로 "고이장이"를 출력하여야 한다.
색인을 준비하는 방법은 모호성이 발생할 수 있는 경우의 단어에 대하여 올바른 단어(예에서 "굉장히")만을 등록해 둘 수도 있고, 그른 단어(예에서 "고이장이")만을 등록해 둘 수도 있다. 또한 올바른 단어와 그른 단어를 모두 등록해 두어도 무방하며, 단지 시스템은 색인의 어떤 단어가 올바른 단어인지 그른 단어인지에 대한 정보를 가지고 있으면 된다.
이는 키패드에서 반복선택방법을 적용하는 모든 경우에 적용될 수 있다.
예를 들어 한국의 삼성전자사의 입력방법에서 "국가구카" 와 같은 모호성이 발생하는데 여기에도 마찬가지로 적용될 수 있다. 뿐만아니라 도 4-1 와 유사하게 자모의 쌍을 각 버튼에 배치하고 자음 1 타, 격음 2 타, 경음 3 타, 모음 1타로 선택할 수 있게 하면서, 음절(글자) 단위로 음절완성 버튼을 누르는 경우에도 적용될 수 있다. 사용자가 "굉장히"를 입력시, 일시적으로 "고이장이"가 출력되더라도, 단어종료되는 순간(예를 들어 공백입력 등)에 색인을 참조하여 이를 "굉장히"로 수정할 수 있다.
이때, 단어의 색인이 클라이언트측과 서버측에 모두 존재할 경우 1 차적으로 클라이언트측의 색인을 검색하여 올바른 단어의 식별을 시도하고, 식별실패시 2 차적으로 서버측의 색인을 검색하여 최종적으로 올바른 단어를 식별하도록 할 수 있다.
단어의 단위를 구별하는 것은 누구나 생각할 수 있듯이 단어와 단어를 구분해 주는 요소에 의해서 식별하면 된다. 예를 들어 공백과 공백사이, 단어시작과 공백사이, 공백과 입력끝 사이, 공백과 모드전환 사이 등등의 경우를 생각할 수 있다. 색인을 참조하여 올바른 단어를 결정하는 것은 단어 단위로 이루어지므로 단어의 구분을 주는 요소 입력시 색인참조가 이루어지고 올바른 단어가 결정될 수 있다.
이는 반복선택방법을 적용하여 모호성이 발생하는 모든 경우에 적용될 수 있다. 예를 들어 현재 한국에서 사용되고 있는 삼성전자社의 방법에서 종성과 초성이 같은 버튼에 속한 자음인 경우 모호성이 발생할 수 있다. "국가""구카"를 예로 들 수 있다. 알파벳 별로 코드를 두어 입력시, 음절(글자) 단위를 인식하지 않고 입력하므로 사실상 많은 경우에 무의식 적으로 "국가"를 입력하면 "구카" 로 된다. 이 경우도 시간지연 등에 의하여도 두 단어중의 어느 단어가 타겟단어인지를 알 수 없으면, 시스템(단말기 혹은 서버)은 색인을 참조하여 타겟단어를 알아낼 수 있다. 단 이 경우는 "국"의 종성 "ㄱ"과 "가"의 초성 "ㄱ"이 연속하여 눌러졌다고 하더라도, 대부분의 경우 타겟단어는 "국가"인 경우가 많으므로, 시간지연에 상관없이 색인을 참조하여 타겟단어를 식별해 내는 방법도 효율적일 수 있다.
또한 이는 한국어에만 국한되지 않고 반복선택방법을 사용하는 경우의 모든 언어에 적용될 수 있는 것임은 자명하다. 예를 들어 영어입력에 있어서 혹은 다른 언어 키패드의 영어모드에서, [2]-[2]-[2]를 입력한 것이 "AB" 인지 "BA" 인지 알 수 없는 모호성이 발생한 경우에 "AB" 가 올바른 단어로 색인에 등록이 되어 있다면, 이를 인식하여 사용자에게 타겟단어로 제공할 수 있는 것이다. 만약 모호성이 발생하는 복수의 단어가 모두 올바른 단어로 색인에 등록이 되어 있다면, 사용빈도가 많은 단어를 사용자에 1차적으로 제공하고 사용자로 하여금 최종적으로 타겟단어를 확정하도록 할 수 있다.
만약 어떤 단어의 입력에 대하여 모호성이 있을 경우, 색인을 참조하여도 그 입력에 해당하는 단어들이 모두 올바른 단어로 인식된다면, 사용자에게 적절한 방법(시각적, 청각적)에 의한 피드백을 주어 선택하게 하면 된다.
사용자로 하여금 타겟단어를 확정하게 하는 방법은 디스플레이창에 올바른 단어로 인식된 복수의 단어를 사용빈도순서(혹은 우선순위순서)로 나열하고 상하 스크롤에 의하여 혹은 디스플레이된 순서에 해당하는 숫자버튼을 이용하여 사용자로 하여금 타겟단어를 확정하도록 할 수 있다. 다른 방법으로는 사용빈도가 높은 단어만을 표시하고 타겟단어가 아닌 경우 다음 단어를 표시되도록 할 수 있는 컨트롤(편의상 "다음단어컨트롤"이라 함)을 선택함으로써 다음으로 사용빈도가 많은 단어를 표시되도록 하고, 역시 타겟단어가 아닌 경우 마찬가지로 다음단어컨트롤을 다시 선택함으로써 계속해서 타겟단어를 검색하도록 할 수 있다. 이 경우 타겟단어를 검색한 후 임의의 다른 버튼의 입력(예를 들어 다른 알파벳의 선택 혹은 공백,모드전환 등 다음단어컨트롤 선택의 선택이 아닌 일체의 버튼 입력)으로 타겟단어가 확정되도록 할 수 있다.
다음단어컨트롤의 선택은 선출원에서 기술한 "부분전체선택방법" 혹은 "반복선택방법(기준/단순)" 모두 적용될 수 있다. 특정 버튼의 기준격자의 위치에 다음단어컨트롤이 배치되어 있는 것으로 한다면, 그 특정 버튼 1 타로 다음단어컨트롤이 선택될 것이다.
6. 심플코드 활용방법 및 단축입력방법/병행입력방법
6.1 알파벳 연관 심플코드 생성방법
정보통신 단말기를 사용하여 정보시스템에 접근할 경우 알파벳의 입력이 필수적이다. 혹은 입력하여야 할 알파벳을 숫자코드화 하여 입력할 수 있다. 소형화된 정보통신 단말기에서는 보통 키패드 형태의 인터페이스를 채용하고 있는 경우가 많다. 여기서 말하는 코드란 모든 종류의 코드를 말하는 것으로 대표적인 예를 들면 전화번호, 증권종목(상장회사)코드, 도시코드, 부서코드, 전철역코드, 은행코드 등 헤아릴 수 없이 많다. 각종의 명칭을 코드화하여 입력하는 잇점은 입력을 단순화 할 수 있다는 것이다.
정보통신 단말기란 PC, 이동통신기기, 스마트폰, PDA, 양방향 문자 송수신기기, ATM 기(자동 입출금기) 등 모든 형태의 정보통신 단말기를 포함한다. 뿐만 아니라 전자수첩과 같이 통신기능이 없는 단말기까지 망라한다. 정보시스템이란 GUI 통하여 시각적으로 접근할 수 있는 시스템뿐만 아니라 ARS와 같이 소리로만 접할 수 있는 시스템 등 모든 형태의 시스템을 포함한다. 또한 시스템은 좁게는 서버측시스템을 의미하며, 넓게는 서버 시스템과 호응하는 단말기의 클라이언트 소프트웨어도 포함한다.
키패드상 배치된 알파벳을 이용하여 각종 코드의 암기용으로 유용하게 사용할 수 있다. 코드의 암기용으로 사용함에 있어서, 심플네이밍, 이니셜네이밍, 풀네이밍에 의한 방법이 있을 수 있다. 그 내용을 간단히 요약하면 다음과 같다.
심플네이밍은 코드화 하고자 하는 단어 혹은 구절(단어 혹은 구절을 통칭하여 이하에서 간단히 "어구"라 함)과 연관된 숫자를 코드로 지정하는 것이다.
예를 들어, 한국어의 경우, 기업명코드의 경우, 도 4-2 을 기준으로 "가산전자"의 코드를 ㄱ, ㅅ, ㅈ, ㅈ 과 연관된 "1799"를 심플코드로 하는 것이다. 이 경우 "가산전자"에서 심플코드 "1799"와 연관된 ㄱ, ㅅ, ㅈ, ㅈ 을 부각하여 표시함으로써 특정 단어의 심플코드를 더욱 쉽게 알 수 있도록 할 수 있으며, 더 나아가 그러한 어구로 부터 심플코드를 추출해 낼 수도 있다. 심플네이밍의 경우 코드화 하고자 하는 단어에 속한 어떤 알파벳과 연관된 숫자를 코드로 정하는 것이므로, 예로 든 "가산전자"의 코드를 반드시 "1799"로 할 필요는 없다. 예를 들어 "주식이란"의 심플코드를 ㅈ, ㅅ, ㅣ, ㄹ 과 연관된 값을 심플코드로 할 수 있듯이, 가산전자의 경우 다른 예를 들면, ㄱ, ㅅ, ㄴ, ㅈ 과 연관된 "1729"로 할 수도 있고, ㄱ, ㅅ, ㅓ, ㅈ 과 연관된 "1749"로 할 수도 있고, "가산전자"를 구성하는 전체 알파벳과 연관된 "13294293"으로 할 수도 있다. 어구를 구성하는 전체 알파벳과 연관된 코드를 심플코드로 하는 것을 편의상 "전체연관 심플네이밍"이라고 하고 특정 어구의 일부 알파벳과 연관하여 심플코드를 지정하는 것을 편의상 "일부연관 심플네이밍"이라고 부른다. 어떤 경우이든 심플네이밍(즉 심플코드)은 어구단위로 그 어구를 구성하는 알파벳에 연관되어 코드를 지정하는 것으로 볼 수 있다. 이는 한국어 이외의 언어에도 마찬가지로 적용할 수 있다. 예를 들어 "captain"에서 자음 "CPTN" 과 연관되는 "2786"를 심플코드로 할 수 있는데 이는 일부연관 심플코드이며, 이를 특히 편의상 "자음연관 심플코드"라고 부르기로 한다.
"escape"와 같이 모음으로 시작하는 단어에 대하여 자음연관 심플코드를 생성하면, "SCP"에 해당하는 "727"이 되는데, 이는 "scape"의 자음연관 심플코드와 동일하게 된다. 따라서 축약된 심플코드를 사용하되, 정의되는 심플코드와 심플코드 대응어구의 중복을 최소화하고,사용상의 편리를 더하기 위하여 첫모음과 자음을 연관한 심플코드를 생각할수 있다. 이를 편의상 "첫모음+자음기준 심플코드"라 이름붙인다. 이러한 첫모음+자음연관 심플코드 역시 다른 심플코드와 마찬가지로 특정 단어에 대하여 심플코드를 기계적으로 생성해 낼 수 있는 장점이 있다.
단어뿐 아니라 구절 역시 심플네이밍에 의하여 코드화될 수 있다. 선출원에서 예를 든 "어디로 가려는가"라는 어구에서 의미를 가장 잘 함축하고 있는 글자(음절)을 활용하여 ㅇ, ㄷ, ㄱ, ㄹ 에 매핑되는 "8314"를 심플코드로 할 수 있다.
영어의 경우 선출원에서 예를 든 "date tonight" 에서 음가를 가지고 있는 d, t, t, n에 연관되는 "3886"을 심플코드로 할 수 있다.
이니셜네이밍은 일부연관 심플네이밍의 특별한 경우이다. 한국어의 경우 이니셜네이밍은 음절(글자)을 기준으로 초성(첫자음)에 매핑되는 숫자를 코드로 지정하는 방법이 있을 수 있다. 이를 편의상 "음절(글자)기준 이니셜네이밍"이라고 한다. "가산전자"의 경우 음절기준 이니셜네이밍에 의한 이니셜코드는 각 음절(글자)의 자음초성에 연관된 "1799"가 된다. 음절기준 이니셜네이밍의 경우도 한국어 이외의 언어에 대해서도 적용할 수 있다. 예를 들어 영어의 경우, "entertainment" 라는 단어의 음절기준 이니셜네이밍에 의한 이니셜코드를 e, t, t, m에 연관되는 "3886"으로 할 수 있다. 음절기준 이니셜네이밍은 한 음절이 하나의 글자를 이루는 한국어의 경우에 더욱 유용하게 사용될 수 있다. 한국어 뿐만 아니라 한국어와 마찬가지로 한 음절이 하나의 글자를 이루는 중국어, 일본어 등의 다른 언어에 있어서도 유용하게 사용될 수 있다. 중국어의 경우 北京(Beijing : 첫번째 'e'에는 4 성조부호가, 마지막 'i'에는 2 성조부호가 붙음)의 음절기준 이니셜 코드는 도1-1을 기준으로 b, j 에 연관되는 "25"가 되며, 도10-1 ∼ 10-4 를 기준으로는 "14"가 된다.
마찬가지로 구절에 대해서도 이니셜 네이밍이 가능한데, 선출원에서 예를 든 "어디로 가려는가" 라는 구절에서 각 단어의 첫 알파벳인 ㅇ, ㄱ 과 연관된 "81"을 이니셜 코드로 할 수 있다. 영어의 경우 선출원에서 예를 든 "dance with the wolf' 라는 어구에 대하여 단어기준 이니셜네이밍의 이니셜코드는 d,w,t,w 와 연관된 "3979"가 이니셜코드가 된다. 단어기준 이니셜네이밍은 구절 전체에 대하여 코드를 부여할 경우 모든 언어에서 유용하게 사용될 수 있다.
심플코드(전체연관 심플코드 부분연관 심플코드)와 이니셜코드(음절기준 이니셜코드, 단어기준 이니셜코드)를 통틀어 편의상 "심플코드(즉 널은 의미의 심플코드)" 혹은 "단축코드"라고 부르기로 한다. 전체연관 심플코드, 자음연관 심플코드, 음절기준 이니셜코드, 단어기준 이니셜코드는 특히 그 코드 생성에 있어서 규칙성이 있으므로, 이를 범용하게 사용할 수 있으며, 타인이 그러한 규칙으로 심플코드를 생성해 놓은 경우에도 쉽게 사용할 수 있다.
풀네이밍은 특정 문자입력방법에 의해 코드화하고자 하는 어구의 입력값이다. 따라서 이는 적용되는 문자입력방법에 따라 달라질 수 있으며, 알파벳단위로 어떤 어구에 해당하는 숫자값을 코드로 하는 것으로 볼 수 있다. 선출원에서 예를 든 "서울"의 경우 도 4-2 을 기준으로 부분전체선택방법(선출원에서 언급)에 의한 풀코드는 "7745888944"가 된다. 만약 기준반복선택방법(선출원에서 언급)에 의한 풀코드는 "7448884" 가 된다. 만약 도 4-2 와 다른 키패드를 적용하거나 또다른 알파벳 입력방법을 적용할 경우는 그에 따른 풀코드 값이 있게 될 것이다.
6.2 기존의 중국어 한자 입력방법
중국어의 입력 방법은 한글에서의 한자 입력방법과 같이, 중국어 발음에 해당하는 영문을 입력하고 "한자 변환키"를 사용하여 변환가능한 한자가 되시되면 해당하는 한자를 선택하여 입력하는 것이 일반적인 형태이다. 즉, 로마알파벳으로 한어병음을 입력하면, 시스템에서 이에 대응되는 한자를 검색하여 사용자에게 제공하는 방식이었다. 도 5-1 을 참고한다. 중국어에 있어서 풀코드는 중국어의 영어발음을 기준으로 정할 수 있다.
6.3 유니크化 심플코드
심플코드의 해독이 클라이언트측에서 이루어질 수 있는 경우(즉, 클라이언트측에서 특정 어구와 그 특정어구에 해당하는 심플코드값을 가지고 있는 경우)는,입력된 심플코드에 대응하는 어구를 서버측에 전달할 수 있다. 클라이언트측에서 심플코드를 해독할 수 있는 경우에도 어플리케이션의 성격에 따라 서버측에서 심플코드를 요하는 경우는 심플코드자체(즉, 숫자나열)를 서버측으로 전송하면된고 서버측에서 이 심플코드를 해석하면 된다. 이것이 심플코드의 해독이 클라이언트측에서 혹은 서버측에서 이루어질 수 있다고 한 것이다.
다수의 어구에 대하여 심플코드를 정의하여 사용할 경우, 동일한 심플코드에 대응되는 어구가 다수 존재할 수 있다. 이렇게 심플코드간에 발생할 수 있는 모호성을 편의상 "2차모호성"이라 한다. 이 경우 시스템내부에서는 동일한 값을 갖는 심플코드에 일련번호를 덧붙여 유일한 코드값을 만들어 저장할 수 있을 것이나, 사용자는 주로 특정 어구와 연관된 심플코드를 사용하게 되므로 2차모호성이 발생하게 된다. 이러한 경우, 그러한 어구들을 사용 우선순위에 따라 시스템이 사용자에게 추천하여 줄 수 있어야 함은 당연하다. 다른 어구이면서 동일한 심플코드를 갖는 경우, 시스템내부에서 심플코드에 어구의 사용빈도에 따른 우선순위에 따라 일련번호를 붙이므로써, 일련번호를 사용자에게 추천하여 주는 우선순위로 활용할 수 있다. 물론 반드시 일련번호를 붙여야만 하는 것은 아니고, 우선순위 정보를 시스템이 별도로 가지고 있어도 되며, 단지 그렇게 할 수 있는 예를 보인 것이다.
예를 들어,"증권정보"의 심플코드를 음절기준이니셜코드인 "9196" 과 "주권정보"의 심플코드를 역시 음절기준이니셜코드인 "9196"로 같다면 각 단어의 상용빈도에 따라 일련번호를 붙이고 그 일련번호를 사용자에게 추천하여 주는 우선순위로 사용할 수 있다. "증권정보"의 사용빈도가 높다면 그에 우선순위를 주어 "증권정보"="91961"으로 하고,"주권정보"="91962"로 할 수 있다. 마찬가지로 先生(xiansheng: 모음 a 가 제1성조)과 學生(xuesheng· 첫번째 e 가 제2성조)의 음절기준 이니셜코드가 "97"로써 같다면, 각 단어의 사용빈도에 따라 일련번호를 붙여 그 일련번호를 우선순위로 활용할 수 있다. 先生(xiansheng)의 사용빈도가 學生(xuesheng)의 사용빈도보다 더 높다면,先生(xiansheng)=971 로 하고, 學生(xuesheng)=972 로 할 수 있는 것이다. 이렇게 일련번호를 덧붙여 생성된 심플코드를 편의상 "유니크化 심플코드"라 하기로 하고, 일련번호를 붙이지 않고 중복성이 있는 심플코드를 단순히 "심플코드"라 하며, 양자를 모두 포괄하여 역시 "심플코드"라 한다.
先生(xiansheng)과 學生(xuesheng)의 예에서, 사용자가 "97" 만을 입력하면, 시스템이 先生(xiansheng)과 學生(xuesheng)을 사용자에게 제공하고, 사용자가 이중 선택하도록 할 수 있으며, 사용자가 처음부터 이를 인지하고 "971"을 입력하였다면, 시스템에서는 이를 " 先生(xiansheng)"으로 인식할 수 있는 것이다.
여기서 음절기준 이니셜코드의 기초로 사용된 "x,s" 를 부각하여 표시함으로써, 사용자에게 시각적으로 더 좋은 효과를 줄 수 있다. 부각하여 표시하는 방법 중의 한가지는 先生(XianSheng)와 같이 대문자로 표시하는 것이다. 더 이렇게 대문자로 표시된 단어로부터 시스템이 심플코드 "97" 을 해석해 낼 수도 있다.
6.4 심플코드의 활용 사례
도시이름에 대하여 심플코드(음절기준이니셜코드)를 부여한 사례를 들면 다음과 같다. 이는 철도 정보시스템 등에서 유용하게 쓰일 수 있다.
. 서울 =78, 수원 =78, 대전 =39, 신탄진 =739,...
여기서 서울과 수원의 음절기준 이니셜코드가 같으므로, 시스템내에서는 이를 회피하기 위하여 연번을 붙여 "서울 =781","수원 =782" 와 같이 심플코드를 유니크화할 수 있다. 사용자가 시스템에 "78"만을 송출하면 시스템에서는 적절하게 피드백을 주어(예를 들어 서울과 수원의 목록을 제공 혹은 음성으로 알려줌), 사용자로 하여금 서울과 수원중의 하나를 선택하도록 하면된다. 사용자가 처음부터 이를 인지하고 "781"을 입력하였다면, 시스템에서는 이를 "서울"로 인식할 수 있는 것이다.
만약 서버측 시스템에서 심플코드 "78"을 필요로하는 것이 아니고 "서울"이라는 단어 자체를 필요로 하면, 클라이언트측에서 심플코드 "78"을 해석하여 "서울"을 서버측으로 전송하면 된다. 혹은 클라이언트측에서 심플코드를 해석할 수 있는 경우라 하더라도, 애플리케이션의 성격에 따라 서버측에서 심플코드 자체를 필요로하면, 입력된 심플코드 자체를 서버측으로 송출하면 된다.
도시이름에 대하여 심플코드(전체연관 심플코드, 음절기준 이니셜코드, 자음연관 심플코드, 첫모음+자음연관 심플코드)를 부여하는 다른 예를 들면, 도 1-1을 기준으로, 北京(Beijing)의 음절기준 이니셜코드는 b,j 에 연관된 "25" 가 되고, 전체연관 심플코드는 "2345464" 이 되고, 자음연관 심플코드는 b, j, n, g 에 연관된 "2564" 가 된다.
다시 증권종목(상장회사)의 예를 들면 다음과 같다. 이는 각종 증권 정보시스템에서 유용하게 쓰일 수 있다.
. 동화제약 = 3098, 디지틀조선 = 39397, 한통프리텔 = 83643,...
여기서 예를 들어 "디지털조선"의 경우 음절기준 이니셜코드의 기초로 사용된 "ㄷ, ㅈ, ㅌ, ㅈ, ㅅ"을 부각하여 표시함으로써, 사용자에게 시각적으로 더 좋은 효과를 줄 수 있다.
은행코드의 예를 들면 다음과 같다. 이는 ATM 기 및 각종 금융 정보시스템에서 유용하게 쓰일 수 있다.
. 국민(은행)= 14, 하나(은행)= 82,...
여기서 이렇게 기 정의된 심플코드를 사용자가 입력시 클라이언트(단말기)측에서 해석하여 사용자에게 보여줌으로써 어구입력에 활용할 수 있음은 자명하다. 이를 "단축입력방법"이라 하며, 다음에 "병행입력방법"과 더불어 상세히 설명한다.
6.5 선택빈도에 따른 우선순위 자동 재지정
더 나아가 최초 "증권정보"와 "주권정보" 의 우선순위가 각각 1,2위로 지정되어 있었으나, 특정 사용자가 "주권정보"를 선택하는 횟수가 현저하게 많다면, "주권정보"의 우선순위를 "증권정보"의 우선순위보다 높은 것으로 조정할 수 있다. 설명한 대로 다양한 방법이 있으나 일련번호를 바꾸어 이를 실현할 수 있다. 우선순위 정보를 별도로 시스템에서 가지고 있는 경우는 그 우선순위 정보를 변경함으로써 가능하다.
"주권정보"를 선택하는 횟수가 현저하게 많은지 여부의 판단기준은 시스템이 결정할 수도 있고, 사용자가 (재)지정할 수도 있다. 이러한 판단기준의 예를 들면,10회 중 8번 이상 기 지정된 우선순위와 다르게 선택하면, 기존 우선순위를자동으로 정정하도록 할 수 있다. 옵션에 따라 사용자에게 정정여부를 물어 확인받을 수도 있다.
이는 다른 언어에 있어서도 동일하게 적용될 수 있으며, 위 사례에서 "주권정보"와 "증권정보"를 각각 "先生(xiansheng)"과 "學生(xuesheng)"으로 바꾼 경우에도 동일하게 생각할 수 있다.
6.6 심플코드 자동지정 및 심플코드 연관 알파벳의 부각 표시
특히 전체연관 심플코드 이외에 자음연관 심플코드, 음절기준 이니셜코드, 단어기준 이니셜코드는 전술한 바와 같이 심플코드 생성에 있어서 규칙성이 있으므로, 사용자가 특정 어구에 대한 심플코드 지정시, 심플코드 생성규칙을 지정한 상태에서 특정 어구를 입력하면 그에 대응되는 심플코드를 자동으로 추출하여 시스템에 저장할 수 있다. 또한 심플코드와 연관되는 알파벳을 부각하여 표시하여 줌으로써, 사용의 편리성을 높일 수 있다. 영어의 경우 심플코드와 연관되는 알파벳을 부각하여 표시하는데, 대문자를 사용하여 부각하여 표시할 수 있다.
또한 선출원에서 "단축입력방법" 및 "단축/풀 병행입력방법"을 제시한 바 있다. 단축입력을 위한 심플코드는 시스템에서 정의하여 줄 수도 있고, 사용자가 이를 변경할 수도 있고, 또한 사용자는 새로운 어구에 대한 심플코드를 지정할 수도 있다.
새로운 어구에 대한 심플코드를 정함에 있어서, 선출원에서 소개한 전체연관심플코드, 부분연관심플코드, 자음연관심플코드, 음절기준이니셜코드, 단어기준이니셜코드 등의 심플코드 생성규칙을 활용할 수 있다. 예를 들어, 사용자가 "dancewith the wolf"에 대한 심플코드를 생성함에 있어서, 단어기준 이니셜코드를 심플코드로 사용하고자 한다면, 심플코드 생성모드에서 "dance with the wolf" 를 입력하고, 그에 대한 단어기준 이니셜코드인 "3983"를 입력하여야 한다. 마찬가지로 "증권정보"에 대한 심플코드를 생성함에 있어서, 음절기준이니셜코드를 심플코드로 사용하고자 한다면, 심플코드 생성모드에서 "증권정보" 를 입력하고, "9196"을 입력하여야 한다.
그러나 만약 사용자가 특정 어구에 대하여 심플코드를 지정함에 있어서, 사용자가 원하는 심플코드의 유형을 시스템에 기억시키고 심플코드를 생성하고자하는 어구를 입력함으로써, 굳이 특정 어구에 대한 코드를 입력하지 않고도 심플코드가 자동적으로 지정되도록 할 수 있다. 위의 예에서 음절기준 이니셜코드를 사용한다는 것을 시스템에서 설정하고, "증권정보"만 입력함으로써 "증권정보"에 대한 심플코드가 자동으로 "9196"으로 지정되도록 할 수 있는 것이다. 마찬가지로 음절기준 이니셜코드를 사용한다는 것을 시스템에서 설정하고, 先生(xiansheng)을 입력함으로써 先生(xiansheng)에 대한 심플코드가 자동으로 "97"로 지정되도록 할 수 있는 것이다.
영어의 경우는 심플코드로 사용하고자 하는 알파벳을 부각하여 표시함에 있어서 대문자를 사용할 수 있다고 하였다. 따라서 심플코드 지정방식을 대문자를 심플코드로 사용하는 것으로 미리 지정하고, "DaTe ToNignt" 입력시 자동으로 대문자 "DTTN" 에 대응되는 "3886"이 심플코드로 지정되도록 할 수 있고 혹은 "ToNignt ShoW" 입력시 자동으로 대문자 "TNSW"에 대응되는 "8679"가 심플코드로 지정되도록할 수 있다.
6.7 심플코드를 활용한 어구의 단축입력방법 및 병행입력방법
심플코드(이니셜코드는 심플코드의 특별한 경우이므로 특별히 따로 언급하지 않는 한 심플코드에 포함되는 것으로 함)를 입력시 시스템(클라이언트측 시스템 혹은 서버측 시스템)에서 그 심플코드에 대응되는 어구로 인식하여 처리하는 것이 가능하다. 따라서 특정 심플코드에 대응되는 어구를 인식하여 사용자에게 다시 보여주면 이를 단어의 입력에도 활용할 수 있음은 당연하다.
실제로 외국의 알파벳 입력방법에서는 단어별로 "전체연관 심플코드"를 부여한 색인을 단말기(클라이언트측 시스템)에 저장하고 있으면서, 사용자가 코드입력시 그에 대응되는 단어를 단어별 우선순위에 따라 보여주고 타겟단어를 확정할 수 있도록 함으로써 문자입력시스템을 구현하고 있다. 이에 대해서는 http://www.tegic.com 과 http://www.zicorp.com 의 두 인터넷 사이트를 참고할 수 있다. 이러한 방법을 편의상 본 발명에서는 "전체연관 단축입력방법" 혹은 "외국의 방법"이라고 하기로 한다. 혹은 이러한 접근방법을 사용하는 대표적인 입력시스템이 Tegic 사의 "T9" 이므로 "T9유사 입력방법(T9LIM:T9 Like Input Method)"이라 부르기로 한다. 도 5-2 는 Tegic 사의 T9 시스템에서의 입력사례를 보여준다. 도5-2에서와 같이 사용자가 meet 를 입력하기 위하여 "622 ..."을 입력하면 처음에는 시스템이 사용자에게 "off"를 제공하나,"6228" 이 입력되면,"meet"가 표시된다.
Tegic 社와 Zi 社의 방법을 출원인이 제시하였던 키패드에서의 알파벳 입력방법과 비교하면, 출원인의 알파벳 입력방법은 알파벳 단위로 유니크한 코드를 부여하고, 풀코드에 의하여 타겟알파벳 혹은 타겟어구를 입력할 수 있도록 한 것이고, 위에서 언급한 외국의 방법은 단어단위로 전체연관 심플코드를 부여하고, 그 심플코드에 의하여 타겟단어를 입력할 수 있도록 한 것이다.
외국의 방법의 단점은 단어단위로 코드를 부여함으로써 미리 정의된 단어만을 입력할 수 있는 점, 다른 단어이면서 같은 코드를 가지는 경우 자주 사용되지 않는 단어의 입력을 위하여 토글버튼 혹은 이동버튼을 이용하여 타겟단어를 선택하고 확정함으로써 입력이 용이하지 않다는 점, 입력시 타겟단어가 아닌 단어가 일시적으로 출현할 수 있는 점, 시스템의 저장용량을 많이 차지하고 구현에 많은 비용이 소요된다는 점 등이 있다.
여기서 상용어구(상용단어 혹은 상용구절을 모두 포함하는 개념)에 대하여 심플코드(일부연관 혹은 전체연관)를 부여하고, 심플코드를 이용하여 타겟어구를 입력할 수 있음을 지적한다. 상용어구에 대한 심플코드는 시스템에서 기 정의되어 사용자에게 제공될 수도 있고 사용자가 임으로 지정할 수 있어야 함은 물론이다. 혹은 시스템에서 기 정의한 심플코드를 사용자가 임의로 수정할 수 있어야 한다. 사용자가 임으로 지정할 수 있는 것은 특정 상용어구에 대한 심플코드값을 사용자가 쉽게 알 수 있는 장점이 있다.
본 발명에서 심플코드(부분연관 심플코드, 전체연관 심플코드, 이니셜코드 모두 포함)를 이용하여 타겟어구를 입력하는 방법을 편의상 "단축입력방법"이라고 하며, 풀코드에 의하여 타겟알파벳을 입력하는 방법을 편의상 단축입력방법에 대비하여 "풀입력방법"이라고 한다. 또한 다음에서 설명하는 바와 같이 단축입력방법과풀입력방법을 병행하여 적용할 수 있으며, 이렇게 단축입력방법과 풀입력방법을 병행하여 적용하는 방법을 편의상 "단축/풀 병행입력방법" 혹은 간단히 "병행입력방법" 이라고 부르기로 한다.
알파벳 단위로 유니크한 코드를 부여하고 그 코드를 입력하여 타겟알파벳을 입력할 수 있도록 하는 풀입력방법 중에서 특히 반복선택방법을 사용함으로써 발생하는 모호성을 편의상 "1 차 모호성" 혹은 "알파벳모호성"이라 부르기로 한다. 반면에 외국의 방법에서처럼 모든 단어에 대하여 코드를 부여하고, 이 코드를 통하여 타겟단어를 입력할 수 있도록 하는 방식에서, 같은 코드에 대하여 서로 다른 여러 단어가 존재하는 모호성이 있는데, 이를 편의상 "2 차 모호성" 혹은 "어구모호성"이라 부르기로 한다. 본 발명에서 단순히 모호성이라고 하면 1 차모호성을 의미한다.
특정 입력값에 대하여 1차적으로 심플코드로 해석하고(즉 1차적으로 단축입력방법을 적용 혹은 기본입력모드로 단축입력모드 적용), 입력값에 대응되는 심플코드가 없으면, 2차적으로 풀코드로 인식(즉 2차적으로 풀입력방법을 적용)하는 등의 시나리오 구성이 가능하며, 반대로 입력값에 대하여 1 차적으로 풀코드를 이루는지 검사하고(즉 1 차적으로 풀입력방법을 적용 혹은 기본입력모드로 풀입력모드 적용), 풀코드를 형성하지 못하면 심플코드로 인식(즉 2 차적으로 단축입력방법을 적용)하는 등의 시나리오가 가능하다. 입력값에 대하여 1 차적으로 심플코드로 해석하는 것은 기본입력모드로 "단축입력모드"를 적용하는 것으로 볼 수 있으며, 반대로 1 차적으로 풀코드로 해석하는 것은 기본입력모드로 "풀입력모드"를 적용하는것으로 볼 수 있다. 문자입력에 있어서 상용어구를 위주로 사용하는 사용자는 1 차적으로 단축입력방법이 적용(즉 기본입력모드로 단축입력모드 사용)되도록 하는 것이 바람직하고, 그렇지 않은 사용자는 1 차적으로 풀입력방법이 적용(즉 기본입력모드로 풀입력모드 사용)되도록 하는 것이 바람직할 것이다.
여기서 기본입력모드를 풀입력모드로 설정한 경우, 입력값에 대하여 1 차적으로 풀코드로 간주하여 해석하므로, 심플코드가 입력된 경우에도 그 입력값이 풀코드를 형성할 수 있으며, 사용자가 원하는 타겟단어가 아닌 다른 단어가 입력될 수 있다. 예를 들어, 도 4-2 에서 풀입력방법으로 기준반복선택방법을 적용할 경우, "옥수수" 라는 단어의 심플코드를 "877"로 하고(음절기준 이니셜코드 사용), 이를 입력시 1 차적으로 풀코드로 간주하므로 이를 "여"로 인식할 수 있는 것이다. 이는 "옥수수","옥수수를","무진장","와르르","우수수","와장창","우당탕" 등과 같이 2, 3번째 글자의 초성이 동일한 버튼에 대응되는 경우에 있게된다. 반대로 기본입력모드로 단축입력모드로 설정한 경우, 입력값에 대하여 1 차적으로 심플코드로 간주하여 해석하므로, 풀코드가 입력된 경우에도 타겟단어가 아닌 다른 단어로 인식될 수 있다. 즉 이는 심플코드와 풀코드간의 모호성인데, 이를 편의상 "3 차 모호성"이라고 부르기로 한다.
이러한 3 차모호성의 경우도, 기존의 방법과 유사하게 토글방법 혹은 리스트에서 선택하는 방법으로 극복할 수 있다. 혹은 다른 방법이 있을 수 있는데, 이러한 모호성이 발생할 수 있는 입력값을 입력하기 전에 단어단위로 풀입력모드에서 단축입력모드로 혹은 단축입력모드에서 풀입력모드로 전환할 수 있도록 하는 것이다. 이는 출원인의 선출원에서 제시한 바 "아/아"컨트롤을 두어 단어단위의 히라가나/가타가나 전환 컨트롤을 두고 이를 선택함으로써, 히라가나모드에서 가타가나 한 단어를 입력하거나 혹은 가타가나 모드에서 히라가나 한 단어를 입력할 수 있도록 하는 것과 유사한 것이다. 예를 들어, 기본입력모드가 풀입력모드인 경우, "단축/풀" 컨트롤을 두고 이를 선택한 후 입력되는 입력값에 대하여, 시스템은 이를 처음부터 심플코드로 인식하고 색인을 참조하여 입력값에 해당하는 타겟단어를 사용자에게 제공할 수 있는 것이다. 단축입력모드를 기본입력모드로 사용하는 경우에도 마찬가지로 "단축/풀" 컨트롤 선택후 입력되는 입력값을 처음부터 풀코드로 인식하여 처리할 수 있다 "단축/풀" 컨트롤은 마찬가지로 타겟단어에 대하여 선입력될 수도 있고 후입력될 수도 있으나, 이 경우는 선입력하도록 하는 것이 편리할 것이다.
병행입력방법 적용시의 입력값이 풀코드인지 심플코드인지의 판단은 앞에서 1 차모호성을 제거하기 위하여 색인을 참조하는 것처럼 단어단위로 이루어질 수도 있고, 다음과 같이 입력중간에 입력값이 풀코드인지 심플코드인지 판단될 수도 있다.
풀입력방법을 기본모드로 하고 병행입력방법을 적용시, 하나하나의 코드입력시마다, 입력값이 풀코드를 형성하는지 조사하여 풀코드를 형성하지 못하는 것으로 판단되는 시점에서 입력값을 심플코드로 판단하여 심플코드 색인을 참조하여 그에 대응되는 어구를 사용자에게 보여줌으로써 병행입력방법의 효율을 배가 시킬 수 있다. 단축입력방법을 기본모드로 병행입력방법을 적용할 경우도 마찬가지로 하나하나의 코드입력시마다 입력값과 색인을 비교하여 색인에 있는 입력값과 일치하는 단어가 없는 것을 확인하는 순간 이를 기 설정된 풀입력방법의 풀코드로 판단하여 처리할 수 있다. 이는 입력중간에 발생하는 3 차 모호성을 각각의 풀입력방법에서의 규칙을 적용하여 입력초기에 제거할 수 있음을 의미한다. 이는 풀입력방법으로 선출원에서 제시하지 않은 알파벳입력방법을 사용할 경우도 마찬가지로 적용될 수 있다. 선출원에서 제시하였던 풀입력방법(기준반복선택방법, 부분전체선택방법)을 기준으로 예를 들면 다음과 같다.
한국어의 경우 예를 들면, 풀입력방법으로 도 4-2 을 기준으로 기준반복선택방법을 적용하였을 경우, 풀코드에 의한 모든 음절의 2번째 입력값과 3번째 입력값은 항상 같은 값을 가져야 하므로 이러한 조건에 위배되는 경우 입력값을 심플코드로 판단하여 처리할 수 있다. 쌍자음을 기본자음의 조합으로 처리하는 것을 허용하는 경우는 그에 따른 판단기준을 적용할 수 있다. 이는 기준반복방법을 적용하는 모든 경우에 적용가능하다.
또한 모든 언어에 있어서, 풀입력방법으로 부분전체선택방법을 적용시, 하나의 알파벳에 2 개의 입력값이 대응되며, 그 2 개의 입력값 중 1 번째 입력값에 대하여 2 번째 입력값은 제한되어 있다. 예를 들어, 영어의 경우 도 1-1 에서와 같이 좌우직선조합만을 사용하는 경우, 숫자를 부분전체선택방법으로 선택하지 않도록 하면, 첫번째 행의 버튼([1],[2],[3])이 하나의 알파벳에 대응되는 1 번째 입력값으로 사용되었을 경우 2 번째 입력값으로 올 수 있는 값은 역시 1 번째 행의 버튼([1], [2], [3])인 것이다. 마찬가지로 [2]+[1] 이 입력되고 나서 다시 두번째행의 버튼([4], [5], [6])이 입력되면, 풀코드를 형성하기 위하여 다음에 올 수 있느 값은 역시 두번째 행의 버튼([4], [5], [6]) 중의 하나인 것이다. 입력값이 이를 위배하는 순간 시스템에서는 입력값을 심플코드로 간주하고, 그 심플코드에 대응되는 단어를 사용자에게 우선순위에 따라 추천하여 줄 수 있는 것이다. 예를 들어 도 5-3에서와 같이 부분전체선택방법을 풀입력방법으로 하고, 풀입력방법을 기본입력모드로 하는 병행입력방법에서, 사용자가 "help"의 심플코드를 4357 입력시, 2 번째 입력값 3 이 입력되는 순간 입력값이 풀코드를 이루지 못하는 것을 시스템이 인식하고, 입력값을 심플코드로 간주하여 처리할 수 있는 것이다.
만약 도 4-2 에 대하여 부분전체선택방법을 적용한다면, 풀코드를 형성하기 위하여 최초 [1] 버튼의 입력에 대하여 올 수 있는 다음 버튼은 [1] 또는 [2] 버튼밖에 없다. 이를 위배하였을 경우 입력값이 풀코드가 아닌 심플코드인 것으로 판단하여 색인을 참조하여 입력값에 대응되는 타겟단어를 우선순위에 따라 사용자에게 추천하여 줄 수 있다. 도 1-3 에서와 같이 P, Q, R, S 의 4개 알파벳이 [7] 버튼에 배정되는 경우, 선출원에서 지적한 바와 같이 4 개의 알파벳 중 하나의 알파벳을 상하인접조합을 이루는 격자에 배치할 수 있으며, 이 경우에도 하나의 알파벳을 위한 풀코드를 이루기 위하여 [7] 버튼이 입력되면 다음에 올 수 있는 버튼은 3 번째 행의 버튼([7], [8], [9]) 혹은 상하인접조합의 버튼([4] 버튼)만이 올 수 있으므로, 이에 위배되는 경우 입력값을 심플코드로 처리할 수 있다. 이는 선출원에서 제시한 부분전체선택방법을 적용하는 경우에 모든 언어에 대하여 적용가능하다.
예를 들어 도 1-1 을 기준으로한 심플코드 색인에 北京(Beijing)의 심플코드가 음절기준 이니셜코드로써 "25" 이 저장되어 있는 상태에서, 풀입력방법으로 부분전체선택방법을 사용하고, 풀입력모드를 기본입력모드로 하여, 사용자가 "25" 을 입력하였을 경우, 시스템은 처음(단어시작시점 부터) [2] 입력 후 [5]가 입력되는 순간 입력값 "25" 가 풀코드를 이를 수 없는 것([2] 다음에 올 수 있는 좌우직선조합의 버튼은 [1],[2],[3] 중의 하나이므로)을 인식하고, 심플코드 색인을 참조하여 입력값 "25" 에 대응되는 "北京" 을 사용자에게 제공할 수 있는 것이다. 중국어의 경우 특별히 예시한 심플코드 "25" 에 대응하는 어구로 한자(漢字, 즉 北京)를 사용자에게 제공할 수 있다(한자 "北京"이 타겟단어이므로). 중국어가 아닌 소리문자를 사용하는 언어에 있어서는 심플코드 "25" 에 대응하는 "Beijing" 를 시스템이 사용자에게 제공하게 될 것이다. 심플코드 "25" 에 대응하는 어구가 여러 개 있다면, 목록의 형태로 제공되거나 특정버튼을 반복하여 누름으로써(토글방식에 의하여) 사용자가 원하는 어구를 선택하도록 할 수 있다..
도 5-4 를 참고한다.
결국 도 5-4 와 같이 병행입력방법을 적용하는 것은 "北京(Beijing)"과 같이 자주 사용하는 단어에 대한 심플코드를 색인에 등록하여 두고, 일반적인 풀입력방법과 단축입력을 모드전환없이 병행하되, 심플코드로 등록된 단어를 입력시 적은 타수로 입력할 수 있도록 하는 것이다.
도 4-5 의 경우는 버튼당 기본자음이 하나씩만 배정되어 있으므로, 한국어에서 범용하게 사용할 수 있는 음절기준 이니셜코드를 심플코드로 사용할 경우, 단축입력방법과 풀입력방법을 병행하여 적용시에도 3차 모호성 없이 입력이 가능한 좋은 특성이 있다. 즉 병행입력방법 적용시 사용자가 음절기준 이니셜코드를 입력하면, 2번째 입력(경음, 격음을 컨트롤처리방법에 의하여 입력할 경우)부터 입력값이 풀코드를 이룰 수 없게 되므로, 심플코드의 색인을 검색하여 우선순위에 따른 적절한 단어를 사용자에게 추천하여 줄 수 있는 것이다. 풀코드 입력의 경우도 같다.
위에서 예를 든 바와 같이, 병행입력방법 적용시 입력중간에 입력값이 심플코드인지 풀코드인지 판단할 수 있는 것이 본 발명의 "핵심"중의 하나이다. 이는 출원인이 제시한 풀입력방법을 사용하는 경우 뿐만이 아니라 다른 풀입력방법을 사용하는 경우에도 적용된다. 한가지 예를 예를 들면, 각 알파벳이 배정된 제1버튼과 제1버튼에서의 알파벳의 순위에 해당하는 제2버튼을 조합하여 알파벳을 입력하는 방법이 있었다. 즉, 도 1-1 에서 P = [7]+[1] 로 입력하는 것이었다.
이 경우 제2버튼은 도1-1에서 [1],[2],[3] 버튼중의 하나가 되므로, 입력값이 이 규칙을 위배하는 순간, 시스템은 입력값을 심플코드로 간주하여 처리할 수 있는 것이다. 특히 출원인이 제시한 풀입력방법은 위의 예시에서와 같이 병행입력방법 적용시 입력값이 풀코드를 이루는지를 입력중간에도 쉽게 알 수 있는 좋은 특성이 있다.
또한 출원인의 선출원에서 언급한 바와 같이 심플코드 혹은 풀코드를 해석하는 것은 클라이언트측에서 일어날 수도 있고, 서버측에서 일어날 수도 있다. 그리고 선출원에서 1 차모호성(알파벳 모호성)을 극복하기 위한 색인을 룩업하는 데 있어서, 1차적으로 클라이언트측의 색인을 참조하고 2차적으로 서버측 색인을 참조하는 시나리오를 심플코드 혹은 풀코드를 해석하는 데 있어서도 적용할 수 있다. 반대로 1차적으로 서버측 색인을 참조하고, 2차적으로 클라이언트측 색인을 참조하는 것도 가능하다. 또한 더 나아가 입력값을 먼저 심플코드로 해석하되, 1차적으로 클라이언트 측의 색인을 참조하고, 2차적으로 서버측 색인을 참조하며, 입력값에 대한 심플코드를 검색하지 못하면, 다시 풀코드로 해석하되, 1 차적으로 클라이언트 측에서 해석하고, 클라이언트측에 이러한 해석기능이 없으면, 2차적으로 서버측에서 해석하는 것이 가능하다. 다른 예로 입력값을 1 차적으로 심플코드로 해석하되, 클라이언트측의 색인과 서버측의 색인을 모두 참조하여, 사용자에게 제공하고 타겟단어를 사용자로 하여금 선택하도록 하는 것도 가능하다. 이와 같이 해석방법(심플코드, 풀코드)과 해석장소(클라이언트측, 서버측)를 적용함에 있어서 이와 유사한 변형이 가능하다. 즉 정리하면, 해석방법(심플코드, 풀코드)과 해석장소(클라이언트측, 서버측)의 적용에 있어서 다양한 조합이 가능하다는 것이다. 즉 입력값에 대하여 도 5-5 에서 (A)-(B)-(C)-(D)의 순서로 혹은 (A)-(C)-(B)-(D)의 순서뿐만 아니라 (A),(B),(C),(D)의 모든 다양한 조합에 의한 순서로 적용이 가능하다는 것을 의미한다.
이렇게 단축입력방법과 풀입력방법을 병행하여 적용하는 장점은 다음과 같다. 우선 풀입력방법을 사용할 수 있으므로 사용자는 기 정의된 단어 이외의 사전에 존재하지 않는 단어라도 모든 단어를 입력할 수 있으며, 상용어구에 대하여 단축입력방법의 사용을 위한 심플코드를 편의대로(부분연관/전체연관) 지정할 수 있고, 부분연관 심플코드를 지정하여 둠으로써 입력타수를 대폭 줄일 수 있다. 그리고 단어에 대해서 뿐만 아니라 구절에 대해서도 단어기준 이니셜코드를 부여할 수있는 장점이 있다. 그러나 외국의 방법에서는 모든 단어의 입력에 단어단위의 색인을 이용한 방법을 사용하므로, 서로 다른 단어에 대하여 같은 코드가 부여되는 경우를 최소화 하기 위하여 전체연관 심플코드를 사용할 수 밖에 없었다.
또한 시스템이 특정 상용어구와 그 상용어구에 대한 코드값을 가지고 있는 "색인"을 가지고 있어야 하는데, 모든 단어에 대한 "색인"을 가지고 있는 외국의 방법에서 보다 훨씬 더 적은 용량의 저장장소를 필요로 한다. 그리고 이 "색인"은 모호성을 없애기 위하여 모호성이 발생할 수 있는 단어에 대하여 올바른 단어에 대한 "색인" 혹은 그른 단어에 대한 "색인"을 시스템에서 가지고 있어야 하는데, 이 모호성을 없애기 위하여 준비하는 색인과 공동으로 사용될 수 있다.
모든 언어에 있어서 특정 단어의 음가를 가지고 있는 것은 자음이므로 자음을 추출하여 약어를 만드는 기법은 이미 널리 사용되고 있었다. 영어의 경우 예를 들면, 군대용어중 "captain" 에서 음가를 가지고 있는 자음 "CPT"를 추출하여 약어로 사용하고, "private" 에서 "PVT"를 약어로 사용하고, "sergent"에서 "SGT"를 약어로 사용하고, "staff sergent"에서 "SSG"를 약어로 사용하고, "sergent first class"에서 SFC 를 약어로 사용하는 등등이다. 물론 예로 든 "captain" 과 "private" 는 각각 2 음절로 이루어져 있지만, 여기서 약어로 추출된 자음은 각 음절을 대표하는 자음으로 볼 수 있다. 따라서 "captain" 의 경우는 "CPT"와 연관된 "278"을 심플코드로 지정할 수 있는 것이다.
이렇게 음절을 기준으로 임의로 상용어구에 대하여 부분연관 심플코드를 지정하여 단축입력방법을 적용할 수 있는 것은 입력노력을 감소시키는 이외에도 큰의미가 있다. 음성학적으로 음절은 "심리적 실체"라고 규정하고 있다. 또한 음절에서 음가를 가지고 있는 것은 자음인 것이다. 예로 든 captain 에서 모음"AAI"만을 추출하였을 경우 captain 을 유추해 내는 것은 거의 불가능하다. 그러나 자음 "CPTN" 혹은 "CPT"를 추출하면 쉽게 captain 을 유추해 낼 수 있다. 영어의 어떤 문장에서 각 단어별로 모음을 제거하고 자음만을 나열해 놓아도 보통의 경우 원래의 문장을 유추해 낼 수 있다고 한다. 즉 음절을 이루는 주체인 각 자음과 연관하여 부분연관 심플코드를 사용하는 것은 사용자가 자연스럽게 단축입력방법에 적응할 수 있음을 의미하고, 사용자에게 편리를 줄 수 있음을 의미한다.
특히 영어권에서는 약어를 사용하는 것이 일반화되어 있고, 상장회사명과 같은 경우는 일정한 개수로 이루어진 약어가 지정되어 있으므로, 이 약어에 기초하여 심플코드를 활용할 수 있다.
특정 어구에 대하여 사용자가 편의대로 심플코드(부분연관, 전체연관)를 지정할 수 있도록 하는 것은 상용어구에 대한 코드값을 기억하기 용이하도록 하는 장점이 있다. 더 나아가 만약 어떤 사용자가 극히 일부의 상용어구만을 필요로하는 사용자라면(예를 들어 10 개 이하의 상용어구만을 사용), 상용어구의 알파벳에 연관된 코드를 굳이 부여하지 않고, 단지 각 상용어구에 1,2,3,... 등과 같이 심플코드를 부여할 수도 있다.
6.8 심플코드/대응어구의 그룹핑 및 검색범위 지정
다수의 어구에 대하여 심플코드를 지정하면, 많은 중복성이 발생할 가능성이 있는데, 심플코드에 대응되는 어구들을 그룹핑을 하여, 특정 어구그룹에 대해서만심플코드를 검색하토록 하여 심플코드간의 모호성(2차모호성)을 감소시킬 수 있다. 하나의 어구가 반드시 하나의 그룹에만 속해있어야 하는 것은 아니고 여러 그룹에 속해 있을 수도 있다.
예를 들어, 심플네이밍한 어구들을 상장회사명, 도시명, 상용어구,... 등의 그룹으로 그룹핑하고 다시 상용어구 그룹을 사회분야, 정치분야,... 등의 세부그룹으로 하여 트리형태로 그룹핑할 수 있다. 본 예에서는 2단계의 트리형태의 그룹핑을 제시하였으나,3단계,4단계 혹은 그 이상 단계로 트리형태의 그룹핑이 가능하다. 도5-6을 참고한다. 사용자가(혹은 시스템이) 심플코드의 검색범위를 상장회사명 그룹으로 한정하면, 특정 심플코드 입력시 시스템은 상장회사명 그룹의 범주에서만 입력된 심플코드에 대응되는 네이밍된 어구를 검색하므로 2차모호성을 감소시킬 수 있다. 마찬가지로 검색범위를 상용어구로 하면 상용어구 그룹이하의 모든 세부그룹을 포함하여 검색범위로 되도록 할 수 있다. 만약 상용어구 그룹중 사회분야 그룹을 검색범위로 지정하면, 사회분야를 포함하는 그 이하(트리형태의 그룹구조에서)의 그룹만이 검색범위로 될 것이다.
도5-6에서의 트리형태의 그룹은 윈도우의 탐색기에서 폴더처럼 생각하면 된다. 검색범위는 시스템에 의하여 자동으로 재지정 될 수도 있다. 예를 들어, 도시명의 서브그룹으로 행정구역의 계층구조가 저장되어 있을 때, 사용자가 특정도시를 선택하고 나면, 그 다음 입력값에 대한 검색범위는 당연히 특정도시의 하위 행정구역 단위의 명칭이 될 것이다. 예를 들어, 사용자가 도시중 "서울"을 선택하고 나면, 다음 선택범위는 서울시에 있는 "구"가 되며, 다시 사용자가 "양천구"를 선택하고 나면, 다음 선택범위는 양천구내에 있는 "동"이 되는 것이다.
6.9 중계서버의 활용
심플코드의 해석은 클라이언트측에서 이루어질 수도 있고, 서버측에서 이루어질 수도 있는데, 이러한 심플코드(경우에 따라 풀코드 포함)의 해독을 전담하여 심플코드에 대응되는 어구를 클라이언트측 혹은 다른 서버측에 제공하는 중계서버를 둘 수 있다. 도6-1를 참고할 수 있다. 또한 도6-1에서 클라이언트측에서 1차적으로 심플코드를 해독하고 입력된 심플코드에 대응하는 어구를 해석하지 못하면,2차적으로 중계서버에서 입력된 심플코드에 대응하는 어구를 해석하고 해석실패시, 다시 3차적으로 각각의 서버에서 입력된 심플코드에 대응되는 어구를 해석하는 것이 가능하다. 3차 심플코드 해독 서버(편의상 "3차서버"라 함)는 입력된 심플코드 혹은 심플코드에 대응되는 어구를 사용하는 어플리케이션을 탑재한 서버가 된다.
중계서버를 두면, 3차서버측에서는 심플코드가 아닌 어구를 필요로 하는 경우에도, 사용자가 심플코드를 입력하고, 3차서버측에서 심플코드와 심플코드에 대응되는 어구를 저장하고 있지 않아도, 중계서버가 사용자로부터 입력된 심플코드를 중계서버가 해석하여 심플코드에 대응되는 어구를 3차서버측에 전달해 주는 것이 가능하다.
심플코드의 코드값 하나 하나가 입력될 때마다, 심플코드에 대응되는 어구가 저장된 색인을 검색하여 클라이언트측 혹은 각 서버측에 피드백을 줄 수도 있고 단어단위로 피드백을 줄 수도 있다.
6.10 단어단위의 구분
본 발명에서 단어단위라 함은 단어시작에서부터 단어종료까지를 의미한다.
이는 단어와 단어의 구분을 줄 수 있는 모든 요소(단어시작, 공백, 모드전환, 엔터,...)의 조합을 통하여 식별될 수 있다. 예를 들어 공백 ∼ 공백, 공백 ∼ 모드전환 등은 단어시작 ∼ 단어종료 등을 통하여 단어가 입력되었음을 식별할 수 있다. 단어단위로 피드백을 주는 것은 현재 네트웍 환경을 지원하는 언어를 통하여 충분히 구현될 수 있다.
6.11 심플코드/대응어구의 다운로드
더 나아가 서버측에 있는 심플코드와 심플코드에 대응하는 어구를 사용자가 직접 입력하여 저장시키지 않아도, 클라이언트 측으로 다운받을 수 있도록 할 수 있다.
다운받는 단위는 하나 하나의 어구 단위로 다운받을 수도 있고, 위에서 예를 든 어구의 그룹 단위(트리구조의 그룹)로 다운받을 수도 있다. 상위의 그룹을 선택시 하위의 그룹까지 다운받을 수 있다. 서버측 어구그룹의 트리구조를 그대로 유지하면서 다운받을 수도 있고, 해당그룹과 하위그룹에 속한 어구들을 클라이언트측에 사용자가 지정하는 하나의 그룹으로 하여 다운받을 수도 있다. 심플코드의 해독을 주기능으로 하는 중계서버가 있다면, 중계서버에서 이러한 기능을 담당할 수도 있다.
7. 기호의 입력
선출원에서 제시하였던 바, "기준격자에 가까운 순서"로 자국어 알파벳을 배치하고, 다음으로 숫자 그리고 영어알파벳을 배치할 수 있음을 설명하였고, 기준반복선택방법 적용시 역시 기준격자에 가까운 순서로 이를 자국어 알파벳, 숫자가 선택되도록 할 수 있음을 설명하였다. 마찬가지로 후속컨트롤처리방법을 적용함에 있어서, 특정버튼에 속한 자국어 알파벳 뿐만아니라, 숫자, 영어알파벳도 후속컨트롤처리방법을 통하여 입력할 수 있다.
본 발명에서는 한 걸음 더 나아가 선출원에서 키패드상에 표시하여 입력할 수 있도록 하였던, 각종 기호 등을 키패드상에 표시하지 않고도 효율적으로 입력할 수 있는 방법(즉, 은닉형 컨트롤처리방법에 의하여)을 제시한다.
즉 선출원에서 컨트롤들을 배치하였던 격자중 적절한 격자에 "기호컨트롤"을 두고, 기호컨트롤과 기호를 의미할 수 있는 버튼(컨트롤 버튼이 아닌 다른 버튼)을 조합하여 기호를 입력하는 것이다. 여기서 기호를 의미할 수 있는 버튼의 예를 들면, 마침표의 경우 마침표에서 "ㅁ"을 쉽게 연상할 수 있으므로 [5] 버튼이 된다.
예를 들어 선출원의 발명 내용 중 한국어의 실시예(도4-2)에서 기호컨트롤을 [*] 버튼을 2번 연속누름으로 선택할 수 있는 격자의 위치에 둘 수 있다. 즉 ㄱ(대표알파벳), ㅋ(2nd), 기호(3rd),... 와 같이 대표알파벳과 후속알파벳의 관계를 두는 것이다. 컨트롤 선입력의 경우, "마침표"를 입력시, ㅁ = {기호}+ㅁ =+[5] 이 된다. 컨트롤 후 입력시, ㅁ = ㅁ+{기호}=[5]+이 된다. 만약, 기호컨트롤을버튼을 3번 눌러서 선택할 수 있는 격자의 위치에 두었을 경우는 예에서버튼의 입력을 하나씩 더하면 된다.
기호컨트롤을 하나만 두었을 경우, 10개의 각 숫자버튼마다 기호의 의미를한가지씩 부여하더라도, 10개 정도의 기호만을 입력할 수 있다. 각 버튼에 기호의 의미를 부여한 예를 들면 다음과 같다.
[1] 버튼 :? 의 의미 부여 ("ㄱ" 이 배치되어 있는데 ? 와 모양이 유사)
[2] 버튼 :! 의 의미 ("ㄴ"이 배치되어 있는데 "느낌표"의 첫글자 동일)
[3] 버튼 $ 의 의미 ("ㄷ"이 배치되어 있는데 "달러"의 첫글자 동일)
[4] 버튼 :...
[5] 버튼 :. 의 의미 ("ㅁ"이 배치되어 있는데 "마침표"의 첫글자 동일)
[6] 버튼 :* 의 의미 ("ㅂ"이 배치되어 있는데 "별표"의 첫글자 동일)
[7] 버튼 :, 의 의미 ("ㅅ"이 배치되어 있는데 "쉼표"의 첫글자 동일)
[8] 버튼 : " 의 의미 ("ㅇ"이 배치되어 있는데 "인용부호"의 첫글자 동일)
[9] 버튼 :∼의 의미 (모음 "ㅡ"가 배치되어 있는데 ∼ 와 모양이 유사)
[0] 버튼 : 의 의미 (숫자 0 이 배치되어 있는데와 모양 유사)
위에서와 같이 각종의 기호를 연상시킬 수 있는 버튼과 기호컨트롤을 조합함으로써 기호를 입력할 수 있다. 각 버튼에 기호의 의미를 부여하는 것은 예에서와 같이 기호의 자국어 명칭/모양과 배치된 알파벳의 연관관계, 혹은 영어 명칭/모양과 배치된 영어 알파벳과의 연관관계, 배치된 숫자 명칭/모양과의 연관관계 등을 고려하여 기호의 의미를 부여할 수 있다. 이는 개인의 취향에 따라 다를 수 있으므로 반드시 위와 같이 되어야 하는 것은 아니고, 개개인으로 하여금 각 버튼별로 기호의 의미를 (재)설정하도록 할 수도 있다.
이를 통하여 예시에서와 같이 빈번히 쓰이는 기호를 연상이 용이한 숫자 버튼에 속한 후속알파벳인 것처럼 처리할 수 있다. 위의 예에서 물음표를 모양의 유사성을 고려하여 "ㄱ"이 배치된 [1] 버튼과 연관시킨 것은 물음표보다 더 빈번히 쓰이는 마침표가 "ㅁ"으로 시작하기 때문이다.
마찬가지로 버튼별로 기호의 의미를 부여하는데 있어서, 영문명칭/모양 혹은 숫자명칭/모양을 이용할 수도 있다. 아래의 예는 자국어의 경우와 혼용하여 적용할 수도 있다.
[1] 버튼 :? 의 의미 (알파벳 "q" 가 배치되어 있는데 "Question mark"의 첫글자 동일)
[2] 버튼 :, 의 의미 ("c"가 배치되어 있는데 "Comma"의 첫글자 동일)
[3] 버튼 :. 의 의미 ("d"가 배치되어 있는데 "Dot"의 첫글자 동일)
[4] 버튼 :! 의 의미 ("i"가 배치되어 있는데 "!"와 모양 유사)
[5] 버튼 :...
[6] 버튼 :...
[7] 버튼 :/ 의 의미 ("s"가 배치되어 있는데 "Slash"의 첫글자 동일)
[8] 버튼 :: 의 의미 (숫자 "8"이 배치되어 있는데 : 과 모양 유사 )
[9] 버튼 :! 의 의미 ("x"가 배치되어 있는데 "eXclamation mark"와 발음 연관)
[0] 버튼 :의 의미 (숫자 0 이 배치되어 있는데와 모양 유사)
영어를 기준으로 기호의 의미를 부여하는 것은 영어가 혼용하여 표기된 키패드를 사용하는 비영어권에서도 유용하게 사용될 수 있다. 또한 colon 을 숫자 8 의모양의 유사성을 두어 설정하는 것 역시 언어에 상관없이 범용하게 사용될 수 있는 장점이 있다. 마찬가지로 comma 역시 숫자 9 와의 모양의 유사성을 두어 [9] 버튼에 속한 후속알파벳으로 간주할 수도 있으나, 위의 예에서는 그러하지 아니하였다.
기호컨트롤은 적절한 버튼에 설정하면 된다. 영어의 경우 도1-1에서 [*]버튼에 다른 용도의 컨트롤을 배치하지 않는다면,버튼 1 타로 기호컨트롤을 선택하도록(즉버튼 기준격자의 위치에 기호컨트롤을 두는 것) 할 수도 있다. 그리고 첨자가 붙은 변형알파벳이 존재하는 유럽 각국어의 경우는 [0] 버튼 혹은 [#] 버튼의 기준격자의 위치에 기호컨트롤을 둘 수 있다. 단 [0] 버튼에 기호컨트롤을 두는 경우는 위의 예에서 처럼 "" 기호의 의미를 부여하지 않는 것이 좋다.
기호컨트롤을버튼에 두고 컨트롤후입력을 적용하면, 영어의 경우 도1-1에서 colon(:) 입력시,:=[8]+{기호}=[8]+과 같이 된다.
위의 예에서 보듯이 각 버튼에 연관되는 기호의 의미를 하나씩 부여하고 기호컨트롤을 컨트롤 버튼의 어느 한 격자에만 두는 경우는 약 10개의 기호만을 입력할 수 있다. 그리고 각 버튼에 의미를 부여하는데 있어서도 영어의 예에서와 같이 "s" 가 배정된 버튼에 slash, semi-colon, period 등의 의미를 부여할 수도 있으나, 그 중 하나인 slash 의 의미만을 부여하였다. "d" 가 배정된 버튼에도 dot의 의미를 부여하였으므로, exclamation mark 의 경우 부득이 모양의 유사성을 고려하여 "i"가 배정된 버튼에 "!" 의 의미를 부여하였다.
따라서 기호컨트롤을 다수 두어(예를 들어 기호컨트롤 1, 기호컨트롤2...),컨트롤을 선택할 수 있도록 함으로써, 더 많은 수의 기호를 컨트롤처리방법을 통하여 입력할 수 있다. 예를 들어, "d" 가 배정된 버튼에 dot 의 의미를 부여하고 (혹은 "ㅁ"이 배정된 버튼에 "마침표"의 의미를 부여하고), 모양이 유사한 comma를 dot의 후속알파벳인 것처럼 처리할 수 있다.
도4-5에 기호컨트롤을 추가한 도7-2의 예에서와 같이 "기호컨트롤1"을버튼 3타로 선택할 수 있도록 하고, 컨트롤 후입력을 적용하는 경우,dot=[3]+{기호1}=[3]+이 되고, comma =[3]+{기호 2} =[3]+가 된다. 이를 체인형 후속컨트롤처리방법의 관점에서 보면, comma=dot+{다음}=dot+=[3]+이 된다. 만약 격음을 컨트롤처리방법에 의하여 입력하지 않는 것으로 한다면(즉 격음컨트롤이 없는 것으로 간주한다면),버튼 2타에 "기호컨트롤1"이 선택됨은 당연하다(건너뛰기 컨트롤처리). 마찬가지로 모양이 유사한 colon 과 semi-colon 도 같은 버튼에 배정된 후속알파벳들로써 간주하고, 컨트롤처리방법에 의하여 입력할 수 있다. 이외의 다른 기호들에 대해서도 이와 유사한 요령으로 적용할 수 있다.
이렇게 "기호컨트롤1"과 "기호컨트롤2"로 2개의 기호컨트롤을 사용하는 경우도, 각각의 버튼에 기호의 의미를 부여하고 이를 기억하고 있어야 하며, 입력할 수 있는 기호의 갯수에 한계가 있게 된다. 따라서 dot와 comma를 그리고 colon과 semi-colon 을 그룹핑한 것과 같은 요령으로 기호를 그룹핑하고, 다수의 기호컨트롤을 둠으로써, 더 많은 기호를 입력할 수 있도록 할 수 있다.
기호들을 그룹핑하는 방법 역시 사용자의 편의대로 할 수 있도록 하는 것이 바람직하다. 본 발명에서는 일반적으로 사용될 수 있는 기호 그룹핑의 예를 보인다. 먼저, 각종의 기호의 모양의 형태를 기준으로 dot 의 변형형태를 하나의 그룹으로 설정할 수 있다. 예를 들어,dot(.),comma(,),colon(:),semi-colon(;), quotation mark("),..., question mark(?), exclamation mark(!),... 와 같이 그룹핑하는 것이 가능하다. 이는 dot 형태,즉 "0 차원" 형태의 기호를 그룹으로 그룹핑 한 것이다. 여기서 ? 와 ! 는 0 차원 형태와 1차원 형태를 동시에 가지고 있으므로, 0 차원 형태(dot 형태)의 그룹에 포함시킨 것이다. 그룹의 부속순위를 정함에 있어서는 선출원에서 언급한 바와 같이 사용빈도 등을 고려할 수 있으나, 역시 사용자로 하여금 설정하도록 할 수 있는 것이 좋을 것이다. 또한 후속알파벳으로 간주하는 기호의 갯수가 많을 때는 기호컨트롤을 후입력하도록 하는 것이 편리할 것이고, 디스플레이 창이 있는 단말기에서는 컨트롤버튼의 누름에 따라 기호가 변하는 것을 확인할 수 있다.
이렇게 그룹핑된 dot 형태(0 차원 형태)의 기호를 특정 버튼에 연관시키는 것 역시 사용자의 편의대로 설정할 수 있도록 할 수 있다. 예를 들어, 그룹을 대표할 수 있고 가장 빈번히 쓰이는 기호가 dot 라고 하면 dot의 "d"를 포함하고 있는 [3] 버튼에 속한 후속알파벳으로 간주할 수 있다. 도1-1에 기호컨트롤을 추가한 도7-1의 예에서 기호컨트롤 버튼을버튼으로 하고, 컨트롤 후입력을 적용하면, dot=[3]+, comma=[3]+, colon=[3]+, semi-colon=[3]+,... 과 같이 된다. 혹은 0 차원 형태이므로 [0] 버튼에 속한 후속알파벳으로 간주한다면,[3] 버튼이 아닌 [0] 버튼과 결합하게 될 것이다. 아니면, dot 형태는 가장 기본적인 형태이므로 [1] 버튼에 속한 후속알파벳으로 간주할 수도 있다.
다음으로 line 형태, 즉 "1 차원" 형태의 기호를 그룹으로 그룹핑 할 수 있다. 예를 들어, slash(/), 모자기호(^), question mark(?), exclamation mark(!), 둥근괄호1((), 둥근괄호2()), 꺾쇠괄호1(), 꺾쇠괄호2(), 직각괄호1([), 직각괄호2(]), 물결기호(∼), minus(-), 화살표1(-), 화살표2(-),... 등과 같이 그룹핑할 수 있다. 역시 선출원에서 설명한 바와 같이 사용빈도 등을 고려하여 부속순위를 두면되며, 이를 특정버튼의 후속알파벳으로 연관시키는 것은 앞에서 설명한 바와 같이 적절한 버튼을 설정할 수 있다. 예를 들어 [1] 버튼에 속한 후속알파벳으로 간주하거나 혹은 알파벳 "l"이 배치된 [5] 버튼의 후속알파벳으로 간주하는 것이다.
그 다음, line의 결합형태, 즉 "2차원" 형태의 기호를 그룹으로 그룹핑 할 수 있다. 예를 들어, at(), ampersent(&), asterisk, shalp(#), dollar($), 원화기호(W+=), 엔화기호(),..., heartl(♡), heart2(), 클로버 1(♧), 하얀세모1(◁), 하얀세모2(▷), 하얀세모3(▽),..., 검은세모1(◀),..., ☏, ☎, ☜, ♨ 등과 같이 그룹핑할 수 있다. 역시 부속순위는 사용빈도를 고려하여 둘 수 있으며, 특정 버튼과 연관시키는 것은 적절한 방법을 택하면 된다. 단 앞에서의 0차원 형태의 기호, 1차원 형태의 기호를 연관시킨 버튼이 아닌 다른 버튼에 연관시키면 된다.
위에서와 같이 0차원,1차원,2차원 형태의 3개 그룹(이를 편의상 "3대그룹"으로 부름)으로 기호를 그룹핑할 경우 연관되는 숫자버튼을 3개만 기억하면 되는 장점이 있으나, 빈번히 사용되지 않는 기호를 입력할 경우, 컨트롤버튼을 여러번 눌러야 하는 단점이 있다. 따라서 약간 그룹을 더 세분화하는 예(이를 편의상 "세부그룹"으로 부름)를 보이면 다음과 같다.
먼저 2차원 형태의 기호그룹에서 line 의 결합형태를 이루는 기호그룹(예. *,#,%,...)과, 단일폐곡선을 이루는 기호그룹(예. ◁, ◀,...)으로 나눌 수 있다. 또한 그룹에서 ☏, ☎, ☜, ☞, ♨, ... 등과 같이 그림형태를 이루는 기호를 별도의 그룹으로 둘 수 있다. 역시 적절한 버튼에 속한 후속알파벳으로 두면 된다. 이들 그룹을 별도로 둘 경우, 앞의 기호 그룹에서 이들 기호를 제외할 수도 있고 제외하지 않을 수도 있으며, 이는 다른 경우에 대해서도 마찬가지이다.
다음으로 1차원 혹은 2차원 형태의 기호 중 수학식에 사용되는 기호들, 즉 +,-,*,/,root(), sigma(), integral(),... 등을 별도의 그룹으로 둘 수 있다. 역시 적절한 버튼에 속한 후속알파벳으로 두면 된다.
또한 방향을 나타낼 수 있는 기호들, 즉 →, ←, ↑, ↓, ↗, ↙, ↖, ↘, ◁, ▷, ◀,... 을 그룹으로 나눌 수 있다. 역시 적절한 버튼과 연관하여 후속알파벳을 간주하면 된다.
그리고 비교적 타당성있게 또 하나의 그룹을 형성할 수 있는 각종의 괄호들,즉 (,),[,],{,},,,... 을 또 하나의 그룹으로 둘 수도 있다. 또한 괄호형태로 그룹핑함에 있어서도, 왼쪽 괄호와 오른쪽 괄호를 각각 그룹으로 둘 수도 있다.
3대그룹만을 두지 않고, 세부그룹을 두고 그에 의하여 기호를 입력할 수 있도록 하는 경우는 세부그룹에 속한 알파벳을 3대그룹에 그대로 둘 수도 있고 두지 않을 수도 있다고 하였는데,3대그룹에 두더라도 가능한 한 부속순위를 후순위에 두어야 할 것이다.
이상의 기호 그룹핑을 도1-1에 적용하여 각 기호의 그룹을 특정버튼의 후속알파벳으로 간주하는 예를 보이면 다음과 같다. 0차원 형태의 기호그룹을 [0]버튼에 속한 후속알파벳으로 간주, 1차원 형태의 기호그룹을 [1]버튼에 속한 후속알파벳으로 간주,2차원 형태의 기호그룹을 [2]버튼에 속한 후속알파벳으로 간주,2차원 형태의 기호그룹 중 단일폐곡선형태의 기호그룹을 [8] 버튼에 속한 후속알파벳으로 간주,2차원 형태의 기호그룹 중 그림형태의 기호그룹을 [7]버튼에 속한 후속알파벳으로 간주, 수학식 기호그룹을 [6]버튼에 속한 후속알파벳으로 간주, 방향 기호그룹을 [3]버튼에 속한 후속알파벳으로 간주, 괄호 기호그룹을 나머지 숫자버튼중 임의의 버튼에 속한 후속알파벳으로 간주할 수 있다. 설명한 바와 같이 기호 그룹을 각 버튼에 연관시킴에 있어서 이는 하나의 예일 뿐이며, 사용자의 편의대로 설정하도록 할 수 있다.
이상을 종합하면, 기호를 특정버튼에 속한 후속알파벳으로 간주하여 컨트롤처리함에 있어서 3개의 그룹(0차원,1차원,2차원)으로 그룹핑할 수도 있으며, 혹은 약간 더 세분화하여 10개 이하의 그룹으로 그룹핑하여 거의 대부분의 기호를 입력할 수 있음을 보인 것이 본 발명의 핵심중의 하나이다. 또한 각 기호의 그룹을 특정버튼에 속한 후속알파벳으로 간주함에 있어서, 이름, 차원, 모양, 등등 기호의 그룹과 연관된 버튼에 속한 후속알파벳으로 간주하여 컨트롤처리함으로써, 기호를 키패드에 표시하지 않고, 간결한 알파벳 배치를 유지하면서,"은닉형 후속컨트롤처리방법"을 사용할 수 있는 것이 본 발명의 핵심중의 하나이다.
본 출원에서 기호를 위한 컨트롤버튼으로 주로버튼 혹은 상하좌버튼 중의 임의의 버튼을 사용하였는데, 숫자 및 영어알파벳을 위한 후속컨트롤버튼으로 [#] 버튼을 활용할 수 있다. 예를 들어 [#] 버튼이 이미 후속컨트롤 버튼으로 사용되고 있는 경우는 [#] 버튼상의 가용한 격자에 숫자 및 영어알파벳을 위한 컨트롤을 추가적으로 배치하면 된다. 이 경우도 컨트롤의 선택에 있어서, 앞에서 언급한 바와 같이, 대표알파벳과 결합할 수 없는 컨트롤은 건너뛰어 그 다음 가용한 컨트롤이 선택되도록 할 수 있다.
8. 이동버튼 활용방법
8.1 이동버튼의 컨트롤버튼으로의 활용
선출원에서 각종의 컨트롤이 배치되는 컨트롤버튼을 4*3 키패드 내의 임의의 버튼에 둘 수도 있고, 4*3 키패드 이외의 별도의 버튼에 둘 수도 있다고 하였다. 그리고 선출원에서 특히 알파벳의 갯수가 많고, 변형알파벳이 다수 존재하는 언어에 있어서, 4*3 키패드내에서 컨트롤버튼으로 사용할 버튼이 부족한 것을 경험하였을 것이다. 본 발명에서는 문자입력모드에서 비교적 빈번히 사용되지 않는 좌/상/하 이동버튼의 1차기능을 선출원과 본 발명에서 언급하였던 컨트롤버튼으로 활용할수 있음을 지적하고 그러한 예를 보인다. 즉, 문자입력모드에서 4*3 키패드 밖의 별도의 버튼을 컨트롤버튼으로 활용함에 있어서, 상/하/좌 이동버튼을 컨트롤 버튼으로 활용하게 되는 것이다.
도8-1는 현재 전형적으로 사용되고 있는 폴더형 단말기의 버튼을 도시한 것이다. 파선으로 표시된 [i] 버튼은 인터넷 접속을 위한 버튼이며 이 버튼은 단말기에 따라서 존재하기도 하고 존재하지 않기도 한다. 여기서 우측 이동버튼은 공백입력용으로 사용되고, 특히 한국어에서는 1차모호성 제거를 위한 음절(글자)확정버튼으로도 사용되고 있다. 문자입력모드가 아닌 메뉴선택모드에서는 상/하/좌 이동버튼은 메뉴의 선택을 위한 이동버튼으로 유용하게 사용된다. 그러나 문자입력모드에서 상/하/좌 이동버튼은 사용빈도가 많지 않으며, 특히 상/하 이동버튼은 빈번히 사용되지 않는다. 편의상 상/하/좌 이동버튼을 합쳐 "상하좌 이동버튼" 혹은 "상하좌버튼" 이라고 부르기로 하고, 상/하 이동버튼을 "상하 이동버튼" 혹은 "상하버튼" 이라고 부르기로 한다. 어느 한 방향의 이동버튼만을 언급할 때에도 같은 요령으로 한다.
8.2 이동버튼 하단 배치
우선 이 상하좌버튼은 보통 숫자버튼 위에 배치되어 있는 경우가 보통이다. 그러나 문자입력모드에서 이들 버튼의 1 차기능을 각종의 알파벳 입력을 위한 버튼으로 활용하려면, 주로 컨트롤버튼으로 활용되는, [*] 버튼과 함께 4*3 키패드의 하단에 배치되는 것이 유용함을 알 수 있다. 도 8-2, 도 8-3 은 이를 도시한 것이다. 그러나 반드시 이렇게 해야 하는 것은 아니며, 편의상 본 발명의 예에서는이동버튼을 4*3 키패드 하단에 배치한 예로써 설명한다.
여기서 4*3 키패드와 상하좌버튼을 합하여 5*3 키패드를 구성할 수 있음을 알 수 있다. 이는 부분전체선택방법의 적용시, 각 버튼을 3x5 의 15 개 격자로 나누어 활용할 수 있는 것을 의미한다. 마찬가지로 반드시 도 8-3 에서와 같이 5*3 키패드를 구성할 수 있도록 상하좌버튼을 배치하여야 하는 것은 아니다.
8.3 이동버튼 좌측면 혹은 우측면 배치
상하좌우 이동버튼을 4*3 키패드의 좌측 혹은 우측에 배치할 수도 있다. 이 경우 부분전체선택방법을 적용함에 있어서, 4*3 키패드와 이동버튼을 합하여 4*4 키패드를 구성할 수 있다. 도8-4는 상하좌우 이동버튼을 4*3 키패드의 오른쪽에 구비한 경우의 예이다.
이는 단말기에서 액정의 크기가 점점 커지는 추세에 있는데, 단말기의 액정의 크기를 더 크게 구성할 수 있는 장점이 있다. 또한 출원인의 한국특허출원 10-2000-0002081, 10-2000-0005671, 10-2000-0067852, 10-2001-0002137 에서 제시한 이동단말기에서의 측면배터리 장착방법을 병행적용시 좋은 특성이 있다.
8.4 컨트롤버튼 및 알파벳입력을 위한 버튼으로의 각종 활용 사례
다음에서, 이동버튼을 활용하는 사례를 든다. 단 아래의 사례에만 국한되는 것은 아니다.
8.4.1 기호컨트롤버튼으로의 활용 사례
한국어의 실시예에서,버튼과 [#] 버튼에 각각 격음컨트롤과 경음컨트롤을 배치한 경우가 있었다. 또한버튼에 격음컨트로과 격음컨트롤을 배치하고,[#] 버튼을 기본모음컨트롤과 확장모음컨트롤만을 배치한 경우가 있었으며, [#] 버튼에 확장모음컨트롤만을 배치한 경우가 있었다. 이러한 경우, 기호컨트롤을버튼 혹은 [#] 버튼상에 배치하면, 컨트롤버튼 후입력에 따라 먼저 격음, 경음 등이 먼저 나오고, 다음에 기호가 선택되게 된다. 이는 타 언어에 있어서도 마찬가지이다.
그러나 기호컨트롤을 분리하여 상하좌버튼 중 임의의 버튼에 두게되면, 기호의 그룹과 연관된 버튼과 기호컨트롤이 배치된 기호컨트롤버튼을 조합하여 입력하는 즉시 기호를 입력할 수 있다. 도 8-5은 하 이동버튼의 1차기능을 기호컨트롤의 선택을 위한 컨트롤버튼으로 활용한 예이다. 0 차원형태의 기호그룹에 대하여 컨트롤 후입력을 적용한 예를 보이면, dot=[3]+[v], comma=[3]+[v]+[v], colon= [3]+[v]+[v]+[v], semi-colon=[3]+[v]+[v]+[v]+[v],... 과 같이 된다.
8.4.2 한국어에서의 모음요소 버튼으로 활용 사례
특히 선출원에서 한국어의 예에서 모음요소(ㅡ, ㅣ, .)을 활용한 경우에 있어서, 모음요소 "."과 "ㅎ"을 함께 배치함으로써, "ㅎ" 입력에 불편이 있었는데, 모음요소를 상하좌버튼 중 임의의 버튼에 배치함으로써, 이러한 불편을 극복할 수 있다. 만약 기호컨트롤을 하 이동버튼에 두고, 모음요소 "."을 상 이동버튼에 두면 상하좌버튼에서 2 개의 버튼을 사용하게 된다. 혹은 상하좌버튼에 한국어의 모음요소 3개를 각각 둘 수도 있다.
격음컨트롤을 둔 버튼에 기호컨트롤을 둔 것과 마찬가지로, 상하좌버튼 중 임의의 버튼의 기준격자위치에 한국어의 모음요소 "." 를 두고, 기준격자에 가까운순서로 기호컨트롤들을 둘 수도 있다. 도 8-6 은 이러한 예이다. 이 경우도 모음요소 "."은 단독으로 사용되지 않으므로, 반복선택방법으로 배치된 모음요소와 기호컨트롤을 선택하더라도 모호성없이 모음요소와 기호컨트롤을 선택할 수 있다. 도 8-6 에서 [v] 버튼을 1 번 누르면 모음요소"."이 선택되고 두번 누르면, 기호컨트롤1이 선택되고,3번누르면 기호컨트롤2가 선택된다.
8.4.3 일본어에서 첨자컨트롤버튼으로의 활용 사례
일본어의 경우에도, 50 음도표의 배치를 각 버튼에 대응시키고, 2nd, 3rd 후속컨트롤을버튼에 두고, 4th, 5th 후속컨트롤을 [#] 버튼에 둔 경우(선출원의 배정방법 3), 장음/탁음/반탁음 입력을 위한 컨트롤을 상하좌버튼 중 임의의 버튼에 둘 수 있다. 도8-7을 참고할 수 있다.
8.4.4 아랍어에서 모음 입력을 위한 첨자컨트롤버튼으로의 활용 사례
아랍어의 경우 첨자형태의 모음을 처리하기 위한 컨트롤을 상하좌버튼 중 임의의 버튼(들)에 분산배치할 수 있다.
8.4.5 태국어에 있어서의 컨트롤버튼으로의 활용 사례
태국어의 경우도 자음컨트롤과 모음컨트롤을 분리하지 않고, 하나의 컨트롤버튼을 후속컨트롤버튼으로 활용하였는데, 상하좌버튼 중 임의의 버튼을 컨트롤버튼으로 추가적으로 활용할 수 있다. 혹은 기타의 컨트롤버튼으로 활용할 수 있다.
8.5 단축/풀 전환 컨트롤버튼으로의 활용 사례
병행입력방법을 적용할 경우, 심플코드와 풀코드간에 발생하는 3 차모호성이 있는데, 이를 없애기 위하여 단어단위의 "단축/풀" 전환 컨트롤을 두는 방법을 제시하였다. 예를 들어, 풀입력방법을 기본모드로 하고 병행입력방법적용시 단축입력방법에 의하여 단어를 입력하려면, 먼저 "단축/풀" 전환 컨트롤을 선택하고 공백(우 이동버튼)을 입력하고, 심플코드를 입력하는 것이었다. 물론 공백과 "단축/풀" 전환 컨트롤의 순서는 바뀌어도 된다. 여기서 단어단위의 "단축/풀" 전환 컨트롤을 상하좌버튼 중 임의의 버튼에 둘 수 있다. 혹은 "단축/풀" 전환 컨트롤과 공백(우 이동버튼)을 합한 기능을 하는 컨트롤을 상하좌버튼 중 임의의 버튼의 기준격자위치에 둘 수 있다. 도8-8을 참고할 수 있다.
만약 도 8-8 의 숫자버튼에 도 1-1 의 영어 알파벳이 배치되어 있는 것으로 가정하고, 기본알파벳입력모드를 풀입력모드인 상태에서 help 의 전체연관 심플코드 "4357" 을 입력하여, 단어 help 를 입력하고자 할 경우, "∼ 풀코드입력+[^]+[4]+[3]+[5]+[7]+[]+풀코드 입력 ∼" 과 같이 입력할 수 있는 것이다. 즉 상이동버튼 [^]의 이동기능을 제한하고 단어단위의 "단축/풀" 전환 기능과 공백 기능을 합하였으므로 [^] 버튼이 눌려지는 순간 시스템은 그 다음 나오는 "[4]+..." 이 풀코드가 아닌 심플코드임을 인지하고 색인을 참조하여 입력 [4]에 가장 근접한 단어들을 사용자에게 추천하여 줄 수 있는 것이다. [4]+[3]+[5]+[7] 의 입력이 끝나고 공백 버튼([] 버튼) 눌려지는 순간 단어가 종료되므로, 단어단위의 "단축/풀"모드전환도 종료되고 시스템은 다시 풀코드의 입력을 기다리게 된다. 만약 심플코드(4357)의 입력후에 다시 [^] 버튼이 눌려지게 된다면, 시스템은 역시 단어가 종료된 것을 인지하여 심플코드 4357에 해당하는 help 를 확정하고 다시 심플코드의 입력을 기다리게 될 것이다.
병행입력방법에서 우 이동버튼(공백 버튼)을 하나만 사용하게 되면, 선출원에서 언급한 바와 같이 풀코드와 심플코드간에 발생하는 3차모호성이 있을 수 있고, 이를 회피하기 위하여 시스템은 버튼의 입력시 마다, 심플코드가 존재하는지 혹은 약속된 풀코드를 이루는지를 검사하여야 하였다. 그러나 이렇게 단어단위의 "단축/풀" 모드전환과 공백을 합한 버튼을 둠으로써, 입력값이 풀코드인지 심플코드인지 시스템이 미리 인지할 수 있으므로, 계산과 검색을 줄여, 시스템의 성능향상이 가능할 것이다.
8.6 계산기모드에서 가감승제 버튼으로의 활용 사례
4개의 이동버튼은 그 위치에 상관없이 계산기모드에서 가장 빈번하게 쓰이는 가감승제(+,-,x,/) 버튼으로 유용하게 사용될 수 있다. 가감승제 기호를 버튼에 표기할 수도 있으나, 알파벳입력에 비하여 계산기는 자주사용되지 않을 것이므로 버튼에 표기하지 않을 수도 있다. 알파벳입력모드에서는 각 버튼이 이동버튼 혹은 컨트롤버튼으로 사용될 것이기 때문이다.
또한 계산기에서 쓰일 수 있는 연산자를 가감승제버튼에 두고 (은닉형) 반복선택방법에 의하여 선택하도록 하는 것이 가능하다. 계산기모드에서 자주사용되는 연산자(이항연산자)는 반복하여 출현하지 않는 성질을 이용한 것이다. 예를 들어 2++1 이라는 계산은 있을 수 없다. 또한 24은 2xx4로 풀어 승(x)버튼을 반복하여 누름으로써 "제곱"연산자를 선택하도록 할 수 있다. 즉 승(x)버튼에 후속연산자로 제곱(xx)연산자가 있는 것으로 하여 반복선택하는 것과 같다. 마찬가지로 은3//2 로 풀어 제(/)버튼을 반복하여 누름으로써 "제곱근"연산자를 선택하도록 할 수 있다. 이외의 이항연산자는 중복하여 출현하지 않으므로 적절한 가감승제버튼에 속한 후속연산자로 두고 후속연산자를 반복선택방법에 의하여 선택하도록 할 수 있다.
상하좌우 이동버튼 중 3개의 버튼에 가감제(+,-,/) 연산자를 두고 승(x) 연산자는버튼을 이용할 수도 있다.
9. 도움기능 활성화
여기서 각각의 입력모드에서 버튼(상/하/좌/우)에 표시되지 않은 기능을 스크린(액정)에 표시하여 사용의 편리를 더할 수 있다. 이 경우 액정의 일부를 소모하는 단점이 있는데, 물론 각 연산자버튼의 기능을 숫지하고 있는 사용자는 굳이 액정의 공간을 소비하면서 이를 표시되도록 할 필요가 없으나 그렇지 못한 사용자에게는 많은 도움이 될 수 있다. 도8-1을 참고할 수 있으며, 도9-1은 도8-4와 같이 상하좌우버튼이 4*3 키패드의 오른쪽에 배치된 경우를 가정하여, 유사한 형태로 배치한 경우의 예이다.
이렇게 사용자의 편의와 의도에 따라 버튼의 기능(즉 버튼에 할당된 연산자 혹은 각 버튼에 연관된 기호그룹)을 표시하여 주는 것을 편의상 "도움기능 활성화"라고 한다. 도움기능 활성화는 각각의 모드(예. 알파벳입력모드, 계산기모드)에 대해서 이루어질 수도 있고, 각 모드에서 필요기능에 대해서(예. 알파벳입력모드에서 기호그룹에 연관된 숫자버튼 혹은 컨트롤버튼의 용도) 이루어질 수도 있다.
마찬가지로 선출원에서 제시하였던 컨트롤버튼의 기능 혹은 기호그룹과 연관되는 숫자버튼 역시 사용자가 필요로 할 경우 액정에 표시하여 줌으로써 사용자의 편리를 도모할 수 있다. 도9-2을 참고한다. 도9-2는 앞에서 예시한 기호그룹분류에 의거하여 각 기호그룹에 연관되는 숫자버튼을 아이콘화하여 액정에 표시한 예이다. 각 숫자버튼에 연관된 기호그룹의 기호중 편의상 첫번째로 선태되는 기호만을 숫자버튼 아이콘에 부기한 것이다.
10. 삭제버튼 활용방법
삭제버튼을 활용함에 있어서 이를 선출원에서 소개한 "최종입력취소"로 활용할 수 있다. 예를 들어 도 4-2 에서 "ㄱ"을 입력하려다, [1]+을 입력하여 "ㅋ"을 입력하였는데 삭제버튼을 눌러서 최종입력()을 취소함으로써 "ㄱ" 으로 환원시킬 수 있는 것이다. 이는 컨트롤버튼을 반복적으로 눌러서 후속알파벳을 입력하는 경우에 유용하게 사용될 수 있다. 취소버튼을 연속하여 누르는 경우는 통상의 방법대로 이미 입력된 알파벳이 삭제되도록하면 된다. 예를 들어 "가나ㅋ"을 입력한 상태에서 취소버튼을 1번 누르면 "가나ㄱ"이 되고, 한번 더 누르면, "가나"가 되고, 또 한번 더 누르면, "가" 가 된다. 로마자의 경우 "aba.."을 입력한 상태(마지막의 "a.."은 "..+a"로 이루어진 변형알파벳)에서 삭제버튼을 한번 누르면 "aba"가 되고, 한번 더 누르면 "ab"가 되고, 또 한번 더 누르면 "a"가 되는 것이다. 즉 이미 형성된 알파벳에 대해서는 알파벳단위로 삭제되는 것이다.
11. 키보드의 숫자키패드와 전화단말기에서의 키패드의 통일화
선출원 및 본 발명에서 제시한 키패드는 이동단말기 혹은 표준키보드의 숫자키패드 혹은 스크린상에 소프트웨어적으로 구성되는 키패드 혹은 도어록 등 전화기자판 형태의 모든 분야에 응용될 수 있음은 자명하다. 또한 표준키보드에 구비된 숫자키패드는 선출원 및 본발명에서 제시한 키패드와 숫자 버튼의 배치가 다르나, 선출원 및 본 발명에서의 키패드 버튼상의 배치를 키보드에 구비된 키패드에도 적용할 수 있음은 자명하다. 예를 들어 선출원 및 본 발명에서 [1] 버튼에 배치된 알파벳을 키보드에 구비된 숫자 키패드의 [1] 버튼에 배치하고, 이하 마찬가지 방법으로 배치하여 알파벳입력, 심플코드의 활용 및 각종 코드의 암기용으로 활용할 수 있다.
그러나 혼동을 줄이고 사용의 편리를 더하기 위하여, 키보드의 숫자키패드를 구성함에 있어서, 전화기 키패드의 숫자배치를 활용할 수 있다. 즉 키보드의 숫자키패드의 숫자배열에 있어서, 전화기의 키패드에서와 같이 제1행의 버튼에 [1],[2],[3] 버튼을 두고,2행의 버튼에 [4],[5],[6] 버튼을 두고,3행의 버튼에 [7],[8],[9] 버튼을 두는 것이다. 더불어 전화기의 키패드에서와 같이버튼과 [#] 버튼을 둘 수도 있다.
12. 언어제한 입력방법
언어제한 입력방법은 특정언어의 단어생성에 있어서 자음과 모음의 결합규칙을 이용하여 문자입력에 있어서의 모호성을 줄이는 것을 의미하며, 이하에서 자세히 설명한다.
이하에서 어느 한가지 언어에서 언급한 내용중 다른 언어에서 적용할 수 있는 내용은 특별히 언급하지 않아도 다른 언어에 적용할 수 있음은 자명하다. 더 나아가 로마알파벳을 사용하지 않는 언어에 있어서도 유사한 개념을 적용할 수 있다.
12.1 로마알파벳을 사용하는 언어에 있어서 자모음분리키패드에서의 중국어제한 반복선택방법
12.1.1 중국어 성모와 운모의 구성
중국어에는 21 개의 성모와 16 개의 운모(이중는 거의 사용되지 않는다고 함)가 있다고 한다. 성모는 자음에 해당하고, 운모는 모음에 해당한다고 한다. 중국대륙에서는 중국어음을 표기하는 방법으로 한어병음방안을 이용하고, 대만에서는 주음부호를 이용하여 중국어음을 입력한다고 한다. 한어병음은 라틴자모즉 로마알파벳을 이용하여 중국어음을 표기하는 것이다. 주음부호와 그에 대응되는 한어병음(로마알파벳)을 괄로안에 표시하면 다음과 같다.
다음은 중국어의 결합운모를 설명한 것이다. 결합운모는 3 가지 모음 i, u,를 앞세우고 뒤에 다른 운모가 결합하는 것이라고 한다. 다음 표는 결합운모 일람표로 결합이 가능한 경우를 표시한 것이라고 한다.
위 표에서 ia 의 결합은 가능하나,iu 의 결합은 불가능한 것을 알 수 있다.
12.1.2 로마알파벳을 이용한 중국어 한어병음의 입력
결국 위의 표에서 알 수 있듯이, 로마알파벳을 이용하는 경우, 중국어의 21개 성모는 18개 로마알파벳의 조합으로 모두 입력할 수 있고,16개 운모는 7개의 단운모의 조합 혹은 로마알파벳 모음과 로마알파벳 자음의 조합으로 모두 입력할 수 있게 된다.
또한 단운모 중는 각각 e 와 u 의 변형알파벳으로 간주하여 컨트롤처리방법에 의하여 입력할 수 있다. 다음으로 5개의 기본모음에 4가지 성조부호가 붙을 수 있는데, 이 역시 컨트롤처리방법에 의하여 입력될 수 있다. 결국 로마알파벳을 사용하는 중국어의 경우 5개의 로마알파벳 기본모음을 이용하여 모든 중국어의 운모를 입력할 수 있는 것이다. 이는 영어알파벳(즉, 로마알파벳)에 존재하지 않는 변형알파벳을 컨트롤처리방법에 의하여 입력하는 것으로 프랑스어, 독일어 등의 입력에서 이미 보인 내용이다. 중국어의 운모를 컨트롤처리방법에 의하여 입력할 경우의 기본알파벳(기본모음)과 후속알파벳(후속모음)과의 부속관계를 설정하는 예를 보이면 다음과 같다.
위의 예는 1성조 ∼4성조의 성조부호가 붙은 알파벳이 후속알파벳으로 되었고,는 거의 사용되지 않는다고 하므로 부속순위를 가장 하위에 둔 것이다.
부속순위는 사용빈도 등에 따라 달라질 수 있음은 물론이다. 예를 들어를 6th 가 아닌 2nd 후속알파벳으로 하고 나머지 후속알파벳의 부속순위를 하나씩 후순위로 둘 수도 있다.
입력예로 컨트롤버튼으로버튼을 사용하고, 컨트롤 후입력 적용시,= e +,,,= e +과 같이 된다. 도 1-1 에서 키패드상 표시된 "e" 를 부분전체선택방법을 적용하면, e=[3]+[2] 가 되므로 e =[3]+[2] +가 된다. 도1-1에서 키패드상 표시된 알파벳을 부분전체선택방법으로 선택하면, 人(: 제 2 성) 의 풀코드는가 된다. 여기서 키패드상 표시된 "e" 를 입력하는데 있어서 부분전체선택방법이 아닌 어떠한 다른 입력방법(예. 단순반복선택방법)도 사용될 수 있음은 자명하다.
결국 컨트롤버튼을 단 하나만 사용하므로 입력방법을 단순화 할 수 있다.
이는 로마알파벳을 사용하지 않고 주음부호를 사용하는 경우에도 동일하게 적용할 수 있다(예를 들어 도1-1에서 영어알파벳에 대응되는 주음부호를 표시한 키패드에서 동일하게 입력방식 적용).
12.1.3 자모음분리키패프에서의 중국어제한 반복선택방법
중국어 성모를 18 개 로마알파벳으로 모두 입력할 수 있는데, 그중 zh, ch, sh 만 로마알파벳 자음이 연속하여 나온다. 중국어에서 성모없이 운모만으로 이루어진 음절을 한어병음으로 표기할 때, 형식적으로 y, w 등을 붙여 표시한다고 한다. 예를 들어 "衣 =yi(1성)", "五 = wu(3성)" 와 같이 된다. 결국 한어병음(로마 알파벳)을 사용하는 경우는 중국어의 한 음절이 영어알파벳의 "자음+모음"으로 이루어져 있는 것으로 볼 수 있다.
그리고 선출원에서 언급하였듯이, 한자(漢字) 한글자가 한 음절을 이루는 중국어에 있어서 음절기준 이니셜코드를 심플코드로 사용하는 것이 많은 편리를 줄 수 있다. 그러므로 가능한 18 개의 로마알파벳 자음이 각 숫자 버튼에 배정되는 것이 바람직하다. 본 발명에서는 18 개 로마알파벳 자음을 2 개씩 그룹핑하여 [1]∼[9] 숫자 버튼에 배정하는 것을 제시한다.
bp/dt/gk/zj/cq/sx/mn/lr/hf
위의 예는 발음의 유사성에 근거하여 그룹핑한 사례로, 심플코드의 활용시 동일한 심플코드(음절기준 이니셜코드)에 대응하는 어구(단어 혹은 구절)가 다수인 경우 발음이 유사한 어구가 같은 음절기준 이니셜코드를 가지도록 배려한 것이다.위의 예는 단지 예시중 한가지일 뿐이며, 많은 변형이 가능하다. 발음의 유사성에 의하여 그룹핑할 수도 있으며, 영어알파벳 사전순서, 영어알파벳 대응 주음부호 사전순서 등 다양한 기준에 의하여 그룹핑이 가능하다. 이렇게 유사한 발음을 같은 그룹으로 그룹핑하여 같은 버튼에 배정하는 또 다른 잇점은 로마알파벳을 사용하는 모든 언어에 있어서, 유사한 발음의 자음이 연속하여 나오는 경우가 적으므로, 그 만큼 모호성이 발생할 가능성이 적어지는 것이다. 또한 심플코드(특히 음절기준 이니셜코드)의 활용에 있어서도 동일한 심플코드에 대응되는 어구가 다수 있더라도, 그 어구들이 유사한 발음(음가)를 가진 어구들이므로 사용자에게 혼란을 최소화하고, 심플코드 활용에 자연스러움을 줄 수 있다.
또 한가지는 zh, ch, sh 가 중국어의 성모로써 존재하는데, z 와 h 가, c 와 h 가, 그리고 s 와 h 가 같은 그룹으로 그룹핑되지 않도록 한 것이다. (중국어에서 보통 "성모+운모"로 음절이 이루어 지는데 본 실시예에서 같은 그룹으로 그룹핑되어도 큰 상관은 없다. 단, 도10-1에서 표시되지 않은 w, y, v 등을 입력시 s, h, w 등을 함께 배정하고 배정된 버튼 3타로 입력하도록 하지 않으면 된다)
위에서 예시한 9개 그룹을 도10-1에서와 같이 [1]∼[9] 의 9개 버튼에 임의로 배정하고, 각 알파벳의 입력에 반복선택방법을 적용할 수 있다. 중국어의 특성상 성모를 입력시 zh, ch, sh의 경우를 제외하고는 로마알파벳 자음이 연속하여 나오는 경우는 없게된다. 따라서 반복선택방법에 의하여 알파벳을 입력하더라도 모호성 없이 입력이 가능하다. 예를 들어 도10-1에서 b=[1], p=[1]+[1] 로 입력이 가능한 것이다. 각 버튼에 배정된 알파벳 중 어느 알파벳을 1 타로 선택되도록 할 것인지는 알파벳의 사용빈도에 따라 사용빈도가 많은 알파벳이 1타로 선택될 수 있도록 정해질 수 있음은 물론이다.
중국어에서 거의 사용되지 않는 로마알파벳 "v" 를 9개의 그룹중 임의의 그룹에 둘 수 있다. 예를 들어 발음이 유사한 "f" 가 있는 그룹에 "v"를 추가로 두고(혹은 명시적으로 배정하지 않고) 해당 버튼 3타로 "v"를 입력하도록 할 수 있다. "衣 =yi(1성)","五 =wu(3성)" 등에서 사용되는 w, 와 y 역시 적절한 자음그룹에 두고(혹은 명시적으로 배정하지 않고) 이를 반복선택방법에 의하여 입력(예.w와 y를 각 알파벳이 속한 버튼 3타로 입력)하도록 할 수 있다. 예를 들어 y를 /l,r/ 이 속한 그룹에 두었을 경우, 해당 버튼(도10-1에서 [8] 버튼)1타로 "l"을 입력하고, 2타로 "r"을 입력하고, 3타로 "y'를 입력하며,w 를 /m,n/ 이 혹 한 그룹에 두었을 경우, 해당 버튼(도10-1에서 [7] 버튼)1타로 "m"을 입력하고, 2타로 "n"을 입력하고, 3타로 "w"를 입력하는 것이다.
반복선택방법을 적용하여, 한어병음 입력시 로마알파벳 자음과 모음이 번갈아 나오는 성질을 이용하여 모호성을 대폭 줄이는 것을 편의상 "중국어제한 반복선택방법"이라 부른다. 이러한 성질을 특별히 중국어뿐만이 아닌 모든 언어에 일반적으로 적용시에는 편의상 "언어제한 반복선택방법(LRRSM:Language Restricted Repeat Selection Method)"이라 하고, 특별히 중국어에 적용하였을 경우를 "중국어제한 반복선택방법(Chiese Restricted RSM)"이라 한다. 언어제한 반복선택방법은 한국어 혹은 힌디어 등에 있어서, 기본자음과 기본모음의 쌍을 각 버튼에 배정하고 반복선택방법을 적용시, 자음과 모음이 번갈아 나오는 성질을 이용하여 적은 모호성으로 입력할 수 있도록 한 것과 같은 맥락이다. 또한 한국어의 모음요소를 활용한 방법에 있어서, 모음 "ㅡ"가 연속하여 나오지 않는 성질을 이용하여 격음컨트롤을 반복선택방법에 의하여 선택할 수 있도록 한것도 유사한 것이며, 이는 "한국어제한 반복선택방법" 이라 할 수 있다.
특히 도10-1∼10-4 에서와 같이 자음이 배정된 버튼(편의상 "자음버튼"이라 부름)과 모음이 배정된 버튼(편의상 "모음버튼"이라 부름)을 분리하고(즉, 자음과 모음을 같은 버튼에 배정하지 않고), 반복선택방법을 적용시 자음과 모음이 결합하는 각 언어의 특성을 이용하여 모호성을 대폭 줄일 수 있는 좋은 특징이 있게 된다. 이렇게 도 10-1∼10-4 에서와 유사하게 자음버튼과 모음버튼을 각각 분리하여 각 버튼에 소정 개수(예. 1∼3 개)의 자음 혹은 모음을 배정하여 구성한 키패드를 편의상 "자모음분리키패드(CVSK(Consonant Vowal Separated Keypad))"라 부르기로 한다.
도10-1에서 키패드상 표시된 로마알파벳 자음과 모음을 반복선택방법에 의하여 중국어 한어병음을 입력시에도 모호성없이 입력할 수 있는 것은 쉽게 알 수 있다. 성모의 입력을 위하여 자음버튼(도10-1에서 [1]∼[9] 버튼)중 같은 버튼이 연속적으로 눌러졌을 때, 키패드상 표시된 2번째 자음이 입력된 것을 시스템이 쉽게 알 수 있다. 중국어 성모를 입력하기 위하여 같은 로마알파벳이 연속하여 나오는 경우가 없기 때문이다. 여기서 기 2번 눌려진 버튼이 w,y,v 등이 배정된 버튼이고, 같은 버튼이 한번 더 눌러졌을 때(즉 3번 눌러졌을 때)는 기 설명한 바와 마찬가지로,w,y,v 등을 입력하기 위한 것을 시스템이 쉽게 알 수 있다. [7] 버튼 3타로"w=777" 로 입력할 경우, 이는 "mmm"혹은 "mn" 혹은 "nm"으로 해석될 수 있는데, 중국어의 성모가 이와 같이 구성되는 경우는 없기 때문이다.
도10-1에서와 같이,a,e,i,o,u,의 6개의 모음을 2개씩 3개의 그룹으로 나누어 4*3 키패드의 3개 버튼(예.[*],[0],[#] 버튼)에 두고 각각의 모음을 반복선택방법에 의하여 모호성없이 입력할 수 있다. 이것이 가능한 이유는 중국어에 있어서 동일한 로마알파벳 모음이 2번 연속 나오는 경우는 없기 때문이다. 예를 들어 어떤 한자를 한어병음으로 표기할 때, "" 과 같이 되는 경우는 없기 때문이다.
단 여기서 복운모 ai,ei,ou 와 결합운모의 ia,ie,uo 를 놓고 보면, a 와 i, 그리고 e 와 i 그리고 o 와 u 는 같은 그룹으로 그룹핑되지 않아야 한다는 것을 알 수 있다. 만약 a 와 i 가 같은 그룹으로 그룹핑되어 같은 버튼에 배정되면(예.버튼), 해당버튼 3타(즉, '***')를 입력한 것이 'ai'를 입력한 것인지 'ia'를 입력한 것인지 알 수 없는 모호성이 발생할 수 있기 때문이다. 도 10-1 은 이러한 내용을 고려하여 그룹핑한 사례를 보여준다. 도 10-1 의 모음 그룹핑 및 배치가 절대적인 것은 아니고 위 제약 사항을 만족하는 한에서 변형이 가능함은 물론이다. 도 10-1 에서 각 모음을 반복선택방법에 의하여 입력할 수 있다. 예를 들어 i = [0], o =[0]+[0], iao=[0]++[0]+[0] 와 같이 입력할 수 있다.
a 와 i, 그리고 e 와 i 그리고 o 와 u 는 같은 그룹으로 그룹핑되지 않는 한에서, "a,e,o" 를 하나의 그룹으로 하고(도10-2, 도10-4 참고), 나머지 모음 "i, u," 를 하나의 그룹으로 할 수 있다. 역시 다양한 변형이 가능할 것이다. 이 2개의 모음 그룹을 각각 3*4 키패드 내에서 임의의 버튼(예. 각각, [#] 버튼)에 할당하고, 자음 "w, y, v" 를 별도의 그룹으로 나머지 버튼(예. [0] 버튼)에 할당할 수 있다. 하나의 그룹에 3 개의 알파벳이 그룹핑될 때 (예. "a, e, o"), 모음의 조합(예. "ae", "ea", "aaa")을 나타내는 해당버튼 3타에 해당하는 중국어 운모가 존재하지 않으므로, 해당버튼 3 타로 "o"가 모호성 없이 인식될 수 있다. 예에서 "ao"입력시 해당버튼 4 타로 되는데, "oa"가 한어병음으로 존재하지 않으므로 역시 모호성 없이 인식될 수 있다. 도 10-6 을 참고할 수 있다. 도 10-6 에서 "v"는 중국어의 입력에 사용되지 않으므로 표시하지 않을 수도 있으며, "w, y" 등을 하나의 그룹으로 그룹핑하여 같은 버튼에 배정하는 것은 반자음(즉, 반모음)을 같은 버튼에 배정하는 효과가 있다.
도10-2, 10-4, 10-6에서 "a, e, o"가 같은 그룹으로 그룹핑 되었는데, "ao"의 조합만이 가능하다. 만약 하나의 버튼에 "a, o"만이 배정된다면, 해당 버튼 3타는"ao"로 모호성없이 인식될 수 있을 것이다. 그러나 3 개의 알파벳이 배정되고 버튼 누름의 횟수에 따라 "a - o - e"의 순서로 선택된다면, 해당 버튼을 3번 누른것이 "ao"인지 "e"인지 알 수 없는 모호성이 발생할 수 있다. 따라서 이러한 경우(3 개 이상의 모음이 같은 버튼에 배정되고 3 개의 모음 중 2 개 모음의 한가지 조합이 가능한 경우)에 조합이 가능한 2개 모음을 해당 버튼 각각 1타, 2타로 선택되도록 하지 않고,각각 1타, 3타(혹은 2타, 3타도 가능하며 해당 버튼 5타를 "ao"로 인식할 수 있음)로 선택되도록 함으로써, 언어제한을 이용하여 모호성을 제거할 수 있다. 정리하면, 3개 알파벳 그룹에서 버튼누름 횟수에 따른 선택순서를 정함에 있어서, 연속하여 등장할 수 있는 알파벳을 각각 해당버튼 1타, 2타로 선택되지 않도록 선택순서를 정하는 것이다.
도 10-1 ∼ 도 10-4 에서 로마알파벳으로 성모를 입력시, 같은 버튼이 최대 2∼3 번 눌러질 수 있으며, 시스템은 버튼의 반복누름 횟수를 인식하여, 그 반복누름횟수에 따라 타겟알파벳을 식별해낼 수 있다. 로마알파벳으로 운모입력시, 역시 도 10-1, 도 10-3 에서 같은 버튼이 연속하여 3 번 눌러질 수 있는 경우는 결합운모 "iou" 의 "io" 를 입력하기 위하여 [0] 버튼이 연속하여 3 번 눌러지는 경우뿐이다. 사용자의 입력에 대하여 시스템은 "0 = i" 로 일시적으로 인식하고, [0] 버튼이외의 버튼이 눌러지면 확정한다. [0] 버튼이 한번 더 눌러지면, 시스템은 "00 = o"로 일시적으로 인식하고, 마찬가지로 [0] 버튼 이외의 버튼이 한번 더 눌러지면 확정한다. 여기서 [0] 버튼이 한번 더 눌러지면 시스템은 000 = io" 로 확정할 수 있다. 왜냐하면, 한어병음의 입력에 있어서 "oi"가 나오는 경우는 없는 "중국어제한"을 이용하기 때문이다.버튼의 경우는 최대 2 번 눌러질 수 있으므로, 시스템은 "* = a" 로 일시적으로 인식하고,"** = e"로 확정할 수 있다. 한어병음 입력시 동일한 로마알파벳 모음이 연속하여 나오지 않고, 같은 버튼에 배정된 모음이 연속하여 나오는 경우가 없기 때문이다.
자모음분리키패드에서 모호성없이(혹은 중국어 이외의 경우에서 현저히 적은 모호성으로) 입력시스템의 구성이 가능한 이유는, 같은 자음버튼(예. 도 10-1 에서 [1] 버튼)이 한번 혹은 연속하여 눌러지는 동안 시스템은 동일 버튼내의 자음 중의 하나를 입력하는 것으로 인식하게되고, 뒤이어 다른 자음버튼(예. 도 10-1 에서[9] 버튼)이 눌러지면 시스템은 연속된 자음이 입력되는 것으로 인식하게 되기 때문이다. 또 한가지 이유는 각 버튼당 약 3 개의 알파벳을 배정하지 않고 약 2 개의 알파벳이 배정되기 때문이다. 자음과 모음을 쌍으로 그룹핑하는 경우의 선출원에서 언급한 바, 버튼당 3 개의 알파벳이 배정되었을 때에 비하여 2 개의 알파벳이 배정되었을 때, 모호성 발생 가능성은 현저하게 줄어들며, 이는 쉽게 알 수 있다. 또한 버튼당 2개의 알파벳이 배정되었을 때는 출원인이 제시한 연타지연시간과 이타지연시간을 더욱 효과적으로 적용할 수 있다.
도 10-7 는 (R) 부분을 제외하면, 자모음분리키패드에서의 일반적인 반복선택방법의 절차를 나타낸 것이다. 도 10-7 에서 편의상 입력값은 자음버튼 혹은 모음버튼인 것으로 한다. 즉, 특별한 용도 혹은 기능(예. 후속알파벳의 입력을 위한 후속컨트롤버튼)은 없는 것으로 가정한다. 도 10-7 은 절대적인 것은 아니며 단지 참고할 수 있다. 도 10-7 에서 특정버튼이 한번 눌러짐에 대하여 특정버튼의 1 회 누름에 대응되는 알파벳을 타겟알파벳으로 일시적으로 인식하는 등의 세부적인 절차는 표시하지 않고 있다. 다만 이러한 과정은 도 10-7 에서 (R0)과정에서 수행될 수 있다. (R)과정에서 언어제한을 판단할 수 있으며, (R)과정은 흐름도상의 임의의 부분에서 개입될 수 있다. 즉 첫번째 입력값이 자음버튼들 중의 하나이고, 연속 눌려진 버튼에 자음이 2개만 배정된 버튼이고, 같은 버튼에 배정된 알파벳이 연속하여 나오는 경우가 없으면(예. 도 10-1 에서 [1] 버튼), (R1) 에서 동일버튼이 2 번 눌려진 순간 입력값을 하나의 자음(예. 도 10-1에서 "P"로)으로 확정할 수 있는 것이다. 이는 마치 도 4-4 에서 언어제한을 이용하여 모호성을 제거하는 것(반복선택방법 적용시 모호성없이 혹은 적은 모호성으로 타겟알파벳을 확정)과 유사하다. 도 10-7 의 절차는 도 4-4 의 절차보다는 훨씬 단순한 것을 알 수 있다.
동일한 혹은 동일하지 않은 자음버튼들이 연속하여 눌러지다가, 모음버튼이 눌러지면 시스템은 기 입력된 자음버튼들의 입력값으로부터 타겟알파벳을 확정하고, 모음처리과정을 진행하며, 모음처리과정에서의 최초 입력값은 자음처리과정에서 마지막으로 입력된 모음버튼이 된다. 모음처리과정에서 자음처리과정으로 바뀌는 경우에도 마찬가지이다.
도 10-7 에서 언어제한 (R) 에 의하여 판단하는 방법은 결합가능한 자음 및 모음의 목록(예."ch","sh","zh","iao","iou","ia","ie","uai","uei","ua","uo","ue","ai","ao","ua","uo","","ou" ...) 혹은 (특정 키패드에서 모호성이 발생할 수 있는 경우의) 결합불가능한 자음 및 모음의 목록(예."bb","aa","ee","oa", ...)을 시스템이 가지고 있으면서, 입력값이 모호성을 일으킬 수 있는 경우에, 결합불가능한 경우를 제외하고 결합가능한 경우를 시스템에서 타겟알파벳으로 인식하도록 하는 방법이 방법이 일반적으로 가능하다. 예를 들어, 도10-2(중국어제한)에서 "ao = 0000"을 입력시, 시스템은 "ao"를 모음결합가능 목록에 가지고 있으면서, 시스템은 입력값 "0000" 에 대하여 "ao"를 타겟알파벳으로 인식할 수 있다. 또 한가지 방법은 도 10-2, 도 10-4 의 자모음분리키패드에서 사용자의 오입력이 없을시, [0] 버튼 만이 최대 4 번 눌러질 수 있는데, 이렇게 모호성이 발생할 수 있는 특별한 경우만 고려하여, 이 경우 "0000 = ao" 로 인식되도록 할 수 있다. 나머지 과정은도10-7의 처리과정에 따르면 된다.
도10-7에서 생략된 부분의 절차는 기 표시된 절차와 유사함을 알 수 있다.
도10-7을 더욱 일반화하여 생략된 부분 없이 표현하면 도10-8과 같다. 도10-8은 도10-7과 같은 의미이다. 도10-8에서 {1} 부분은 버튼입력이 이루어짐을 가상적으로 의미하며,(1) 부분으로 들어오는 화살표에 표시된 "n(n+1)" 은 버튼누름의 횟수가 하나 더 증가함을 의미한다.
이상의 내용을 포함하고 있는 도10-1에서 각 로마알파벳당 평균 1.5타에 입력할 수 있으며, 실제 중국어에서의 사용빈도를 고려하여 빈출 알파벳을 1타로 선택되도록 하면 더 적은 입력타수로 입력이 가능할 것이다.
12.1.4 컨트롤버튼으로 사용되는 기능버튼의 본래 기능 입력
도10-1에서 로마알파벳 모음에 첨자가 붙는 변형알파벳 입력시, 3*4 키패드 밖의 임의의 "별도의 버튼"을 컨트롤버튼으로 활용하여 입력할 수 있다. 예를 들어 중국어 입력모드에서 좌(左)측 이동버튼()을 컨트롤버튼으로 활용한다면,= 와 같이 입력할 수 있으며, 좌 이동버튼을 5번 연속하여 누르면 "e"와 결합하는 컨트롤을 더 이상 선택할 수 없으므로, 이동기능이 활성화되는 것으로 할 수 있다("e"는 입력한 상태). 만약 삭제 버튼(편의상 "[X]"로 표시) 변형알파벳 입력을 위한 컨트롤버튼으로 활용한다면, 와 같이 입력할 수 있으며, 삭제 버튼을 5번 연속하여 누르면 기 입력한 "e"가 삭제되는 것으로 할 수 있다. 이렇게 다른 기능을 가진 버튼을 컨트롤버튼으로 활용하되, 컨트롤버튼의 누름횟수에 따라 컨트롤이 선택되고 나서, 더 이상 선택되는 컨트롤이 없는 경우 본래의 기능(예 이동기능)이 선택되는 것으로 할 수 있다.
위의 예에서 좌이동기능이 활성화되고 나면, 단어시작 상태가 되므로 좌측 이동버튼을 한번만 누르더라도 좌측이동기능이 입력되게 된다. 즉 "e"를 입력후 컨트롤버튼인버튼을 5번 누르면,"e"만이 입력된 상태에서 커서가 좌측으로 한칸 이동하게 되며, 또 한번 누르면, 다시 옆으로 한칸 이동하게 된다. 이는 모든 언어에서 적용가능한 것이다.
12.1.5 자모음분리키패드에서의 중국어제한 반복선택방법 (3*4 키패드내에서의 변형알파벳의 입력)
여기서는, 3*4 키패드 내에서 로마알파벳 모음위에 첨자가 붙는 변형알파벳(성조부호가 붙는 경우 포함)까지 입력하도록 하는 것을 보인다.
결합운모 일람표를 보면, "i" 다음에 올 수 없는 모음은 "i" 와 "u" 인 것을 알 수 있다(바꾸어 말하면 'a' 또는 'e' 또는 'o' 가 올 수 있다). 또 "u" 다음에 올수 없는 모음은 "u"와 "i" 인 것을 알 수 있다(바꾸어 말하면 역시 'a' 또는 'e' 또는 'o' 가 올 수 있다). 따라서 도10-2에서와 같은 모음 배치가 가능하다. 도10-2에서 좌측의 모음 "i,a,e" 에 성조기호를 붙일 때는 우측의 "u" 가 배정된 [#] 버튼을 컨트롤버튼 처럼 사용하면 된다. 마찬가지로 우측의 모음 "o, u"에 성조부호를 붙일 때는 좌측의버튼을 성조기호 컨트롤버튼처럼 사용하면 된다. 예를 들어(제2성)으로,(제2성)=a+ [#]+[#]+[0]+[#]+[#] 으로,=e+[#]+[#]+[#]+[#]+[#]=[0]+[0] + [#]+[#]+[#]+[#]+[#] 으로 입력할 수 있다. 복운모 ao = a+o=[0] + [0]+[0]+[0] 으로 입력할 수 있으며, 모음 a 다음에 모음 a, e 등이 올 수 없고, oa 와 같은 경우도 없으므로, 모호성 없이 시스템에서 식별할 수 있다. 모음는 모음 u 와 모양에 있어서 유사성이 있으므로, u 가 배정된 버튼을 2타(은닉형 반복선택방법)로 입력할 수 있다.
이는 중국어에서 모음 "a, e, o" 중 a 와 e 다음에 모음 u 가 나오지 않는 성질, 모음 o 다음에 모음 i 가 나오지 않는 성질을 이용한 것이다. 앞에서 설명한 제약조건, 즉 a 와 i, 그리고 e 와 i 그리고 o 와 u 를 같은 그룹으로 두지 않고, 3개의 버튼에 모음을 2개씩 배정하면서, 중국어의 로마알파벳 모음 결합 규칙을 이용하여 도 10-2 에서 처럼 모음이 배정된 버튼을 컨트롤버튼처럼 사용하는 것은 불가능한 것을 알 수 있다. 도10-2에서 i 와 u 를버튼 또는 [#] 버튼에 둔 것은, 이들 버튼을 컨트롤버튼처럼 사용하는데 인식을 용이하게하기 위한 점 그리고 배치의 균형성 등을 고려한 것이다. 도 10-2 에서의 모음의 평균 입력타수 역시 도10-1에서와 마찬가지로 약 1.5 타이다.
도 10-2 의 변형사례로 [0] 버튼에 배정된 3 개의 알파벳 중 일부를 4*3 키패드 밖의 "별도의 버튼"으로 분리할 수도 있다. 예를 들어 상/하/좌 버튼 중의 임의의 버튼으로 3 개 알파벳 중 일부의 알파벳을 분리하여 배정할 수 있는 것이다.
도 10-1 ∼도 10-4 에서 반복선택방법을 적용하면서도 모호성없이 한어병음을 입력할 수 있는 것은 자음버튼([1] ∼ [9] 버튼)과 모음버튼 [*], [0], [#] 버튼)을 분리하였고, 중국어를 한어병음으로 표기할 때의 로마알파벳의 자음과 모음의 출현규칙을 이용하였기 때문이다.
12.2 자모음분리키패드에서의 영어제한 반복선택방법
영어 등의 경우에 있어서도 중국어의 경우와 유사하게 도10-1 ∼ 도10-4와 유사한 자모음분리키패드(CVSK)에서 반복선택방법을 적용하여 적은 모호성으로 입력할 수 있다. 이는 로마알파벳을 사용하는 모든 언어에서, 단어의 구조가 자음과 모음이 번갈아 결합하는 구조로 이루어지기 때문이다.
영어의 경우 "단어시작"에서 부터 자음군이 최대한 반복되는 경우는 "strengths" 에서 와 같이 "CCCVCCCC" 의 경우라고 한다(C 는 자음, V 는 모음).
단어시작시 최대 3 개의 자음이 올 수 있으나, 이는 "st∼" 혹은 "sp∼"로 시작하는 경우뿐 이라고 한다(예를 들어, spree, spleen, strength 등).
도10-1와 유사하게 자음이 약 2∼3 개 씩 배정된 키패드에서(편의상 도10-1에서 "u" 만이 배정되어 있지 않은 것으로 가정함) 사용자가 영어단어 "student"를 입력하기 위하여 "622∼"를 입력시, 시스템은 "단어시작"후 입력된 "622"가 "sdd"를 입력한 것이 아니고 "st"를 입력한 것으로 처리할 수 있는 것이다(영어의 특정 단어에서 3 개의 자음이 연속하여 나을 수 있는 경우는 "st∼" 혹은 "sp∼"로 시작하는 경우라고 하였고 시스템이 이러한 영어단어생성규칙 혹은 알파벳결합규칙을 기억하고 있으면 되므로). "stu∼"에서 "u" 입력시는 모음이 배정된 버튼이 눌러지므로 자음군(예에서 "st")이 끝나고 모음(예에서 "u")이 오는 것을 알수 있다. "stu"입력 후 "d"를 입력하기 위하여 "2"가 입력되면 다시 자음이 시작되는 것을 시스템이 알 수 있다. 마찬가지로 "shldent"의 "∼ent"를 입력하기 위하여 "∼**7722" 를 사용자가 입력시,"**" 이 입력되었을 때, 선출원에서 설명한 바와 같이 영어의 경우 "a"가 연속하여 등장하지 않으므로 "aa"가 아닌 "e"가 입력된 것을 시스템이 쉽게 알 수 있고,"7722"에 대하여도 "mmt","ndd","nt","mmdd" 등으로 해석될 수 있으나, 선출원에서 언급한 바와 같이 "연타지연시간" 그리고 "이타지연시간"을 각기 다르게 설정함으로써, 반복선택방법에서 발생하는 모호성을 대폭 줄일 수 있다.
자음과 모음이 혼재되어 각 버튼에 배정되어 있는 현재의 표준 영어키패드(도1-1)에서도 이렇게 특정언어의 단어생성규칙(알파벳결합규칙)을 반영하여 반복선택방법 적용시에 발생할 수 있는 모호성을 감소시킬 수 있다. 그러나 이렇게 자음과 모음이 하나의 버튼에 혼재하여 배정된 경우는 언어제한 입력방법(특히 반복선택방법을 풀입력방법으로 하는)을 적용하기가 매우 어렵게 된다. 예를 들어 도 1-1에서 "student"를 반복선택방법을 사용하여 사용자가 입력시,"stu∼" 는 "777888∼" 이 되는데,"777"에 대하여 시스템에 "s" 로 인식하였다고 가정하더라도, 다음에 나오는 "888"이 "ut(즉 sut)"인지,"tu(즉 stu)"인지,"v(즉 sv)"인지 알 수 없게된다(물론 영어제한 입력방법을 적용시 "s" 다음에 "ttt" 가 나올 수 없으므로, 시스템은 입력값 "888"에 대하여 "ttt"가 아닌 것으로 간주할 수는 있음). 마찬가지로 "∼de∼"를 입력하기 위하여 "333"을 사용자가 입력시에도 "de"인지 "ed"인지 알수 없는데,"∼de∼"에 앞서 입력한 "888777"이 "sut","stu","sv"로 해석될 수 있으므로,3가지 경우 각각에 대하여 "∼de∼"와 "∼ed∼"의 모든 경우가 올 수 있다.
이렇게 언어제한 입력방법을 적용하더라도, 풀 입력방법으로 반복선택방법을 적용시 많은 모호성이 발생하는 이유는, 언어제한 입력방법에 있어서 자음과 모음의 출현규칙(즉, 단어생성규칙, 알파벳결합규칙)을 이용하는데, 입력값이 자음을 입력하기 위한 것인지, 혹은 모음을 입력하기 위한 것인지가 명확히 구분되지 않기 때문이다. 도10-1 도10-4에서와 같이 자음과 모음이 각기 분리되어 배정된 경우는 반복선택방법 적용시 모음이 배정된 버튼이 눌러지면, 모음을 입력하기 위한 것으로, 자음이 배정된 버튼이 눌러지면 자음을 입력하기 위한 것으로 시스템이 인식할 수 있기 때문에 대폭 모호성을 줄일 수 있게 되는 것이다.
로마알파벳을 사용하는 영어(English)의 경우 모음이 연속하여 2 개 이상나오는 경우는 많이 있다(예. captain 에서 'ai' ). 또한 실제 단어에서 같은 모음 (기본모음 a,e,i,o,u)이 연속하여 나오는 경우는 food, teen과 같이 oo, ee 의 경우는 비교적 빈번하고, vacuum 와 같이 uu 의 경우는 드물게 있다. 출원인은 아직까지 영어사전에 존재하는 단어 중에서그리고가 연속하여 나오는 경우를 보지 못하였다. 따라서 영어의 5 개 기본모음을, [0], [#] 버튼에 배정함에 있어서, 'a' 를 1타로 선택되도록 하고 e,o,u 중 나머지를 2타로 선택되도록하면 실제로 많은 경우에 모호성이 제거된다. 예를 들어버튼에 모음 'a, o' 를 두고 반복선택방법을 적용하면,버튼이 2 타 입력되었을 때, 두개의 모음 aa 가 입력된 것이 아니고 모음 o 가 입력된 것으로 시스템이 간주할 수 있게된다. 마찬가지로 [0] 버튼에 'i, u' 를 배정하고 반복선택방법을 적용하면, [0] 버튼이 2 타 입력되었을 때, 역시 2 개의 모음 ii 가 입력된 것이 아니고, 모음 u 가 입력된 것으로 시스템이 인식할 수 있다. 단어에서 aa, ii 와 같이 연속하여 나오는 경우가 없는 것이 절대적인 것이 아니라고 하더라도, 선출원에서 언급한 "연타지연시간" 및 "이타지연시간" 을 다르게 설정하는 것으로 모호성을 거의 없앨 수 있다. 나머지 모음 'e' 는 나머지 [#] 버튼에 배정하고 1 타로 입력하도록 할 수 있다.
만약, [0], [#] 버튼 중 하나의 버튼을 특수한 용도의 버튼으로 사용하고 싶으면, 모음 'e' 를 모음이 배정된 임의의 버튼에 두면 된다. 예를들어 'i, e, u' 를 [0] 버튼에 둘 수 있다. 모음 u 는 [0] 버튼 3 타로 입력하게되는데, 이유는 모음 u 가 영어에서 가장 사용빈도가 낮은 모음이기 때문이다. 결국 'i, e, u' 가 [0] 버튼에 배정된 상태에서 영어에서 i 가 연속하여(즉) 나오는 경우가 없으면, i 와 e 는 모호성 없이 입력될 수 있고(각각 1타, 2타), u 를 [0] 버튼 3 타로 입력시, u 인지, ie 인지, ei 인지 알 수 없는 모호성이 발생하게 된다. u 의 사용빈도가 낮은 것은 이러한 경우가 적게 일어나게 됨을 의미한다.
결국 자모음분리캐패드를 이용하여 모호성을 대폭 줄일 수 있고, 더 나아가 다수의 모음을 하나의 버튼에 배정함에 있어서, 사전에 존재하는 영어의 단어 중에서 동일한 모음이 연속하여 나오지 않는 모음을 1 타로 선택하도록 하여 복수개의 모음이 배정된 버튼에서 반복선택방법으로 모음을 입력함에 있어서, 거의 모호성없이 입력할 수 있게 된다.
이렇게 연속하여 등장하지 않는 모음을 1 타로 선택하도록 하는 것, 그리고 가장 사용빈도가 낮은 모음을 3 타로 선택하도록 하는 것은 버튼당 약 2∼3 개의 자음이 배정되는 경우에도 동일하게 적용할 수 있다.
위에서는 로마알파벳을 사용하는 영어의 경우를 예로 들어 설명하였으나, 로마알파벳을 사용하는 타 언어의 경우에도 이를 동일하게 적용할 수 있다.
12.3 자모음분리키패드에서의 인도네시아어제한 반복선택방법
인도네시아어도 로마알파벳(영어알파벳)을 이용하여 단어를 표기한다. 인도네시아어의 음절은 다음의 경우와 같이 구성된다고 한다. (C 는 자음, V 는 모음)
V : be-a 관세
VC : am-bil 잡다
CV : go-sok 문지르다
CVC : pon-dol 오두막
CCV : tra-di-si 전통
CCVC : con-trak 계약
CVCC : teks-tur 직물
CCCV : kon-struk-si 건설
CCCVC : strip-tis 나체춤
자음이 3 개 이상 나오는 경우는 쉽게 알 수 있듯이 영어 등에서 온 외래어이다. 이상에서 알 수 있듯이 인도네시아어의 경우도 "st∼" 혹은 "sp∼" 로 시작하지 않으면, 단어의 첫머리에 자음이 3 개 이상 반복하여 나오지 않는 것을 짐작할 수 있다. 따라서 이러한 단어생성규칙(알파벳 결합규칙)을 이용하여 인도네시아어제한 반복선택방법을 적용할 수 있다.
q, x 는 물리학, 수학 등의 자연과학 기호에 사용되고 있다고 한다. 즉 문자입력에는 거의 사용되지 않는 것으로 생각된다. 따라서 q, x 는 특정 그룹에 명시적으로 배치하지 않을 수도 있고, 입력에 있어서도 3 타에 입력하도록 할 수 있다. 또한 중국어의 경우와 마찬자지로 2 개 이상의 로마알파벳을 조합하여 하나의 인도네시아어 음을 표기하는 경우가 있으며,ny,sy,kh,ng 등 4가지 이다.
이외에 분철되지 않는 자음군으로는 bl, br, dr, dw, dy, fl, fr, gl, kr, ks, kw, pl, ps, rps, rs, sk, skr, sl, sp, spr, sr, str, sw 등이 있다고 한다. 특히 "skr∼", "spr∼", "str∼" 등은 단어의 첫머리에 나올 수 있으므로 후술하는 언어제한 병행입력방법에서 입력값이 풀코드인지 심플코드인지를 판별하는 수단으로 활용할 수 있다. (출원인으로써, "rps"가 단어의 첫머리에 나오는 경우가 있는지 모르나, 있다면 이 역시 마찬가지로 활용할 수 있다.)
영어 알파벳 자음 21 개중 q, x 를 제외한 19 개의 자음을 9 개의 그룹으로 그룹핑하는 어떤 방법이든 가능하나, 인도네시아어의 특성을 반영하여 그룹핑하면 된다. 예를 들어,
BP/DT/GK/CJ/MN/LR/SZ/FV/HWY
와 같이 그룹핑할 수 있다.
q 와 x 는 적절한 그룹에 그룹핑할 수 있다. 예를 들어 q 를 "GK" 그룹에 두고, x 를 "SZ" 그룹에 그룹핑할 수 있다.
인도네시아어 모음을 표기하는데에는 a, i, u, e, o 5 개의 모음이 사용된다.
또 ai, au, oi 3 개의 이중모음이 있으며, oi 는 매우 드물게 쓰인다고 한다. 따라서 5 개의 모음을 2 개 혹은 3 개의 그룹으로 그룹핑하는데 있어서도 가능한한 a 와 i 가, 그리고 a 와 u 가 같은 그룹에 그룹핑되지 않도록 하는 것이 바람직할 것이다.
예를 들어, ae/uo/i 와 같이 그룹핑하는 것이다. 또한 영어의 경우와 같이 같은 모음이 연속하여 나오지 않는(연속하여 나오더라도 출현빈도가 적은) 모음을 각 그룹에서 그 모음이 속한 버튼 1타로 선택하도록 하는 것이 바람직할 것이다.
12.4 자모음분리키패드에서의 일본어제한 반복선택방법
일본어의 입력에 있어서 로마알파벳을 이용하여 일본어 발음을 입력하고 이를 다시 일본어로 변환하는 방법이 널리 사용되고 있었다. 따라서 도10-1∼10-4 와 유사한 자모음분리키패드에서 로마알파벳을 이용하여 일본어음을 입력하고 이를 일본어로 변환하는 것이 가능할 것이다. あ, い, う, え, お 는 각각 a, i, u, e, o 로 표기할 수 있다. な, た, ぬ, ね, の) 는 각각 na, ni, nu, ne, no 로 표기할 수 있으며, 나머지 알파벳도 로마알파벳 자음과 모음을 조합한 형태로 표기할 수 있다.
일본어에서 로마알파벳 자음이 연속하여 2 번 나오는 것은 촉음 혹은 요음(작은 글씨로 표기됨)이 사용되는 경우이다. 또한 로마알파벳 모음이 연속하여 나오는 경우는 단어중에 あ, い, う, え, お 의 조합이 연속하여 나오는 경우가 흔하지 않다는 가정하에 살펴보면, 많아야 2 번 정도이며, 3 번 이상 연속하여 나는 경우가 매우 드문 것을 알 수 있다. 따라서 로마알파벳의 5개의 모음(a, i, u, e, o)을 도10-1 ∼ 10-4와 유사하게 3개의 그룹으로 나누어 3개의 버튼에 배정하고 반복선택방법에 의하여 모음을 입력하더라도 모호성이 별로 발생하지 않는 것을 알 수 있다. 특히 일본어의 경우 "a" 가 입력되면 대응되는 일본어가 "あ"인 것을, "na"가 입력되면 그에 대응되는 일본어가 "な"인 것을 쉽게 알 수 있다(나머지 일본어 알파벳에 대해서도 동일함). 따라서 사용자가 "na"를 입력하고, 입력값이 "na" 인 것을 시스템에서 확인하는 순간, 시스템이 사용자에게 "な" 를 제공할 수 있다.
50음도표의 일본어 표기에 사용되는 로마알파벳 자음은, k, s, t, n, h, m, y, r, w, g, z, d, b, p 의 14개 이다. 요음의 표기에는 로마알파벳 자음 2개를 조합하여 표현하거나(예. cha, sha), "y"를 조합하여 표현(예. kya)하거나, "j"를 사용하여 표현한다. 로마알파벳 자음이 연속하여 2번이상 나오는 경우는 ch, sh, ky, ny, hy, my, ry, gy, py, py 등의 경우와, 촉음이 사용되는 경우이다. 촉음이 사용되면, k, s, t, p 중에서 같은 알파벳이 연속하여 나오는 경우가 있게 된다고 한다(예. ippai). 따라서 16개(14개 + c, j)의 로마알파벳 자음이 일본어 입력에 필수적임을 알 수 있고, 이렇게 일본어 입력에 필수적인 자음을 입력하기 용이하도록 자모음분리키패드를 구성할 수 있다. 나머지 5개의 로마알파벳 자음(f, l, q,v, x) 역시 영어 등을 입력하기 위하여 필요할 것이나, 16개 알파벳을 중심으로 그룹핑할 수 있다. 예를 들면 다음과 같다.
BP/DT/GK/CJ/H/MN/R/SZ/YW/9 개 그룹으로 그룹핑
BP/DT/GK/CJ/H/MN/Y/SZ/RW/9 개 그룹으로 그룹핑
BP/DT/GK/CJ/HR/MN/SZ/YW/8 개 그룹으로 그룹핑
영어의 입력에 필요한 5 개의 로마알파벳 자음은 중국어의 경우에서와 같이 각 그룹에 적절히 추가할 수 있다. 8 개의 그룹으로 그룹핑 한 사례에서는 3*4 키패드에서 나머지 4 개 버튼을 모음버튼으로 활용할 수도 있고, 모음버튼을 3 개만 사용한다면, 나머지 한 개의 버튼을 영어입력에 필요한 자음을 위한 용도로 활용할 수도 있다.
12.5 의도적 언어제한해제
언어제한 반복선택방법은 사전(dictionary)에 존재하는지 여부와 상관없이 모든 단어를 입력할 수 있도록 하는 "풀입력방법"의 장점을 희생하는 것이므로 사용자로 하여금 이러한 언어제한의 제약을 둘 것인지 두지 않을 것인지를 미리 설정할 수 있도록 하는 것이 바람직하다. 그러나, 언어제한 입력방법을 가능하게 하는 "언어제한 입력모드"에서도, 사용자가 사전에 존재하지 않고 단어생성규칙(알파벳결합규칙)에 어긋나는 단어를 입력하고자 할 경우는 알파벳 입력후 특정기능(예를 들어, 공백과 좌측진행 혹은 단어종료 등)을 입력하여 타겟알파벳을 의도적으로 확정시킨 후, 다음 알파벳을 입력함으로써 모든 알파벳 조합을 입력할 수 있다. 예를 들어, 도 10-1 에서 "영어제한 입력모드"에서 사용자가 "622∼" 를 입력하면, 시스템은 "sdd∼"가 아닌 "st∼"로 인식한다고 하였는데, 만약 사용자가 "sdd∼"를 입력하고 싶으면 "62"를 입력 후 공백과 좌이동 기능을 입력하고 "2"를 입력하거나 혹은 "62"를 입력 후 "단어종료기능(혹은 단어종료의 효과를 줄 수 있는 컨트롤)"을 활성화시킬 수 있는 다른 어떤 수단을 입력하고 "2"를 입력하면 된다.
"62" 입력후 단어종료기능이 활성화되면 시스템은 다음에 입력되는 "2"는 "단어시작"후 처음으로 나오므로 이를 "d"로 인식할 수 있는 것이다. 이렇게 의도적으로 단어종료기능을 입력하여 특정 언어제한 입력모드에서 언어제한을 극복하는 것을 편의상 "의도적 언어제한해제"라고 부르기로 한다. "sdd∼" 의 예는 "의도적 영어제한해제"인 셈이다.
마찬가지로 도 10-2 에서 "중국어제한 입력모드(중국어제한 반복선택방법적용)"에서 사용자가 한어병음으로는 존재하지 않으나, 영어에는 존재하는 모음조합인 "ui"를 입력하고 싶으면, "u" 를 입력후 단어를 종료시킬 수 있는 수단(앞의 예에서 언급)을 다시 입력하고 나서, "i"를 입력하면 된다. 그렇지 않고 도 10-2 를 기준으로 "중국어제한 입력모드(중국어제한 반복선택방법 적용)"에서 "u" 입력후 "i" 가 배정된 버튼을 누르면 선출원에서 언급한 바와 같이 "u" 의 변형알파벳(예. "u"에 성조부호가 붙는 알파벳 혹은 "u" 위에 ""이 붙는 알파벳 "" 를 "u"의 변형알파벳으로 간주하여 입력하도록 할 경우)이 입력되게 될 것이다(중국어제한 반복선택방법 적용시 "i" 가 배정된 버튼을 모음 "u","o" 다음에 입력할 경우 컨트롤버튼처럼 사용한다고 하였으므로). 결국 사용자는 중국어제한 입력모드에서도 한어병음에 존재하지 않는 조합의 단어(예를 들어 영어단어 등 모든 알파벳 조합)를 입력할 수 있는 것이다. 다시 말하면 중국어를 주로 사용하는 사용자가 중국어제한 입력모드(중국어제한 반복선택방법적용 모드)로 설정한 상태에서, 그 설정을 다시 바꾸지 않고도 중국어에 존재하지 않는 모든 알파벳 조합을 입력할 수 있는 것이다. 이는 "의도적 중국어제한해제"인 셈이다.
도4-5의 한국어의 3 개 모음요소를 이용한 방법에서 낱글자로써 자음 혹은 모음을 입력시에도 동일하게 적용할 수 있다. 예를 들어 도4-5에서 낱글자로써의 자음 "ㄱ"과 모음 "ㅡ"를 입력하고자 하면,"단어시작" 상태에서 [1]을 입력하고 나서 단어종료기능을 줄 수 있는 수단을 입력하고, 다시 단어시작 상태에서을 입력하면 된다. [1] 버튼과버튼을 연속하여 입력하면 "그"가 되기 때문이다. 표준 키보드(영어 및 한국어의 표준키보드)에서는 우측 화살표 버튼을 누르면 "단어종료" 공백이 입력되지 않고 단어종료기능일 활성화되도록 되어 있으며, 본 발명에도 우측 화살표 버튼이 추가로 구비되는 경우 이는 동일하게 적용할 수 있다.
12.6 언어제한해제 지연시간
"연타지연시간"과 "이타지연시간"을 하나의 버튼에 3개 이상의 알파벳이 배정된 경우에도 적용할 수 있다고 하였다. 예를 들어 도1-1의 표준 영어키패드에서 연타지연시간을 0.1초로 설정하여 [2] 버튼이 0.1 초 이내에 2번 눌러지면, B를 입력한 것으로 시스템이 간주할 수 있도록 할 수 있다.
마찬가지로 [2] 버튼이 연속 3번 눌러졌을 때(즉,[2]+[2]+[2]), 첫번째 입력값과 두번째 입력값(즉, 첫번째 [2] 버튼과 두번째 [2] 버튼) 사이의 지연시간 간격이 연타지연시간으로 설정된 시간(예. 0.1 초) 이내이고, 두번째 입력값과 세번째 입력값 사이의 지연시간 간격이 연타지연시간으로 설정된 시간(예. 0.1초) 이내이면(즉 [2]+0.1초 이내 +[2]+0.1초 이내 +[2]), C 를 입력한 것으로 시스템이 인식하도록 할 수 있다. 혹은 [2] 버튼이 연속 3번 눌러졌을 때(즉,[2]+[2]+[2]) 전체 입력시간이 연타지연시간의 2배(예.0.2초) 이내이면, C 를 입력한 것으로 시스템이 인식하도록 할 수도 있다.
또한 영어의 경우 예를 들어 도 10-1 에서 "" 가 없는 상태를 가정하고, 영어의 모음 "a" 가 연속하여 나오지 않는 성질,"i" 가 연속하여 나오지 않는 성질을 엄격하게 적용하면, "NII"와 같은 약자를 입력시, 반드시 단어종료기능의 입력에 의한 "의도적 영어제한해제"를 통하여 영어제한 반복선택모드에서 "NII"를 입력할 수 있을 것이다. 그러나 "NI"를 입력후 일정시간이 지나면 단어종료기능을 굳이 입력하지 않더라도 NI가 확정되도록 할 수 있다. 이 일정시간은 선출원에서 언급한 "이타지연시간"과 동일하게 설정할 수도 있으나,"이타지연시간"보다 더 길게 설정하는 것이 바람직 할 것이다. 예를 들어 "NI"를 입력후 2초가 경과하면 단어종료기능을 입력하지 않더라도 NI가 확정되고, 시스템은 다시 "단어시작" 상태로 되도록 하는 것이다. 이 편의상 "일시적 언어제한해제 지연시간"이라 부르며, 역시 사용자로 하여금 설정할 수 있도록 하는 것이 바람직할 것이다. 이는 모든 언어에서 동일하게 적용할 수 있음은 자명하다.
각종의 지연시간을 정리하면 다음과 같다.
연타지연시간이타지연시간일시적 언어제한해제 지연시간
3가지 지연시간은 모두 같게 설정될 수도 있으나, 연타지연시간보다는 이타지연시간을 길게, 그리고 이타지연시간보다는 일시적 언어제한해제 지연시간을 길게 설정하는 것이 바람직할 것이다.
12.7 자모음분리키패드에서의 포루투갈어제한 반복선택방법
포루투갈어에서 k, w, y 는 약자 혹은 외래어에만 쓰인다고 하나, 역시 문자입력을 위하여 필요할 것이다. 포루투갈어에서 겹자음은 다음과 같다고 한다.
bl, cl, dl, fl, gl, pl, tl,
br, cr, dr, fr, gr, pr, tr, vr
이외에도 gn, mn, pn, ps, pt, tm, ch, lh, nh, rr, ss 와 같이 겹자음이 있다고 한다. 따라서 포루투갈어제한입력방법을 위한 자모음분리키패드를 구성함에 있어서, 위 연속하여 나오는 위 알파벳들이 같은 그룹으로 그룹핑되지 않도록 할 필요가 있다. 예를 들어 도을 참고할 수 있다. 다만 "mn"이 같은 그룹으로 그룹핑되어 있는데, 이는 적절히 변형하여 다른 그룹으로 둘 수도 있다. 도의 키패드가 다른 언어에도 유사하게 적용될 수 있는 것은 발음의 유사성에 근거(예. 유사한 음가를 가지는 유성음과 무성음을 같은 그룹으로 -예./b p/,/d t/,/g k/...-그룹핑)하여 그룹핑하였고, 유사한 발음을 가지는 알파벳이 연속하여 나오는 경우는 적기 때문이다.
포루투갈어 기본모음은 a, e, i, o, u 의 5개 모음이 있고, 이중 a, e, o 는 강모음 I, e는 약모음 이라고 한다. 서로 다른 2개의 모음이 연속하여 나오는 경우는 "강모음+약모음"의 6가지(ai, au, ei, eu, oi, ou), 그리고 "약모음+약모음"의 1가지(ui) 라고 한다. 즉 강모음과 약모음을 각각 별도의 그룹으로 그룹핑할 수 있다(예. 도 10-6 에서 "..+u"가 없는 상태). 이러한 그룹핑 이외에도 약모음과 강모음을 같은 그룹으로 되지 않도록하여 임의 개수의 그룹으로 그룹핑하는 것도 가능하다. 예를 들어 /a /e o / u i/ 와 같이 그룹핑할 수도 있다.
12.8 자모음분리키패드에서의 스페인어제한 반복선택방법
스페인어에는 영어에 없는 알파벳으로 "∼+n (n 위에 ∼ 가 붙은 알파벳)"이 있다. k 와 w 는 외래어의 표기에만 쓰인다고 하나, 문자입력을 위하여 역시 필요할 것이다. 스페인어에서 겹자음은 다음과 같다고 한다.
bl, cl, dl, fl, gl, pl
br, cr, dr, fr, gr, pr, tr
즉 스페인어제한입력방법을 위한 자모음분리키패드를 구성함에 있어서, l 과 r 이 함께 배정되지 않는 것이 필요하고, 위 이중자음을 구성할 수 있는 알파벳이 같은 그룹으로 그룹핑되어 같은 버튼에 배정되지 않아야 한다. 도10-1∼10-4, 및 도10-6의 자음 그룹핑을 참고할 수 있다.
스페인어 기본모음은 a, e, i, o, u의 5개 모음이 있고, 이중 a, e, o 는 강모음 I, e 는 약모음 이라고 한다. 서로 다른 2개의 모음이 연속하여 나오는 경우는 "강모음 + 약모음" 의 6 가지, "약모음+강모음"의 6 가지, 그리고 "약모음+약모음"의 2 가지(iu, ui) 라고 한다. 3 중모음의 경우도 "약모음+강모음+약모음"과 같이 조합된다고 한다. 즉 강모음과 약모음을 각각 별도의 그룹으로 그룹핑하면(예. 도 10-6 에서 "..+u"가 없는 상태), "약모음+약모음"의 경우만 모호성이 있게 된다. 이 경우 iu, ui 가 모두 가능하므로, 연타지연시간/이타지연시간을 적용하여혹은 의도적언어제한해제 등 출원인이 제시한 방법을 이용하여 모호성을 극복할 수 있다. 동일한 모음이 연속하여 등장하는 경우, 동일한 자음이 연속하여 등장하는 경우 및 그외 모호성이 발생할 수 있는 경우도 마찬가지이다.
12.9 자모음분리키패드에서의 이탈리아어제한 반복선택방법
이탈리아어에서 j,k,w,x,y 는 고어 혹은 외래어의 표기에만 쓰인다고 한다.
영어 등의 입력을 위해서는 필요할 것이다. 자음의 그룹핑에 있어서, 이 5 개의 자음을 제외한 나머지 자음을 중심으로 그룹핑하고, 나머지 5 개의 자음을 적절히 그룹핑할 수 있을 것이다.
이탈리아어에서 이중모음은 ia,io,ie,iu,ai,ei,oi,ui,uo,ou,eu 등이 있다고 한다. 역시 iu, ui 를 제외하면 강모음(a,e,o)와 약모음(u,I)의 조합이다. 삼중모음의 경우도 "약모음+강모음+약모음"의 구조이다. 따라서 /a e o/, /u I/ 와 같이 강모음과 약모음의 그룹핑을 이용할 수 있으며, ui, iu 의 경우는 모호성이 있을 수 있게 된다.
12.10 자모음분리키패드에서의 독일어제한 반복선택방법
독일어의 복자음은 ch, chs, ck, ds, dt, ng, nk, pf, ph, sch, sp, st, th, ts, tz, tsch 등이 있다고 한다. 역시 연속하여 나오는 자음이 같은 그룹으로 그룹핑되지 않도록 그룹핑함에 도의 자음 그룹핑을 참고할 수 있다. 또한 독일어에서 "sch∼" 의 경우는 어두에 자음이 3 개 이상 나올 수 있는 경우라고 하므로 후술하는 언어제한병행입력방법에서 이를 활용할 수 있다. Tsch 의 경우도 어두에 나올 수 있으나 매우 드물게 쓰인다고 한다.
독일어에는 5개의 단모음이 있고, a, o, u 위에 ".." 이 붙는 변모음이 있다. 이중모음으로는 au, ei, ai, eu, "..au", ie, 등이 있다고 한다. 단모음(기본모음)만을 이용하여 모음을 입력시, ie, ei 의 경우가 있으므로, i 와 e 를 다른 그룹으로 그룹핑하는 것이 필요하다. 예를 들어,/a e o/,/I u/ 와 같이 그룹핑할 수 있으며, 많은 변형이 가능하다.
동일한 자음 혹은 모음이 연속하여 나오는 경우는 출원인이 제시한 여러가지 방법에 의하여 모호성을 회피할 수 있다.
12.11 베트남어제한 입력방법
12.11.1 자모음분리키패드에서의 베트남어제한 입력방법
베트남어의 음절은 주로 "모음", "자음+모음", "모음+자음", 및 "자음+모음+자음"의 형태로 이루어진다고 한다. 특히 베트남어에는 단음절어가 기본을 이루고 있다고 한다. 복음절어가 증가하고 있기는 하지만 단음절어가 많다는 것은 자모음 분리키패드에서 입력시스템을 구성하기 용이하다는 것을 의미한다.
베트남어에는 a, e, i(y), o, u 5개의 기본모음과 "v+a(a 위에 v가 붙은 모음. 이한 'x+모음' 은 모음 위에 'x'가 붙은 모음)", "^+a", "^+o", ",+o", ",+u"등 6개의 변모음이 있다고 한다. "y"는 "i"를 길게 발음한다고 한다. 5 개의 기본모음만으로 자모음 분리키패드를 구성하고 나머지 변모음을 컨트롤처리방법에 의하여 입력할 수 있다. 기본모음과 변모음 일부만으로 자모음분리키패드를 구성할 수도 있고, 혹은 11 개의 모음 모두로 자모음분리키패드를 구성할 수도 있다.
베트남어 2 중모음 및 3 중모음은 그 결합형태가 다양하여 5 개의 기본모음을 도에서와 유사하게 2∼3 개의 그룹으로 그룹핑하면서 반복선택방법 적용시 모호성이 없도록 그룹핑하는 것이 쉽지 않다. 또한 베트남어에는 6 가지 성조가 있으며, 5 가지 성조부호가 모음 위 혹은 아래에 표시된다. 그리고 베트남어에서 동일한 모음이 연속하여 나오는 경우는 없는데, 이는 베트남어의 모음을 입력하는데 있어서 유용한 성질이다. 따라서 5 개의 기본모음을 5 개의 그룹으로 두고, 은닉형 반복선택방법 의하여 변모음을 입력하고, 또 컨트롤처리방법에 의하여 기본모음 및 변모음에 성조부호를 붙이는 것을 생각할 수 있다. 여기서 y 는 i 의 변모음으로 간주할 수 있다. 즉 모음을 /'a','v+a','"^+a'/'o','^+o',',+o'/'u',',+u'/'i','y'/'e','^+e'/의 5개 그룹으로 나누는 것이다. 이를 변형하여 변모음의 수가 적은 그룹을 합하여 4 개 그룹으로 만드는 것도 가능하다. 예를 들어 / 'a', 'v+a', '^+a' / 'o', '^+o', ',+o' / 'u', ',+u' / 'i', 'y', 'e', '^+e' / 의 4개 그룹으로 나누는 것이다.
단 5 개의 그룹으로 두면 반복선택방법을 적용하여 모음을 모호성없이 입력할 수 있게 된다. 각 그룹에서 임의의 알파벳을 대표알파벳으로 하여 키패드상에 표시하고 나머지 알파벳은 표시하지 않을 수 있다. 주로 단모음이 대표알파벳이 되는 것이 자연스러울 것이며, 4개의 그룹으로 나누는 사례에서, i, e 가 모두 표시되는 것도 가능하다. 버튼누름횟수에 따른 선택순서는 사용빈도 등을 고려하여 정해질 수 있다.
베트남어의 자음으로는 영어에 없는 "-+d ('d' 가운데에 '-')"가 있고, 영어의 f, z 등이 쓰이지 않는다고 한다. '-+d'는 'd' 의 변형알파벳으로 간주하여, (은닉형) 반복선택방법 혹은 컨트롤처리방법 등을 적용할 수 있다. 교과서에 따라서는 베트남어에서 f, w, z 가 사용되지 않는다고 하기도 하고, 또 어떤 교과서에서는 반자음으로 w, j 가 사용된다고도 한다. 최소한 f, z 는 사용되지 않고, w 는 드물게 사용되는 것으로 볼 수 있다. 본 발명에서는 w 를 사용되지 않는 것으로 간주하나, 필요한 경우 적절한 그룹에 포함시키면 된다.
또한 복자음으로 ch,gh,gi,kh,ng,ngh,nh,ph,qu,th,tr 등이 있다고 한다. 이중 gi, qu 는 형태상으로 자음과 모음의 결합이므로 여기서는 고려하지 않는다. 베트남어가 주로 단음절어로 이루어져 있다는 것은 타 언어와 달리 "자+모+자"로 이루어진 음절이 연속하여 나오는 경우가 거의 없다는 것을 의미하고, 위의 복자음의 경우를 제외하고는 자음과 자음이 연속하여 나오는 경우가 거의 없다는 것을 의미한다. 결국 자음을 몇 개의 그룹으로 나누어 반복선택방법을 적용함에 있어서 위의 복자음을 구성하는 자음이 같은 그룹으로 그룹핑되지 않도록 그룹핑하면 중국어의 사례에서와 같이 자음을 모호성없이 입력할 수 있게 된다.
예를 들어, bp/dt/gk/cq/sx/mn/lr/hvj와 같이 8개의 그룹으로 그룹핑할 수 있다. 또한 bpv/dt/gkq/sxc/mnj/hlr/ 와 같이 6개의 그룹으로 나눌 수도 있다. 임의의 그룹으로 그룹핑하는 것도 가능할 것이다. f, z, 등의 사용되지 않는 자음은 적절한 그룹에 추가적으로 포함시킬 수 있다.
자음을 8 개의 그룹으로 나누고, 모음을 4 개의 그룹으로 나누면, 3*4 키패드내에서 자음과 모음을 모두 수용할 수 있다. 자음을 6 개의 그룹으로 나누고, 모음을 5 개의 그룹으로 두면 11 개 버튼에서 자음과 모음을 수용할 수 있으며, 나머지 하나의 버튼을 모음에 성조부호를 붙이기 위한 컨트롤버튼으로 사용할 수 있다. 자음을 6개 그룹으로 나누고, 모음을 4개 그룹으로 나누면, 10개의 숫자버튼으로 자음버튼과 모음버튼을 모두 수용할 수 있으며, 이는 심플코드 활용에 있어서 심플코드가 숫자로만 이루어지게 하는 효과가 있다. 나머지 2 개의 버튼은 성조부호를 입력하기 위한 컨트롤버튼 및 모호성을 제거하기 위한 후속컨트롤버튼으로 활용할 수 있다.
12.11.2 자음과 모음의 쌍을 이용하는 베트남어제한 입력방법
베트남어의 모음과 자음을 쌍으로 그룹핑하고 반복선택방법을 적용할 수 있다. 한국어의 경우를 참고할 수 있다. 자음과 모음의 쌍을 10 개로 하면, 나머지 자음과 모음은 컨트롤처리방법에 의하여 입력하면 된다.
12.12 자모음분리키패드에서의 러시아어제한 입력방법
러시아어를 위한 자모음분리키패드를 구성하기 위하여 출원인의 선출원 PCT/KR02/00247 을 참고할 수 있다.
러시아어에는 33개의 알파벳이 존재한다. 그중 10개는 모음이고, 20개는 자음이며, 1개의 반모음(혹은 반자음), 그리고 2개의 기호알파벳(경자음부호, 연자음부호)으로 구성되어 있다.
다음은 33개의 자모를 알파벳 순서에 따라 대문자와 소문자를 나열한 것이다.
20개의 자음은 다음과 같이 유성자음과 무성자음으로 나누어진다. 괄호안은 발음을 의미한다.
모음은 경모음과 연모음으로 나누어진다.
러시아어의 자음을 적절하게 그룹핑하는데 있어서, 유사한 음가를 가지는 유성음과 무성음을 그룹으로 둘 수 있다. 예를 들어와 같이 분류하는 것이다. 발음상 쌍을 이루지 않는 자음들은 선출원에서 제시한 바와 같이 적절히 그룹핑할 수 있다. 몇가지 예를 들면 다음과 같으며, 쌍을 이루는 무성음과 유성음을 함께 그룹핑하면서 다양한 변형이 가능하다.
10개 그룹핑
위의 예에서 반자음및 경자음 부호와 연자음 부호를 적절한 그룹에 포함시킬 수도 있다. 또한 이러한 그룹을 각 버튼에 배정함에 있어서 키패드를 간결하게 유지하기 위하여 일부의 알파벳(예.및 이외의 알파벳)을 생략하고 표시하지 않을 수도 있다.
모음 역시 경모음과 연모음의 쌍을 이용하여 10 개의 모음을 5 개의 그룹으로 그룹핑할 수 있다. 러시아어의 모음 알파벳은 10 개가 있고, 발음으로는 11개의 모음 소리가 있으나, 모음의 기본음소는 (a), (e), (i), (o), (u) 의 5개가 있다고 한다. 이중 (e),(o)는 강세 아래에서만 나타난다고 한다. 즉 모음 음소 (a),(o)를 강모음으로 볼 수 있을 것이다. 강세가 없는 위치에서의 모음음소는 나머지 3 개라고 한다. 따라서 러시아어의 10개 모음 알파벳 중 5개의 기본 알파벳을 두고, 이중 강모음에 해당하는 모음을 하나의 그룹으로 또 나머지 나머지 3개의 기본모음을 또 하나 혹은 하나 이상의 그룹 나눌 수 있을 것이다. 같은 종류의 모음이 연속하여(예. 강모음 다음에 연속하여 강모음) 나오기 어려운 것을 예상할 수 있기 때문이다. 예를 들어 a(a) o(o) / y(u)(e)(i) /와 같이 2 개의 그룹으로 혹은 a(a) o(o) / y(u)(e) /(i) / 와 같이 3개의 그룹으로 둘 수 있다. 기본모음과 대응되는 쌍을 이루는 모음은 기본모음이 속한 그룹에 함께 두고 반복선택방법을 적용하거나, 기본모음의 변형알파벳으로 간주하여 컨트롤처리방법을 적용할 수 있다. 자음과 모음의 그룹을 적절하게 이용하여 3*4 키패드내에서 자모음분리키패드를 구성할 수 있다(예. 모음 5 개 그룹과 자음 7 개 그룹, 모음 3 개 그룹과 자음 9 개 그룹). 러시아어에서 영어와 마찬가지로 다수의 자음이 연속되는 경우가 있으나(예. CCCVC...), 전형적인 음절구조는 자음과 모음의 반복구조(CV, CVCV, CVCVCV, ...) 라고 한다. 이는 자모음 분리키패드에서 반복선택방법을 적용시 대부분의 경우 모호성 없이(즉, 매우 적은 모호성으로) 러시아어 단어를 입력할 수 있는 것을 의미한다.
12.13 자모음분리키패드에서의 힌디어제한 입력방법
출원인의 선출원 PCT/KR00/00601 에서 힌디어 자음을 발음의 유사성에 근거하여 9개의 그룹으로 그룹핑하는 사례를 보였고, 본 발명에서 10개의 그룹으로 그룹핑하는 사례를 보였다. 힌디어의 경우도 발음의 유사성을 강하게 가진 그룹 자음을 같은 그룹으로 그룹핑할 수 있음을 보였다. 예를 들어 앞에서 제시한 그림에서 (k), (kh), (g), (gh) 의 발음을 가진 그룹자음을 하나의 그룹으로 그룹핑하는 것이다. 나머지 유사발음 그룹에 대해서도 마찬가지이다. 위에서 제시한 힌디어의 35개 자음 중 아랫점이 있는 _(ud), _(udh) 를 제외한 33개 자음을 9개 그룹 혹은 8개 그룹으로 임의로 그룹핑할 수 있다._(ud),_(udh) 는 각각 _(d), _(dh) 의 변형알파벳으로 간주하여, 기본알파벳이 속한 그룹에 둘 수 있다.
다음은 선출원에서 기술한 힌디어의 모음이다.
이하에서 편의상 힌디어 모음을 밑줄 옆 괄호안에 영어 발음으로(밑줄에는 해당 발음의 힌디어 알파벳이 있는 것으로 간주) 혹은 단순히 괄호안에 영어알파벳으로 표기하기로 한다. 편의상 _(aa)는 (a-)으로,_(ee)는 (i-)로,_(oo)는 (o-)로, _(ae)는 (e)로,_(aae)는 (ai)로 표기한다.
모음 _(ri)는 자음으로 분류하기도 한다고 한다. 모음 _(ri)를 제외한 10개의 모음을 위에서와 같이 2 개씩 쌍을 지어 5 개의 그룹으로 그룹핑할 수도 있다.
힌디어의 모음은 (a),(i),(u)의 단모음과 _(a-),_(i-),_(u-)의 장모음으로 크게 나눠지며 나머지 4개의 모음은 복합모음으로 단모음의 조합으로 표시될 수 있다고 한다. 즉,_(e)=(a)+(i)or(a)+(i-),_(ai)=(a)+(e),_(o)=(a)+(u)or(a)+(u-),_(au)=(a)+(o) 와 같이 된다고 한다. 따라서 기본모음 (a),(i),(u)를 각각 3개의 그룹으로 하여 3 개의 버튼에 배정하고, 각 버튼 1 타로 기본모음을 입력하고, 기본모음에 대응되는 장모음은 기본모음이 배정된 버튼 2 타로 입력하고, 나머지 4개의 복합모음은 기본모음의 조합으로 입력할 수 있다. 복합모음을 이렇게 입력하는 것은 한국어에서 "ㅐ = ㅏ + ㅣ" 로 입력한 것과 유사하다.
예를 들어(a),(i),(u) 가 각각, [0], [#] 버튼에 배정되어 있을 경우,로,혹은로 입력하는 것이다. 만약가 눌러지면 "**" 까지 눌러졌을 때 시스템은 _(a-)로 인식하나 다음에 "0" 이 눌러지는 순간을 (a)+(e)=_(ai)로 인식할 수 있게 된다. 마찬가지로이 눌러지면 "**"까지 눌러졌을 때 시스템은 일시적으로 _(a-)로 인식하나 다음에 "#" 이 눌러지는 순간을 (a)+(o)=_(au)로 인식할 수 있다.
이는 힌디어의 10 개 모음이 하나의 단어에서 연속하여나오지 않아야만 가능하다. 힌디어의 모음이 연속하여 나오는 경우가 있다면, 모호성이 발생할 수 있을 것이다. 즉 사용자가입력시, 시스템은 _(a-) 와 _(i) 인지, 아니면 _(ai) 인지 알 수 없게 되는 것이다. 그러나 10 개의 기본모음이 연속하여 나오는 경우가 있다고 하더라도, 그 빈도가 매우 적으면,과 같이 복합모음 _(ai)를 의미할 수 있는 경우에 기본적으로 시스템이 입력값을 복합모음으로 인식하는 힌디어제한을 적용할 수 있다. 이러한 힌디어제한을 구현하는 것은 3 개의 기본모음의 조합으로 복합모음이 이루어지는 경우를 시스템에서 가지고 있으면서 연속된 모음버튼이 눌러짐을 감지하여 모음을 인식하되, 불가능한 것으로 간주하는 조합(예에서 _(a-)+_(i))가 인지될 경우 이를 약속된 복합모음으로 인식하면 된다.
이 경우 사용자가 장모음과 _(a-) 와 단모음 _(i) 의 조합을 입력하려면, "의도적언어제한해제" 혹은 "언어제한해제지연시간"을 이용하여 해결할 수 있다.즉 앞의 예에서 ** 을 입력하고 일정시간만큼 혹은 의도적으로 단어종료기능을 활성화시키고 나서 0 를 입력하는 것이다. 마찬가지로 _(a-) 이 존재하므로, 단어중에 _(a) 가 연속하여 나오지 않는 것을 짐작할 수 있다. 비록 매우 드물게 _(a)가 연속하여 나오는 경우가 있더라도 기본적으로 "** = _(a-) 으로 시스템이 인식하는 인도어제한 입력방법을 적용하고 _(a)를 연달아 입력시에는 의도적언어제한해제 혹은 언어제한해제지연시간을 활용하면 된다. 즉 * 을 입력후 지연시간등에 의하여 단어종료를 활성화시키고 다시 *을 입력하는 것이다.
인도어의 10 개 모음이(혹은 모음 _(ri)를 포함하여 11 개의 모음이) 연속하여 나오는 경우가 없거나 거의 없다는 전제하에, 모음의 임의의 그룹으로 그룹핑하고, 각 버튼에 배정하여 자모음분리키패드에서 반복선택방법을 적용할 수 있다.
예를 들어, 3 개의 단모음에 대응되는 3 개의 장모음이 존재하므로, 최소한 이 3개의 단모음은 단어에서 연속하여 나오는 경우가 없거나 있더라도 거의 없을 것으로 기대할 수 있다. 따라서 모음을 3 개의 그룹으로 나누어 각 버튼에 배정하되, 3 개의 단모음이 하나씩 각 그룹에 할당되고, 3 개의 장모음 역시 하나씩 각 그룹에 할당되고, 나머지 4개의 모음(모음 _(ri)를 포함시 5개 모음)은 적절하게 3 개의 그룹으로 나뉘어 각 그룹에 할당될 수 있다. 여기서 각 그룹으로 그룹핑된 단모음, 장모음 그리고 복합모음(들)은 소정순서에 의하여 반복선택방법에 의하여 각 알파벳이 선택되도록 할 수 있다. 버튼누름횟수에 따라 "단모음 - 장모음 - 복합모음(들)"의 순서로 선택된다고 하면, 단모음과 장모음의 입력은 앞에서와 동일하며, 복합모음의 입력만이 조금 달라지게 된다. 단모음과 장모음은 발음의 유사성을 강하게 가지고 있으므로 각기 1 타 2 타로 입력하는 것이 자연스러울 것이다. 복합모음 입력시 동일한 버튼을 반복하여 누름으로써 입력하게 된다.
모음 그룹의 수 및 모음을 그룹핑하는 것은 임의로 정해질 수 있으며, 같은 그룹에 속한 모음이 선택되는 순서도 임의로 정해질 수 있다. 각 그룹의 모음을 임의의 버튼에 배정하되, 일부의 모음만을 키패드상에 표시할 수도 있다. 이 경우도 힌디어의 모음이 연속하여 나오는 경우가 드물게 있으면, 의도적 언어제한해제 혹은 언어제한해제지연시간 등을 통하여 입력될 수 있다.
힌디어 역시 주된 음절구조가 자음과 모음이 번갈아 나오는 형태이나, 자음이 연속하여 나오는 경우도 있다. 수직선으로 끝나는 자음 다음에 또 자음이 나올 경우 수직선이 없어지면서, 다음 자음과 결합하여 결합자음을 이룬다. 수직선이 없는 자음은 알파벳 아래에 "\" 비슷한 기호가 붙으면서 다음 자음과 결합하게 된다고 한다. 이외에도 몇가지 규칙이 있으며 불규칙적인 경우도 있다고 한다. 이렇게 자음이 연속하여 입력된 것으로 인식(일시적으로 인식 혹은 확정적으로 인식)되는 경우, 그 결합에 해당하는 결합자음으로 표시하여 주는 오토마타를 구현하는 것은 용이한 것으로 기존의 인도어 워드프로세서에서도 구현되고 있을 것이다.
영어를 모국어로 사용하지 않는 나라에서도 키패드상 영어알파벳을 병기하여 영어의 입력에 활용하고 있다. 인도에서는 힌디어와 영어를 공용어로 사용하므로, 유사발음을 가진 힌디어자음과 영어의 자음을 같은 버튼에 배정함으로써 심플코드의 활용 및 문자입력에 자연스러움을 더할 수 있다. 예를 들면 다음과 같으며 다양한 변형이 가능하다.
위의 예에서 g, k 등의 경우는 비교적 쉽게 그 발음에 대응되는 힌디어 알파벳과 같은 버튼에 배정하여 영어용 자모음분리키패드를 구성할수 있다. 위에서 z,w 등과 같은 영어자음은 중국어의 경우에서와 같이 적절한 그룹에 추가로 혹은 별도로 둘 수 있다. 또한 키패드상의 배치를 간결하게 하기 위하여 각 그룹에서 일부의 알파벳만을 키패드상에 표시할 수도 있다(은닉형반복선택방법 적용). 예를 들어 위에서 예시한 그룹핑에서 첫번째 그룹을 임의의 버튼에 배정시(k) 와(g) 만을 표시할 수 있다 혹은 하나의 알파벳만을 표시할 수도 있다. 각 그룹에서 버튼누름횟수에 따라 선택되는 순서는 임의로 정하면 된다. 모음 _(ri) 를 RL이 배정되는 버튼에 배정할 수도 있다.
12.14 반자음분리 자모음분리키패드에서의 언어제한 입력방법
각 언어별로 반자음(즉, 반모음)은 조금씩 다르다, 영어에서는 일반적으로 w, y, j 등을 반자음으로 취급하고 있으며, 어떤 언어에서는 j 를 제외하기도 하고, 또 어떤 언어에서는 v 등을 포함하기도 한다. 일반적으로 w, y 는 거의 모든 언어에서 공통적으로 반자음으로 취급하고 있는 것으로 보인다.
여기서 반자음은 모음과 유사한 성질 및 음가를 가지므로, 반자음을 별도의 그룹으로 두는 것은 발음의 유사성에 근거하여 자음을 그룹핑하는 것의 연장선상에 있는 것이다.
또한 언어별로 영어알파벳 중 특정 언어에서 사용하지 않는 알파벳(예를들어 스페인어에서 외래어 등에만 사용된다고 하는 k 와 w)이 있기도 하고, 영어알파벳 이외의 알파벳(출원인은 편의상 변형알파벳 혹은 추가알파벳이라 하였음)이 쓰이기도 한다. 영어알파벳 중 사용되지 않는 알파벳 역시 보편적으로 쓰이는 영어의 입력을 위하여 필요할 것이다. 따라서 특정 언어에서 사용되지 않는 로마알파벳의 수가 많지 않으면 반자음과 함께 그룹핑하고 같은 버튼에 배정할 수 있다. 중국어에서의 도10-6을 참고할 수 있다.
또한 특정 언어에서 사용되지 않는 알파벳들을 함께 그룹핑하여 같은 버튼에 배정할 수도 있다.
12.15 불완전 자모음분리키패드에서의 언어제한입력방법
본 발명에서 각 언어에 최적화된 자모음분리키패드를 구성하고 반복선택방법을 적용함으로써 모호성을 제거하거나 최소화할 수 있음을 보였다. 또한 이렇게 자모음분리키패드를 구성함으로써, 입력시스템의 알고리즘을 단순화할 수 있다. 이를 근간으로 하여 다양한 변형이 가능함은 자명하다. 따라서 이를 약간 변형하여 일부의 버튼에 자모음을 함께 배정하는 경우도 본 발명에서 제시한 자모음분리키패드에서의 언어제한입력방법의 변형된 범주이다. 이를 편의상 "불완전 자모음분리키패드"라 부르고, 자모음이 함께 배정된 버튼을 편의상 "자모음혼합버튼"이라 부르기로 한다.
예를 들어 자모음분리키패드에서 모음 "i"와 (반)자음 "y"를 함께 그룹핑하고, 특정 버튼에 배정하고 버튼누름횟수에 따라 소정의 순서에 의하여 자음(여기서는 반자음)과 모음이 선택되도록 할 수도 있다(나머지 버튼은 자음버튼과 모음버튼으로 분리). "iy" 혹은 "yi" 처럼 연속하여 나오는 경우가 없으면, 중국어제한입력방법을 적용하여 역시 모호성없이 한어병음입력이 가능하다. 이 경우 자모음이 혼합배정된 특정버튼의 누름횟수에 따라 "y"(한번 누름), "i"(두번 누름) 의 순서로 선택된다고 가정하고, 자음버튼이 눌러지고 나서 이 자모음혼합버튼이 한번 눌러지는 순간, 이전 자음버튼의 입력이 자음을 입력한 것으로 확정되므로, 시스템은 자모음혼합버튼이 한번 눌려진 것에 대하여 일시적으로 "y"가 입력된 것으로 간주하지 않고, 모음 "i"가 입력된 것으로 확정할 수 있다. 중국어에서 특정자음 다음에 자음 "y" 가 나올 수 없는 언어제한을 이용할 수 있기 때문이다.
또 다른 예를 들어 모음 "i"와 자음 'j"를 혹은 모음 "i"와 자음 "k"를 같은 그룹으로 그룹핑하고, (언어제한)반복선택방법을 적용할 수 있다. 한어병음 입력시"...ik..." 혹은 "...ki..." 와 같이 연속하여 나오는 경우가 있으면 모호성이 발생할 수 있다. 특별한 이유없이 이렇게 일부의 버튼에 자음과 모음을 함께 배정하는 것은, 입력알고리즘을 복잡하게 만들고 입력시스템 구성의 효율성을 떨어뜨리며, 완전한 자모음분리키패드에서의 언어제한입력방법을 적용하는 것보다 좋지 않다. 다만, 각 언어의 특성상 10 개의 숫자버튼에 모두 자음을 배정하기 위한 특별한 목적 등을 위하여 일부의 버튼에 자모음혼합버튼을 둘 수도 있다 (한국어의 사례참조).
이는 도 10-7 의 흐름도를 변형하여 적용할 수 있다. 도 10-9 를 참고한다. 자모음혼합버튼이 한 개 이상 있는 경우도 동일하며, 하나의 자모음혼합버튼에 2 개 이상의 자모음이 배정된 경우도 동일하다. 불완전 자모음분리키패드에서의 언어제한을 적용하는 것은 조금 더 복잡하며(위의 "i"와 "y"의 사례 참조), 각 언어별 자음과 모음의 결합규칙을 적용하여야 하므로, 각 언어별 언어제한을 세부적으로 적용한 흐름도는 도 10-9 보다 더 복잡해질 수 있다. 도 10-9 는 도 10-7 을 일부변형하고 일반적인 내용만을 매우 간략히 표현한 것으로 생각하면 된다.
12.16 비은닉형 컨트롤처리방법의 적용
이상의 자모음분리키패드에서 임의의 버튼(3*4 키패드 내의 버튼 혹은 외부의 별도의 버튼)을 컨트롤버튼으로 정하고, 대표알파벳만을 해당 버튼 1 타로 선택되도록 하고, 나머지 알파벳을 컨트롤처리방법에 의하여 입력할 수 있다. 예를 들어 도 10-6 의 키패드에서 [0] 버튼에 배정된 "w, y, v"를 임의의 자음버튼에 배정하고, [0] 버튼을 컨트롤버튼으로 활용하여, "p = b+0 = 10" 로 입력할 수 있는 것이다 (컨트롤 후입력적용시). 이는 이미 선출원에서 언급한 내용이다.
13. 입력값의 길이로 판단하는 병행입력방법
색인에 저장된 단축코드의 길이는 경우에 따라 특정 개수 이하로 될 수 있다. 또한 특정한 경우 사용자에 의하여 혹은 시스템에 의하여 입력되는 단축코드의유형(예를 들어, 유형1(도시명), 유형2(은행명),... 선출원에서 유형1, 유형2는 트리형태로 그룹지어질 수 있다고 하였다)이 지정될 수 있다. 만약 유형 1(도시명)으로 입력되는 단축코드의 유형이 지정되고, 도시명의 단축코드의 길이가 3 이하라고 가정하면, 단축입력방법을 기본모드로 하는 병행입력방법 적용시, 입력값의 길이가 3 을 초과하는 순간, 시스템이 입력값을 풀코드로 간주하여 처리할 수 있는 것이다. 반대로 풀우선 병행입력방법 적용시, 3 개의 입력값이 입력되고 단어종료기능(예. 공백)이 입력되면, 시스템이 입력값을 심플코드로 간주하여 처리할 수 있다.
이는 한국어, 중국어와 같이 특정한 유형(도시명 - 北京, 회사명 - 四通集團, . . . )의 단축코드의 길이가 일정 길이 이하로 될 수 있는 경우에 특히 유용할 것이다(한국어 중국어 등에 있어서 특정 유형의 명사는 일정 수 이하의 음절로 이루어진 경우가 많고, 음절기준 이니셜코드 단축코드로 이용하는 것이 자연스러우므로. 예를 들어 한국어서 대부분의 은행명은 2 음절로 이루어져 있으므로, 은행명에 대한 음절기준 이니셜 코드의 길이는 2가 됨).
이는 입력값이 단축코드인지 풀코드인지를 입력 초기에 판단하여 사용자에게 제공하지 않아도 되는 경우, 즉 입력값의 길이가 특정 길이 이상인지, 이하인지만으로 입력값이 심플코드인지 풀코드인지 판단하여도 되는 경우에 유용할 수 있다. 즉 매번 입력값이 입력될 때마다 단축코드 색인을 검색하지 않고, 단지 입력값의 길이가 특정 길이 이상인지만을 체크하면 되므로 구현을 단순화하고 시스템의 성능을 향상시킬 수 있는 것이다.
14. 언어제한 병행입력방법
언어제한 병행입력방법은 풀우선 병행입력방법 적용시, 입력값이 특정언어의 "단어생성규칙"을 위배하는 순간(즉, 언어제한을 위배하는 순간), 시스템이 입력값을 심플코드로 간주하여 처리하는 것이다. 만약 입력값과 일치하는 값이 심플코드 색인에서 더 이상 존재하지 않는 것이 확인되면, 다시 입력값을 풀코드로 간주하여 처리할 수 있다.
14.1 언어제한 반복선택방법을 풀입력방법으로 하는 언어제한 병행입력방법
14.1.1 중국어
특히 도10-1 ∼ 10-4를 기준으로한 중국어의 음절기준 이니셜코드는 자음버튼인 [1] ∼ [9] 의 숫자값만을 가지게 된다(모음 a, o, e 가 단독으로 사용되는 경우도 있다고 하나, 감탄사 정도이며 현실적으로 거의 없다고 하고, 모음 i, u,이 단독으로 사용될 경우는 앞에 y, w, y 를 각각 붙이므로). 반복선택방법을 적용한 풀코드는 도 10-1 ∼ 10-4 의 예에서 대부분의 경우 2번째 혹은 적어도 3번째 입력값은 모음 입력을 위하여, [0] 혹은 [#] 버튼 중의 한개 버튼이 입력되어야 한다. 이러한 성질은 선출원의 한국어의 예(모음요소를 활용한 방법)에서 언급한 바와 같이 "병행입력방법"을 적용시 입력초기에 입력값이 풀코드를 이루는지, 아닌지를 알 수 있는 좋은 특성을 제공한다.
예를 들어 풀입력방법으로 도10-1 ∼ 10-4를 기준으로한 반복선택방법을 사용하고, 풀입력모드를 기본입력모드로 하는 병행입력방법(풀우선 병행입력방법)에서, 입력값이 "693 ... = shk ..." 가 입력되면, 3번째 값 [3] 이 입력되는 순간입력값이 풀코드를 이루지 못하는 것('sh' 까지는 가능해도 그 다음 자음 'k' 가 올 수는 없으므로)을 시스템이 인지할 수 있으므로, 시스템이 입력값을 심플코드로 간주하여 처리할 수 있다. 역시 "112 ... = pd ..." 가 입력되면, 3번째 입력값 [2] 가 입력되는 순간 입력값이 풀코드를 이루지 못하는 것(중국어 입력에서 '11' 이 'bb'가 될 수 없고 'p'로 해석될 수 밖에 없으며, p 다음에 로마알파벳 자음 d 혹은 t 가 오면 중국어 음절을 이룰 수 없으므로)을 시스템이 인식하고, 시스템이 입력값을 심플코드로 간주하여 처리할 수 있다. 마찬가지로 "7771 ... = wb..." 이 입력되면 4 번째 입력값 [1] 이 입력되는 순간 시스템이 입력값을 심플코드로 간주하여 처리할 수 있다. 결국 대부분의 경우 2번째 혹은 3번째 입력값이 입력되면 입력값이 풀코드인지 아닌지를 시스템이 알 수 있는 것이다.
"14 ... = bj ..." 가 입력되면, 2번째 입력값 [4] 가 입력되는 순간 시스템이 입력값이 유효한 중국어 음절을 이루지 못하는 것(중국어 성모중 bj 와 같이 로마알파벳 자음이 결합되는 경우가 없으므로)을 인식하고, 입력값을 심플코드로 간주하여 처리할 수 있다. 즉 도 10-5 에서 시스템이 심플코드 "14"의 대응어구인 "Bejing" 혹은 "北京" 을 사용자에 제공할 수 있는 것이다. 만약 심플코드의 색인에 "14"혹은 "14"로 시작하는 심플코드가 없다면, 시스템은 입력값을 다시 풀코드로 간주하여 "bj"를 사용자에게 제공하면 된다.
이는 마치 모음요소를 활용한 한국어의 경우(도 4-5)에서와 동일하다. 기 설명한 도 4-5 에서의 풀입력방법은 한국어제한 반복선택방법으로 볼 수 있고, 풀우선 병행입력방법 적용시, "12"가 입력되면, 입력값이 유효한 한국어 음절을 이루지못하므로, 시스템은 입력값을 심플코드로 간주하여 심플코드 색인을 참조하여 심플코드에 대응하는 어구를 사용자에게 제공하게 된다. 그러나, 심플코드 색인에 "12"와 일치하는 심플코드가 더 이상 존재하지 않는 것이 확인되면, 시스템은 입력값을 다시 풀코드로 간주하여 "ㄱㄴ"을 사용자에게 제공하게 된다.
이해를 돕기 위하여 도 5-4 와 도 10-5 의 심플코드 색인에서 심플코드는 정렬되어 있는 상태로 표시하였으나, 시스템 내부에서 어떤 형태로 저장되어도 상관없으며, 다만 심플코드 색인 검색시 필요하면 시스템은 심플코드를 정렬하여 입력값이 심플코드 색인에 더 이상 존재하는지 여부를 검사하면 된다.
또한 단축입력모드(검색대상이 되는 심플코드 색인에 도 10-1 을 기준으로 [1] ∼ [9]로 이루어진 음절기준 이니셜코드만이 저장되어 있다고 가정)를 기본입력모드로 하는 병행입력방법(단축우선 병행입력방법)에서, 입력값에서 2 번째 값이 입력되는 순간 시스템은 심플코드 색인을 검색하지 않고도 입력값이 풀코드인 것으로 인지하여 처리할 수 있다. 이 역시 도5-4에서의 한국어의 경우와 동일하다.
14.1.2 영어 등
"st∼" 혹은 "sp∼" 로 시작하면서 최초 단어시작시부터 4 번째 자음이 입력되는 것으로 인식되는 경우, 그리고 "st∼" 혹은 "sp∼"로 시작하지 않으면서 최초 단어시작부터 3 번째 자음이 입력되는 것으로 인식되는 순간, 시스템은 입력값을 심플코드로 간주하여 처리할 수 있다.
예를 들어 도 1-1 의 키패드에서 단순반복선택방법을 적용하고, "467... =gms ..." 입력시 세번째 입력값 [7]이 입력되는 순간 입력값이 영어의 단어생성규칙을 위배하므로, 시스템이 입력값을 심플코드로 간주하여 처리할 수 있는 것이다. 만약 심플코드 색인에 install 의 전체연관 심플코드 "4678255 = install" 가 저장되어 있다면, 심플코드 대응어구인 install 을 시스템이 사용자에게 제공할 수 있는 것이다. 검색범위의 심플코드 색인에 "467..." 과 일치하는 심플코드가 존재하지 않으면, 입력값을 다시 풀코드로 간주하여 처리할 수 있다.
그리고 전술한 바와 같이 자모음분리키패드에서 영어제한반복선택방법을 풀입력방법으로 사용하면, 입력값이 영어의 입력규칙(예. 단어시작으로부터 "st∼" 혹은 "sp∼"로 시작하지 않으면서 3 개의 자음이 올 수 없음)을 위배하는지를 쉽게 알 수 있으므로, 더욱 효율적으로 병행입력방법을 적용할 수 있다.
14.2 대표알파벳제외 컨트롤처리방법을 풀입력방법으로 하는 언어제한 병행입력방법
도 1-1 에서 각 버튼의 첫번째 알파벳을 대표알파벳으로 해당 버튼 1 타로 입력하고, 나머지 알파벳을 컨트롤처리방법에 의하여 입력할 경우(즉, 대표알파벳제외 컨트롤처리방법 적용), 영어의 앞에서 설명한 단어생성규칙을 활용하여 단어생성규칙을 위배시 입력값을 심플코드로 간주하여 처리하는 언어제한 병행입력방법을 적용할 수 있다.
예를 들어 도 1-1 에서 첫번째 알파벳을 대표알파벳으로 하고 나머지 알파벳을 컨트롤처리방법에 의하여 입력할 경우, "467...=gms..." 입력시 세번째 입력값 [7]이 입력되는 순간 입력값이 영어의 단어생성규칙을 위배하므로, 시스템이 입력값을 심플코드로 간주하여 처리할 수 있는 것이다.
마찬가지로 영어 이외의 언어에 있어서도 유사하게 적용할 수 있으며, 나머지 사항은 반복선택방법을 풀입력방법으로 하는 언어제한 병행입력방법에서와 유사하다.
14.3 언어제한 병행입력방법에서의 3 차모호성 극복
"scope" 의 전제연관 심플코드 "72673" 을 입력하는 경우에는, 시스템이 이를 1차적으로 풀코드로 인식하면 "72673 = pampd" 과 같이 되어 입력값이 영어의 단어생성규칙을 위반하지 않으므로 시스템은 입력값을 1차적으로 풀코드로 인식하게 되고, 2 차적으로 입력값을 심플코드로 해석하여 심플코드에 대응하는 scope 로도 인식하는 "3 차모호성"이 발생하게 된다. 여기서 풀입력방법으로 도1-1을 기준으로 단순반복선택방법이 적용된 경우이다.
이 경우 시스템은 1 차적으로 사용자에게 pampd 를 제공하게 되다. 그러나, 사용자가 scope 를 입력하고자 할 경우 특정 버튼을 눌러 scope 를 선택하도록 할 수 있다. 또는 "72673" 이 입력되고 나서 단어입력이 종료되면(예를 들어 공백 등이 입력되면), 입력값을 1 차적으로 풀코드로 해석한 "pampd"와 심플코드로 해석한 "scope"를 사용자에게 리스트로 제공하고 사용자로 하여금 선택하도록 할 수도 있다.
위의 경우는 대표알파벳제외 컨트롤처리방법을 풀입력방법으로 사용하는 병행입력방법에서도 유사하게 적용할 수 있다. 또한 풀우선 병행입력방법이 아닌 단축우선 병행입력방법에서도 입력값 입력후 단어가 종료되는 시점에 입력값이 심플코드 색인에 존재하는 경우라도, 입력값을 풀코드로 간주하였을 때, 언어제한을 위반하지 않으면(3 차모호성이 발생하면), 사용자로 하여금 선택(특정 버튼을 반복하여 눌러 혹은 리스트에서 선택)하도록 할 수 있다.
영어 이외의 언어(특히, 대표알파벳제외 컨트롤처리방법을 적용하는 일본어의 경우 등)에 있어서도 유사하게 적용할 수 있다.
15. 언어제한을 위배한 문자열로부터의 심플코드 추출 및 해석
입력값(풀코드 혹은 심플코드)는 클라이언트측에서 해석될 수도 있고, 서버측에서 해석될 수도 있다고 하였다. 도 11-1, 도 11-2 는 각각 클라이언트측에서 해석되는 경우와 서버측에서 해석되는 경우를 나타낸 선출원의 도면이다. 즉 단순히 "시스템"이라 하면 클라이언트측 시스템 혹은 서버측 시스템을 모두 아우르는 개념인 것이다. 입력값이 심플코드인 경우 이를 클라이언트측에서 해석하여 심플코드 대응어구를 문자열(text)로 서버측에 전송하는 경우, 서버측에서는 이를 활용하여 각종의 서비스를 제공하면 된다. 마찬가지로 입력값을 숫자로 서버측에 전송하고, 서버측에서 해석하는 경우도, 서버측에서 심플코드를 해석하여 각종의 서비스에 활용하면 된다. 클라이언트측에서 DTMF 톤을 송출하고 이 입력값을 서버측에서 전달받아 활용하는 것도, 당연히 숫자값을 클라이언트측에서 서버측으로 전송하는 사례중의 하나이다.
언어제한 병행입력방법에서 입력값이 언어제한을 위배하여(즉, 입력값이 특정언어의 유효한 음절을 이루지 못하여), 시스템이 입력값을 심플코드로 간주하여 처리하되, 심플코드의 색인에 입력값과 일치하는 심플코드가 존재하지 않을 수도있다. 이 경우 다시 입력값을 풀코드로 간주하게 된다고 하였다. 그런데 예를 들어 사용자가 도 4-5 를 기준으로 "삼성전자"를 염두에 두고 "7799"를 입력하였는데, 클라이언트측 시스템내의 심플코드 색인에 "7799" 와 "7799"에 대응되는 "삼성전자"를 저장하고 있지 않으면, 시스템은 단순히 "ㅅㅅㅈㅈ"을 사용자가 입력한 것으로 간주하게 된다. 만약 증권정보시스템의 경우, 클라이언트측에서 입력값 "7799"를 서버측으로 전송하거나, 혹은 입력값 "7799"에 대응되는 삼성전자를 서버측으로 전송하면, 증권정보서버에서 "7799"를 해석할 수 있으므로 별 문제가 없을 것이다(증권정보 서버에서는 심플코드 "7799"와 심플코드 대응어구인 "삼성전자"를 가지고 있는 것으로 가정). 그러나 클라이언트측에서 문자입력모드에서 사용자가 "7799"를 입력후 클라이언트측에서 입력값을 심플코드로 간주하여 처리하고, 클라이언트측 심플코드 색인에 "7799"가 존재하지 않아 이를 다시 풀코드로 간주하여 문자열 "ㅅㅅㅈㅈ"을 서버측에 전송하는 경우 증권정보 서버에서는 이를 활용하기 어렵게 된다.
따라서 증권정보 서버에서는 전송된 문자열 "ㅅㅅㅈㅈ"가 의미를 가지는 값이 아닌 경우, "ㅅㅅㅈㅈ"를 입력하기 위하여 사용된 "7799"를 추출하고, 심플코드 "7799"의 대응어구인 "삼성전자"를 추적하여 이를 시스템에서 활용할 수 있다. 혹은 한국어에서 심플코드로 음절기준 이니셜코드를 사용할 경우만 적용할 수 있는 다른 방법으로, 시스템은 심플코드 대응어구 중 "ㅅㅅㅈㅈ"과 음절의 첫자음이 일치하는 "삼성전자"를 추적하여 이를 활용하여 서비스를 제공할 수 있다. "쌈썽쩐차"의 경우도 음절기준 이니셜코드는 "7799"가 된다. 이 경우도 "7799"는 "ㅅㅅㅈㅈ"으로 해석되는데, "쌈썽쩐차"를 검색해 내기 위해서는 첫자음이 동일한 경우를 포함하여, "ㅅ"의 경우는 음절의 첫자음이 "ㅆ"인 경우까지, "ㅈ"에 대해서는 "ㅉ", "ㅊ"인 경우까지 포함하여 검색하면 된다. 즉, "ㅅ"과 함께 배정된(격음, 경음이 기본자음이 배정된 버튼에 암시적으로 배정된 것으로 간주) 알파벳이 음절의 첫자음과 일치하는 경우를 검색하면 된다.
이는 키패드가 아닌 키보드를 사용하는 PC 환경에서도 동일하게 적용될 수 있다. 즉 기존의 PC 등을 클라이언트로 사용하는 증권정보 시스템에서 사용자는 "삼성전자"의 주가를 조회하기 위하여 "삼성전자"를 입력여야 했지만, "ㅅㅅㅈㅈ"만을 입력하고 서버측으로 전송하더라도, 증권정보 서버 시스템에서 "ㅅㅅㅈㅈ"이 낱글자의 나열로써 상장회사명에 존재하지 않는 것을 인지하고, 앞서 설명한 2 가지 방법("7799"를 추출 후 "삼성전자"추적 혹은 "ㅅㅅㅈㅈ"와 음절의 첫자음이 일치하는 "삼성전자" 추적)에 의하여 서비스를 제공할 수 있는 것이다.
또 다른 방법은 서버측 색인에 "7799(심플코드), 삼성전자(심플코드 대응어구)" 뿐만 아니라 "ㅅㅅㅈㅈ(편의상 '심플코드 대응문자'라고 함)"를 등록하여 두고, 클라이언트측으로부터 전송된 값 "ㅅㅅㅈㅈ"이 유효한 한국어 음절을 이루지 못하는 것을 확인하고 저장된 심플코드 대응문자와 비교하여 사용자가 의도하는 것이 "삼성전자"라는 것을 알아낼 수 있다.
이상의 내용을 그림으로 정리하면 도 11-3 과 같으며, (A), (B), (C)가 선택적으로 가능하다.
더 나아가 기존의 PC 등의 클라이언트에서 키보드 등과 같은 장치를 통하여문자를 입력하는 등의 경우(예를 들어, PC 의 워드프로세서 등을 이용하여 문자를 입력하는 경우)에 있어서도, 음절기준 이니셜코드를 이용하여 음절의 첫자음만을 입력하고, 시스템(클라이언트 혹은 서버)에서 이를 타겟어구로 변환함으로써, 고속으로 문자입력을 할 수 있도록 하거나 혹은 각종 정보시스템에서 활용하는 것이 가능하다. 예를 들어 "삼성전자"를 입력하고자 할 경우 사용자가 "ㅅㅅㅈㅈ"을 입력하면, 시스템은 색인을 검색하여 음절의 첫자음이 "ㅅㅅㅈㅈ"인 "삼성전자"를 사용자에게 제공할 수 있다. 앞에서 설명한 다른 방법(약속된 특정 키패드를 기준으로한 입력값의 심플코드 추출 및 색인검색, 심플코드 대응문자를 색인에 저장)도 적용이 가능하다. 도 11-5 를 참고할 수 있다. (A), (B), (C)가 선택적으로 가능하다.
지금까지는 상용어구를 등록하여 두고 이를 입력함에 있어서, 단순히 어구와의 연관성과 관련없이 단순히 특수기능버튼과 숫자버튼 등을 조합하여 입력하도록 지정하는 정도였다. 예를 들어 "삼성전자"를 상용어구로 등록하고, "alt + 1"로 입력하도록 하는 것이다.
마찬가지로 도 10-2 을 기준으로 "四通集團(satongjipdan : 출원인이 중국어발음을 알지 못하는 관계로 편의상 한국어 발음을 한어병음인 것으로 간주하여 사용하나, 중국어 발음에도 유사하게 적용하면 됨)"의 음절기준 이니셜코드는 s, t, j, d 에 대응되는 "6242"가 된다. 사용자가 "6242"를 입력하였을 때, 클라이언트측 시스템의 심플코드 색인에 6242와 四通集團(satongjipdan)이 등록되어 있지 않으면, 클라이언트측 시스템에서는 사용자에게 단지 "sdjd"만을 제공하게 된다. 사용자가 "sdjd"를 서버측으로 전송하면, 서버측에서는 "sdjd" 가 유효한 중국어 음절을 이루지 못하므로, "sdjd"로부터 사용자가 입력한 입력값 "6242"를 추출하고, 심플코드(여기서는 음절기준 이니셜코드) "6242"에 대응되는 "四通集團"을 검색해낼 수 있는 것이다(서버측 시스템에서는 심플코드와 대응어구를 저장하고 있는 것으로 가정).
한국어의 사례에서 "ㅅㅅㅈㅈ" 및 각 자음과 함께 배정된 알파벳과 각 음절의 첫자음이 일치하는 어구를 검색해내는 것과 처럼, 도 10-2 을 기준으로 "sdjd" 및 기타의 변형이 가능한 자음조합(예."xdjd","stjt","sdjt", ... 16 가지 경우 존재)과 각 음절의 첫자음이 일치하는 단어를 사용자에게 제공할 수 있다.
역시 서버측에 심플코드 대응문자 "sdjd"를 함께 저장하고, 클라이언트측으로부터 전송된 값 "sdjd"이 유효한 중국어음절을 이루지 못하므로, 전송값과 색인의 심플코드 대응문자를 비교하여 사용자가 의도하는 것이 "四通集團"인 것을 시스템이 알아낼 수 있다.
이상의 내용을 그림으로 정리하면 도 11-4 와 같으며, (A), (B), (C)가 선택적으로 가능하다.
PC 등의 정보통신기기에서도 사용자가 "stjd" 입력시 한어병음의 음절의 첫자음이 일치하는 단어("四通集團")을 검색하여 사용자에게 제공할 수 있다. 혹은 사용자가 "stjd" 입력시 시스템(즉, PC)에서 단축코드(심플코드 대응문자)를 각 음절의 첫자음 "stjd" 로 등록하여 두고, 두번째 자음이 입력되는 순간, 중국어 언어제한을 위배(sh, ch, zh 등이 아닌 2 개의 로마알파벳 자음 등장)하므로, 입력값을단축코드로 간주(사용자가 단축입력을 하는 것으로 간주)하여 처리할 수 있다. 입력값 "stjd" 에서 심플코드를 추출하는 것은 미리 약속된 키패드(예. 10-2)에 의하여 심플코드(예. 6242)를 추출할 수 있다. 도 11-6 을 참고할 수 있으며, (A), (B), (C)가 선택적으로 가능하다.
더 나아가 PC 의 키보드 그리고 키패드 뿐만 아니라 이와 유사한 변형된 모든 형태의 자판(스크린 상에서 구현되는 자판의 형태는 매우 다양할 수 있다)에서도 동일하게 적용할 수 있다.
16. 음절기준 이니셜코드 입력시, 심플코드 색인을 이용하지 않는 병행입력방법
앞에서 설명한 방법중 심플코드로 음절기준 이니셜코드를 사용하는 경우, 각 음절의 첫자음과 비교하는 것은, 클라이언트측에서 심플코드의 색인(예. 6242 / satongjipdan / 四通集團)을 가지지 않고, 단지 특정 어구의 색인만(예. satongjipdan / 四通集團)을 가진 경우에도 유용하게 적용할 수 있다. 예를 들어 "62..." 에서 두번째 [2] 가 입력되는 순간, 시스템은 입력값이 중국어 언어제한을 위배하는 것을 인식하고 입력값, "62... = sd..., st..., xd..., xt...(편의상 '가능알파벳조합'이라 부름)"과 색인의 단어 중에서 각 음절의 첫자음이 일치하는 어구를 검색하여 사용자에게 제공할 수 있는 것이다. 버튼 누름의 횟수가 많아지면, 가능알파벳조합의 수가 더 많아지게 되며 이 가능알파벳조합을 이용하여 색인의 어구와 비교/검색하면 된다. 도 11-7 을 참고할 수 있다. 도 11-7 의 색인에서 "四通集團" 행(record)에서 다중(multiple)적으로 "stjp" 및 "sd..", "xd ...","xt ..." 의 목록(2**4 = 16가지가 가능함) 을 가지고 있으면서, 입력값 "sd ..." 에 대하여 각 레코드의 이 다중값과 비교하여 사용자에게 四通集團 을 제공할 수도 있을 것이다. 이 역시 같은 개념이나 구현이 어렵고, 장점이 없으므로 권장하지 않는다.
마찬가지로 클라이언트측에서 심플코드 색인(예. 7799, 삼성전자)을 가지지 안고, 단지 특정 어구의 색인(예. 삼성전자)만을 가지고 있는 경우, 사용자가 "삼성전자"를 염두에 두고, "77..."를 입력시, 시스템은 2 번째 [7] 이 입력되는 순간, 입력값이 한국어 언어제한을 위배하는 것을 인식하고, 입력값 "77... = ㅅㅅ..., ㅅㅆ..., ㅆㅅ..., ㅆㅆ... (편의상 '가능알파벳조합'이라 부름)"과 색인의 단어 중에서 각 음절의 첫자음이 일치하는 어구를 검색하여 사용자에게 제공할 수 있는 것이다. 도11-8을 참고할 수 있다.
만약 입력값과 일치하는 어구가 색인에서 더 이상 존재하지 않는 것이 확인되면, 입력값을 풀코드로 간주하여 사용자에게 제공하면 된다. 이는 사용자가 음절기준 이니셜코드의 값만을 입력한다는 전제하에, 색인에 심플코드를 두지 않고, 단지 단어의 색인만을 둔 상태에서 병행입력방법과 유사한 효과를 낼 수 있는 것이다. 단, 이 방법 역시, 풀우선 병행입력방법에서 입력값이 풀코드 생성규칙을 위배하거나, 풀우선 언어제한 병행입력방법에서 입력값이 언어제한을 위배하는 순간을 시스템이 감지하는 절차까지는 동일하며, 입력값에 대응되는 어구를 검색해내는 절차만 다른 것이다. 즉, 풀코드 생성규칙을 위반하거나 언어제한을 위배하는 순간, 시스템이 입력값을 풀코드가 아닌 것으로 간주하되,심플코드를 이용하지 않고 입력값이 음절기준 이니셜코드인 점을 이용하여 입력값에 대응되는 어구를 해석(혹은 검색)하여 사용자에게 제공하는 것이다.
병행입력방법의 핵심적인 내용은 풀코드 생성규칙을 위반하는 순간, 혹은 언어제한을 위반하는 순간을 시스템이 자동으로 감지하여, 입력값을 심플코드로 간주(즉, 사용자가 풀입력이 아닌 단축입력을 하는 것으로 간주)하는 것이었고, 이는 결국 기 제시한 병행입력방법에서 입력값에 대응되는 어구를 검색해내는 부분만 특별한 경우(음절기준 이니셜코드 이용)에 한정하여 변형한 것이다.
17. 기능의 입력
기능 중 어구(문장)을 입력시 공백은 필수기능이라 할 수 있고, 삭제(입력취소)기능 역시 필요하다. 엔터기능은 입력후 일정시간 동안 무입력으로 해결할 수 있으나 역시 필요한 기능이라 할 수 있다. 이 3 가지 기능을 통칭하여 편의상 "3 기본기능" 이라고 부른다. 또한 영어와 같이 대소문자가 존재하는 언어에 있어서는 대/소문자전환 기능도 필요하다. 상/하/좌/우 이동기능 중 좌/우 이동기능은 삭제 그리고 공백기능으로 대체할 수 있고 상/하 이동기능은 필수기능은 아니라고 볼 수 있다.
여기서 어구 입력을 위한 각종 기능 중 필수기능 순으로 나열해 본 사례를 몇가지 들면 다음과 같다. 물론 이는 참고사항일 뿐이고, 절대적인 기준은 아니며, 특정한 상황에 따라 조금씩 달라질 수 있다. 만약 영어 키패드를 통하여 중국어를 입력하는 경우는 한자변환 기능이 가장 필수기능이 될 것이기 때문이다. 또한 일본어나 한국어와 같은 한자 문화권 언어에 있어서도 한자변환 기능은 중요한 기능이될 수 있다.
1. 공백 - 엔터 - 삭제 - 대/소문자 전환 - 자국어/숫자/영어 모드전환 - 이동(상/하/좌/우)
2. 공백 - 삭제 - 엔터 - 자국어/숫자/영어 모드전환 - 대/소문자 전환 - 이동(상/하/좌/우)
3. 공백 - 엔터 - 삭제 - 한자변환 - 자국어/숫자/영어 전환 - 이동(상/하/좌/우)
4. 한자변환 - 공백 - 엔터 - 삭제 - 영어/숫자 모드전환 - 이동
17.1 컨트롤처리방법에 의한 기능의 입력
알파벳 및 각종 기호를 컨트롤 처리방법에 의하여 선택할 수 있는 것을 설명하였다. 각종 기능을 선택하는데에도 역시 동일하게 적용될 수 있다. 도12-1은 숫자 버튼에 각종 기능의 의미를 부여하고, 이를 "기능컨트롤"과 조합하여 구현할 수 있음을 보여주는 사례이다. 각 버튼에 연관된 숫자버튼을 쉽게 기억할 수 있도록 연관지어 지정할 수 있다. 도12-1에서 좌우상하 화살표는 직관적으로 인지할 수 있으며, 중앙에 엔터를 두는 것 역시 용이하게 숫자버튼과 그에 연관된 기능을 알 수 있게 하기 위함이다. 나머지 필요한 기능역시, 각 언어별로 기능의 명칭과 관련있는 알파벳이 배치된 버튼에 연관지음으로써, 기억을 용이하게 할 수 있다. 도12-1에서 shift 기능을 "S" 가 배정된 [7] 버튼과 연관하는 것이다.
도12-1에서 편의상 선출원의 한국어의 경우에서 처럼버튼을 누름횟수에 따라 격음컨트롤, 경음컨트롤이 선택되고 그 다음으로 기능컨트롤이 선택된다고 가정할 때, 엔터 =[5]+{기능}=[5]+이 된다. 만약 [5] 버튼 1타로 선택하는 알파벳이 격음/경음이 존재하지 않는 알파벳이면, 건너뛰기 컨트롤처리를 적용하여 [5]+까지 눌렀을 때 엔터가 입력된 것으로 할 수도 있다.
각 버튼에 연관된 기능은 숫자버튼위에 표시될 수도 있고 표시되지 않을 수도 있다. 그런데 각종 기호의 그룹과 연관된 숫자버튼을 쉽게 알 수 있도록 액정화면의 일부분에 표시하여 줌으로써, 버튼위에 표시하지 않고, 간결한 배치를 유지하면서, 사용의 편리를 더할 수 있음을 지적하였다. 이는 여기서도 동일하게 적용될 수 있다. 도12-2를 참고한다. 또한 기호입력에서 지적한 바와 같이 기능과 숫자버튼과의 연관되는 기능을 사용자가 재정의하도록 할 수도 있다.
영어의 경우와 같이혹은 [#] 버튼이 다른 컨트롤버튼으로 사용되지 않는 경우는버튼 1타로 "기능컨트롤"을 선택할 수 있으므로, 도12-1에서 기능이 연관된 숫자버튼과버튼을 한번 눌러 기능을 입력할 수 있다.
17.2 다차원 교차컨트롤처리방법에 의한 기능의 입력 (컨트롤버튼의 교차 조합 이용)
하나의 알파벳을 입력하기 위하여 한가지의 컨트롤버튼이 사용되는 경우를 1 차원 컨트롤처리방법이라고 하였다. 같은 컨트롤버튼이 반복적으로 사용되는 경우도 마찬가지이다.
컨트롤버튼으로, [#]이 사용되고, 1 차원 컨트롤처리방법으로 알파벳 및 각종의 기호를 입력하는 경우, 컨트롤버튼의 교차 조합(이 경우+[#], [#]+)을이용하여 각종 기능을 입력할 수 있다. 컨트롤버튼이 반복적으로 사용되지 않는 경우라면,+혹은 [#]+[#] 등을 이용하여 기능을 입력할 수도 있다. "+[#]" 는 왼쪽에서 오른쪽으로 진행하는 모양이므로 우측이동 기능(혹은 공백)으로 활용시 사용자가 쉽게 인지할 수 있다. 반대로 [#]+는 왼쪽에서 오른쪽으로 좌측이동기능(혹은 삭제)으로 활용시 사용자가 쉽게 인지할 수 있다.
이를 다차원 교차 컨트롤처리방법의 관점에서 이해할 수 있다. 입력예로 컨트롤후입력을 적용하여, ^a=a+로 입력하는 경우, 사용자가 "a++[#]"을 입력하면, a+까지 입력시 시스템은 ^a 이 입력된 것으로 인식하나, 다음에 [#] 이 올 수 없으므로([#] 버튼이 다른 컨트롤버튼으로 사용되고 있더라도), [#] 이 입력되는 순간, 시스템은 "+[#]"이 우측이동기능을 입력한 것으로 인식할 수 있다. 컨트롤선입력으로 지정한 경우도 유사함을 알 수 있다.
일본어의 경우에 2차원컨트롤처리방법이 적용되었다. 이 경우 컨트롤버튼을 3회(혹은 그 이상) 번갈아 조합함으로써 기능을 구현할 수 있다. 예를 들어, 공백 =+[#]+, 삭제 = [#]++[#] 로 입력하는 것이다. 공백 기능의 사례에서+[#]+을 눌렀을 때 형성되는 모양이 마치 오른쪽 화살표의 화살촉을 연상시키므로 이를 쉽게 기억할 수 있다. 삭제의 경우도 마찬가지로 [#]++[#] 를 눌렀을 때 왼쪽 화살표의 화살촉을 연상시킬 수 있으므로 이를 쉽게 기억할 수 있다. 이것이 가능한 이유는 앞에서 설명한 것과 동일하다.
이를 정리하면, 1 차원컨트롤처리방법을 적용하는 경우 컨트롤버튼을 2 회번갈아 조합하고, 2 차원컨트롤처리방법을 적용하는 경우는 컨트롤버튼을 3 회 번갈아 조합함으로써 각종기능을 입력할 수 있는 것을 알 수 있다. 즉 알파벳 및 각종의 기호의 입력을 위해 N 차원 컨트롤처리방법이 적용되는 경우, N+1 회 컨트롤버튼을 번갈아 조합함으로써, 각종 기능을 입력할 수 있는 것이다.
18. 한자 변환
한국어, 중국어 한어병음과 한자는 1:多 의 대응관계 이다. 예를 들어 "예의"에 대응되는 한자는 禮意, 禮儀, 銳意 ... 와 같이 다수 있게 된다.
중국어의 경우도 "beijing" 에 대응되는 한자는 北京, 背景 등이 있게 된다(성조부호를 붙이지 않았을 경우). 따라서 한자변환버튼을 반복적으로 눌러 후속한자(예. 北京(2nd), 背景(3rd))를 선택하도록 할 수 있다. 예를 들어 예의를 beijing 을 입력후 한자변환기능을 한번누르면 北京 이 되고 한번 더 누르면, 背景 이 되는 것이다. 혹은 리스트에서 선택하도록 할 수 있다.
중국어의 경우는 한자를 입력하기 위하여 입력을 원하는 모든 한자(편의상"타겟한자"라 부름)를 색인에 저장하고 있어야 하므로, 한어병음을 입력하는 중간에라도, 타겟한자를 확정할 수 있으면, 이를 사용자에게 제공할 수 있다. 예를 들어 "beij ..."으로 시작하는 단어가 "北京" 밖에 없다면, 사용자가 "beij"까지 입력시 "北京"을 사용자에게 제공할 수 있는 것이다.
그리고 일본어의 경우는 히라가나와 가타가나는 1:1 의 대응관계를 가지고, 히라가나 혹은 가타가나와 한자는 1:多의 관계를 가진다. 따라서 히라가나 입력후가타가나 변환컨트롤(예, 도2-1에서 "아/아" 컨트롤)을 입력하여 가타가나로 변환시키는 것이 가능함을 설명하였다. 만약 도2-1에서 변형알파벳을 교차컨트롤처리방법에 의하여 입력하고,"아/아" 컨트롤을 [0] 버튼 2타로 선택할 수 있다. 여기서 다시 특정 히라가나 혹은 가타가나에 대응되는 한자들을 [0] 버튼의 반복누름으로 선택하도록 할 수 있다. 예를 들어 "아/아" 컨트롤을 후입력하는 것으로 지정하였다면, 히라가나 단어(혹은 알파벳)를 입력후 [0]+[0] 을 누르면 입력한 히라가나에 대응되는 가타가나로 변환되고, 다시 [0] 버튼을 누르면, 첫번째 한자로 변환되고, 다시 [0] 버튼을 한번 누르면 그 다음 한자로 변환되는 것이다. 반대로 가타가나 입력모드에서는 가타가나 입력후 [0]+[0] 을 누르면 대응되는 히라가나로 변환되고, 다시 [0] 버튼을 한번 누르면 한자로 변환되도록 할 수 있다.
19. 심플코드 색인의 구축
출원인이 제시한 심플코드 중 전체연관심플코드, 음절기준이니셜코드, 자음연관심플코드, 첫모음+자음연관심플코드, 단어기준이니셜코드 등은 기계적으로(즉, 자동으로) 특정 어구(단어 혹은 구절)로부터 심플코드를 추출해낼 수 있는 좋은 성질이 있다. 따라서 사용자가 풀입력방법을 사용하여 한번 입력한 단어에 대하여 심플코드 색인(심플코드 및 심플코드 대응어구로 이루어진 색인)을 자동으로 구축하고, 이를 병행입력방법에 활용할 수 있다. 심플코드가 저장되는 것은 도5-5와 유사한 환경에서 클라이언트측 혹은 서버측이 될 수도 있고, 혹은 클라이언트측과 서버측 모두에 저장될 수도 있다.
같은 어구에 대하여 다른 종류의 심플코드(예. 전체연관심플코드 및 음절기준이니셜코드)가 생성되도록 할 수도 있다. 그러나 일반적으로 특정유형의 심플코드를 사용하는 것이 편리할 것이며, 사용자는 자동으로 생성되는 심플코드의 종류를 인지하고 있으면 되며, 이를 병행입력방법 적용시에 사용할 수 있다. 이를 적용하면, 사용자의 문자입력이 많아질수록 심플코드 색인이 풍부해지는 효과가 있다.
특정 언어의 특정 어구로부터 음절기준이니셜코드를 추출해내기 위해서는 특정 단어로부터 음절을 분리해 내야 한다. 특정 언어의 특정 단어에서 음절을 분리해 내는 것은 특정 언어의 분철(음절분리)규칙에 따르면 가능하다. 각 언어마다 분철규칙을 가지고 있으므로 이를 이용하여 특정 단어로부터 음절을 자동으로 분리해내는 것은 어려운 일이 아니며 여기서는 자세히 언급하지 않는다.
20. 특수부호(첨자)를 붙이지 않은 어구로부터의 타겟어구 해석
beijing 의 경우, 모음에 성조부호를 붙이지 않는 경우 "北京" 혹은 "背景"에 모두 대응된다고 하였고 이 경우 특정버튼을 반복적으로 눌러 타겟어구를 선택하거나, 리스트에서 양자중 하나를 선택할 수 있도록 할 수 있다고 하였다.
마찬가지로 중국어 이외의 언어에서도 성조부호를 붙이지 않거나, 첨자가 붙은 모음을 입력하여야 함에도 기본모음만을 입력한 경우, 특정버튼의 반복누름에 응답하여 색인을 검색하여 타겟어구를 사용자에게 제공하거나, 색인을 검색하여 첨자가 붙은 모음을 포함하는 대응어구의 리스트를 사용자에게 제공하여 사용자로 하여금 선택하도록 할 수 있다.
이는 베트남어와 같이 변형알파벳이 다수 있고, 성조부호등이 복잡하게 구성된 언어에서 유용할 것이다. 단 기본알파벳에 첨자가 붙어 이루어진 어구의 색인을시스템에서 구비하고 있어야 한다. 마찬가지로 이러한 색인을 구축하는 것도 사용자가 기 입력한 단어로부터 구축할 수 있다. 예를 들어 문자입력을 통하여 사용자가 "^+abc"라는 단어('a'위에 첨자 '^' 붙은 경우)를 입력하면, 시스템은 "^+abc"을 시스템 저장하고 있다가(시스템에서 "abc"와 'abc'에 대응되는 "^+abc"를 모두 저장하고 있어도 무방함), 다시 사용자가 "abc" 입력후 특정버튼을 누르면 "^+abc"를 사용자에게 제공하거나 사용자가 "abc"를 입력시 "^+abc" 와 같이 "abc"에 대응하는 어구들의 목록을 사용자에게 제공할 수 있다. 만약 "abc"가 타겟어구라면 사용자는 특정버튼을 누르지 않거나, 시스템이 관련어구의 리스트을 제공하더라도 'abc'를 선택하게 될 것이다. 리스트가 제공되는 시점은 단어의 입력이 종료되는 시점이 될 수 있고 입력중간의 임의의 시점이 될 수 있다.
.
.
본 발명에서 자모음분리키패드에서 (언어제한) 반복선택방법을 적용하여, 어떤 언어에서는 모호성없이 혹은 대부분의 언어에서 적은 모호성으로 입력하고자 하는 어구를 입력할 수 있음을 보였다.
또한 언어제한 입력방법을 풀입력방법으로 하는 병행입력방법(즉, 언어제한 병행입력방법)을 적용하여 특정 어구의 입력초기에 입력값이 심프코드인지 아니면풀코드인지를 시스템이 효율적으로 인식하여 처리할 수 있는 효율적인 시스템을 제시하였다.

Claims (71)

  1. 키패드에서 반복선택방법으로 알파벳을 입력함에 있어서, 연타지연시간(동일버튼 2타를 2번째 알파벳으로 1차적으로 인식하도록 하는 시간)과 이타지연시간(동일버튼 2타를 1번째 알파벳의 2번입력으로 1차적으로 인식하도록 하는 시간)을 각각 다르게 설정하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  2. 키패드에서 알파벳을 입력하는 방법에 있어서, 알파벳을 임의의 그룹으로 나누어 키패드내의 임의의 버튼에 배정하고, 해당 그룹의 알파벳에 대표알파벳과 후속알파벳의 관계를 두어,"다음컨트롤"을 임의의 컨트롤버튼누름으로 선택할 수 있도록하며, 후속알파벳입력시 선행알파벳과 "다음컨트롤"을 조합하여 후속알파벳을 입력하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  3. 키패드에서 컨트롤처리방법을 통하여 알파벳을 입력함에 있어서, 대표알파벳과 결합되는 컨트롤이 의미를 가지지 않는 경우(즉 선택된 컨트롤과 대표알파벳의 조합이 의미있는 알파벳을 이루지 못하는 경우), 해당 컨트롤이 존재하지 않는 것으로 간주하여 처리하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  4. 키패드에서 컨트롤처리방법을 통하여 알파벳을 입력함에 있어서, 각 버튼에 배정된 숫자와 영어알파벳을 후속알파벳으로 간주하여 컨트롤처리하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  5. 키패드를 통한 아랍어 알파벳 입력에 있어서, 키패드상 1 로 시작하는 숫자(1, 10, 100 혹은 1, 10, 100, 1000)의 의미를 가지는 알파벳(이하 "1그룹알파벳"이라 약칭), 2단위의 숫자(2, 20, 200)의 의미를 가지는 알파벳(이하 "2그룹알파벳"이라 약칭), 이하 같은 식으로 각 단위의 숫자의 의미를 가지는 알파벳을 약 3 개씩 9개의 그룹으로 그룹핑하고, 각각의 그룹을 [1]∼[9]의 9개 버튼에 배정하고,
    각 그룹에서 1 ∼ 9의 숫자의 의미를 가지는 알파벳(이하 "1 단위알파벳"이라 약칭), 10∼90의 의미를 가지는 알파벳(이하 "10단위알파벳"이라 약칭) 및 100∼900의 숫자(이하 "100단위알파벳"이라 약칭) 중 임의의 단위의 알파벳을 대표알파벳으로 정하고, 나머지 단위의 알파벳을 후속알파벳으로 간주하여 컨트롤처리하여 입력하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  6. 캐패드를 통하여 한국어를 입력함에 있어서, 10개의 기본자모를 각각 쌍으로 그룹핑하고 자음 1타, 모음 2타로 선택하고, 격음컨트롤을,[#] 버튼 중 임의의 버튼에 두고, 경음컨트롤을 격음컨트롤이 배정되지 않은 버튼에 두어 경음과 격음을 컨트롤처리하여 입력하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  7. 자음과 모음을 쌍으로 그룹핑하고 키패드상의 각 버튼에 배정하고 각 버튼 1타로 키패드상의 자음을 선택하고 각 버튼 2타로 키패드상의 모음을 선택하는 방법에 있어서, 모호성이 발생하는 가장 많은 경우인 모자전이("자+모+자" 로 이루어진 음절에서 모음과 자음의 결합)와 자모전이("자+모"로 이루어진 음절에 있어서 자음과 모음의 결합)시의 빈도수가 전체적으로 최소화 되도록 자음과 모음을 그룹핑하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  8. 한국어에 있어서, 키패드 버튼상에 배치된 알파벳 혹은 컨트롤을 반복선택방법으로 선택하여 입력함에 있어서, 경음과 격음이 존재하지 않는 기본자음 중 하나를 제외한 나머지 9개의 기본자음을 [1]∼[9] 의 숫자 버튼에 임의로 배정하고, 3개의 모음 알파벳요소(ㅡ, ., ㅣ)를 나머지 3개의 버튼(,[0],[#])에 임의로 배정하고 각 배치된 기본자음과 모음 알파벳 요소를 1타에 선택할 수 있도록 배치하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  9. 제8항에 있어서, 경음과 격음을 컨트롤처리함에 있어서,"ㅡ" 혹은 "ㅣ" 가 배정된 버튼 중 임의의 버튼 2타로 격음컨트롤이 선택되고, 나머지 버튼 2타로 경음컨트롤이 선택되도록 하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  10. 제9항에 있어서,[1]∼[9]의 숫자버튼에 배정되지 않은 기본자음을 경음과 격음이 존재하지 않는 임의의 기본자음의 변형알파벳(격음 혹은 경음)으로 간주하여 컨트롤처리하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  11. 제10항에 있어서,[1]∼[9] 버튼에 배정되지 않은 기본자음을 "."이 배정된 버튼에 추가로 배정하고 해당 버튼 3타로 선택할 수 있도록 하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  12. 제11항에 있어서, 경음을 기본자음의 조합으로 입력하도록 하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  13. 제12항에 있어서, 격음을 해당 기본자음이 속한 버튼 3타로 입력하도록 하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  14. 키패드를 통한 알파벳 입력에 있어서, 풀코드 입력시 모호성이 발생할 경우, 단어단위로(즉 단어종료시점에) 클라이언트측 혹은 서버측에 구비된 색인을 검색하여 올바른 단어를 식별해 내는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  15. 제14항에 있어서,1차적으로 클라이언트측의 색인을 검색하고,2차적으로 서버측의 색인을 검색하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  16. 심플코드를 활용함에 있어서, 어구(단어 혹은 구절)에 포함된 자음과 연관하여 키패드상 대응되는 숫자를 심플코드로 정하는 것을 특징으로 하는 키패드에서의심플코드 활용방법
  17. 심플코드를 활용함에 있어서, 어구의 음절을 이루는 첫자음 혹은 모음과 연관하여 키패드상 대응되는 숫자를 심플코드로 정하는 것을 특징으로 하는 키패드에서의 심플코드 활용방법
  18. 심플코드를 활용함에 있어서, 어구를 이루는 단어의 첫 알파벳과 연관하여 키패드상 대응되는 숫자를 심플코드로 정하는 것을 특징으로 하는 키패드에서의 심플코드 활용방법
  19. 제16항 ∼ 제18항에 있어서, 어구내에서 심플코드와 연관된 알파벳을 부각하여 표시하는 것을 특징으로 하는 키패드에서의 심플코드 활용방법
  20. 제19항에 있어서, 영어의 경우 대문자를 사용하여 어구내에서 심플코드와 연관된 알파벳을 부각하여 표시하는 것을 특징으로 하는 키패드에서의 심플코드 활용방법
  21. 제16항 ∼ 제19항에 있어서, 심플코드 입력시 입력값에 대응되는 알파벳을 클라이언트측 혹은 서버측에서 검색하여 사용자에게 제공함으로써 어구 입력을 가능하게 하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  22. 제21항에 있어서, 심플코드 및 심플코드에 대응되는 어구를 트리구조로 그룹핑하고 심플코드의 검색범위를 제한하였을 경우, 입력값에 대하여 제한된 범위의 심플코드 및 대응어구만을 검색하는 것을 특징으로 하는 키패드에서의 심플코드 활용방법
  23. 제22항에 있어서, 기본입력모드를 풀입력모드로 설정하였을 경우, 입력값을 1차적으로 설정될 풀입력방법에 의하여 해석하고, 약속된 풀코드 생성규칙을 위배하는 순간, 입력값을 심플코드로 간주하여 처리하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  24. 제23항에 있어서, 서버측으로부터 심플코드 및 심플코드 대응어구의 그룹을 클라이언트측으로 다운로드 받는 것을 특징으로 하는 키패드에서의 심플코드 활용방법
  25. 제24항에 있어서, 심플코드의 해석을 담당하는 중계서버를 두는 것을 특징으로 하는 키패드에서의 심플코드 활용방법
  26. 제25항에 있어서, 사용자로부터 입력된 심플코드를 중계서버가 해석하여 심플코드에 대응되는 어구를 최종애플리케이션을 탑재한 서버(3차서버)측에 전달해주는 것을 특징으로 하는 키패드에서의 심플코드 활용방법
  27. 키패드를 통하여 각종 기호를 입력함에 있어서, 기호를 임의의 그룹으로 나누고, 각 그룹을 키패드내의 임의의 버튼에 특정 기호그룹의 의미를 부여하고(특정 기호그룹과 연관시키고), 임의의 버튼에 다수의 기호컨트롤(기호1, 기호2, ...)을 두고 기호컨트롤을 반복선택방법에 의하여 선택하며, 특정 기호그룹의 의미를 부여한 버튼과 기호컨트롤들을 조합하여 특정 기호그룹의 기호들을 입력하게 하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  28. 상하좌우 이동버튼이 구비된 단말기를 통하여 알파벳을 입력함에 있어서, 알파벳입력모드에서 빈번히 사용되지 않는 상하좌 이동버튼을 각종 컨트롤버튼으로 활용하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  29. 제28항에 있어서, 계산기모드에서 상하좌우 이동버튼을 가감승제버튼으로 활용하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  30. 각종 컨트롤처리방법을 통하여 키패드에서 알파벳을 입력함에 있어서, 컨트롤버튼의 기능을 요약하여 아이콘화하여 스크린(액정)의 일부분에 표시하여 주는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  31. 제30항에 있어서, 숫자버튼에 연관된 기호그룹에서 일부의 기호와 숫자를 아이콘화하여 스크린(액정)의 일부에 표시하여 주는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  32. 심플코드를 활용함에 있어서, 동일한 심플코드에 대응되는 어구가 다수인 경우, 사용자가 기 설정된 우선순위와 다르게 최종선택하는 경우가 일정기준 이상 발생할 경우, 기 설정된 우선순위를 재조정하는 것을 특징으로 하는 키패드에서의 심플코드 활용방법
  33. 표준 키보드상 구비된 숫자키패드의 숫자버튼배치를 전화기상 구비된 숫자버튼배치와 동일하게 통일하는 것을 특징으로 하는 키보드
  34. 키패드를 통하여 알파벳을 입력하는 방법에 있어서, 단축입력방법과 풀입력방법을 병행하는 입력방법을 병행하여 적용하되, 단어의 입력중간에라도 입력값이 기본입력모드로 설정된 입력방법의 입력값이 아닌 것으로 판단되는 순간, 시스템이 입력값을 기본입력방법이 아닌 타 입력방법의 입력값으로 간주하여 처리하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  35. 제34항에 있어서, 기본입력모드를 단축입력모드로 하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법(단축우선 병행입력방법)
  36. 제34항에 있어서, 기본입력모드를 풀입력모드로 하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법(풀우선 병행입력방법)
  37. 제36항에 있어서, 입력값이 특정 언어의 언어제한(즉, 단어생성규칙 또는 알파벳결합규칙)을 위배하여 특정언어의 유효한 음절을 이루지 못하는 것을 시스템이 인식하는 순간, 시스템이 입력값을 심플코드로 간주하여 처리하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법 (언어제한 병행입력방법)
  38. 알파벳을 입력하는 방법에 있어서(키패드 혹은 PC 등 모든 정보통신장치), 입력값이 특정 언어의 언어제한(즉, 단어생성규칙 또는 알파벳결합규칙)을 위배하여 특정언어의 유효한 음절을 이루지 못하는 것을 시스템이 인식하는 순간, 사용자가 단축입력을 하는 것으로 시스템이 인식하고 처리하는 것을 특징으로 하는 알파벳 입력방법
  39. 제37항에 있어서, 입력값을 심플코드로 간주하여 처리하되, 심플코드 색인에 입력값과 일치하는 심플코드가 더 이상 존재하지 않는 것을 시스템이 확인하는 순간 입력값을 다시 풀코드로 간주하여 처리하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  40. 제37항에 있어서, 입력값(숫자값)을 심플코드로 간주하여 처리하되, 심플코드와 심플코드 대응어구가 저장된 심플코드 색인을 참조하여 일치하는 어구를 검색하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  41. 제38항 또는 제39항 중 어느 한 항에 있어서, 심플코드 대응문자를 심플코드 색인에 미리 등록하여 두고, 시스템이 이 심플코드 대응문자와 입력값이 생성하는 특정언어의 유효한 음절을 이루지 않는 단어(즉, 심플코드 대응문자)를 비교하여 타겟어구를 검색해 내는 것을 특징으로 하는 알파벳 입력방법
  42. 제38항 또는 제39항 중 어느 한 항에 있어서, 검색대상이 되는 심플코드 색인에 특정형태의 심플코드(예. 음절기준 이니셜코드)만이 저장되어 있을 경우, 입력값이 생성하는 특정언어의 유효한 음절을 이루지 않는 단어(즉, 심플코드 대응문자)와 색인에 저장된 타겟어구 후보어구과 비교하여 각 음절의 첫 자음이 일치하는 어구를 검색해 내는 것을 특징으로 하는 알파벳 입력방법
  43. 키패드를 통하여 알파벳을 입력하는 방법에 있어서, 반복선택방법을 적용하되, 특정언어의 언어제한(즉, 자음과 모음이 결합되는 단어생성규칙 또는 알파벳결합규칙)을 위반하는지를 시스템이 검사하여, 결합이 불가능한 알파벳조합을 제외함으로써, 반복선택방법적용시의 모호성을 감소시키는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  44. 제43항에 있어서, 자음이 배정되는 버튼(자음버튼)과 모음이 배정되는 버튼(모음버튼)을 분리하여 자모음분리키패드를 구성하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  45. 제44항에 있어서,로마알파벳의 자모음 분리키패드를 구성하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  46. 제45항 또는 제46항 중 어느 한 항에 있어서, 3*4 키패드에서 9개의 버튼에 자음을 배정하고, 나머지 3개의 버튼에 모음을 배정하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  47. 제37항, 제38항, 제43항 ∼ 제46항 중 어느 한 항에 있어서, 영어에서 "sp∼" 혹은 "st∼"로 시작하는 경우를 제외하고는 "단어시작"시부터 연속하여 3개의 자음이 나올 수 없는 언어제한(단어생성규칙)을 이용하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  48. 제37항, 제38항, 제43항 ∼ 제46항 중 어느 한 항에 있어서, 인도네시아어에서 "sp∼" 혹은 "st∼"로 시작하는 경우를 제외하고는 "단어시작"시부터 연속하여 3개의 자음이 나올 수 없는 언어제한(단어생성규칙)을 이용하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  49. 제37항, 제38항, 제43항 ∼ 제46항 중 어느 한 항에 있어서, 로마알파벳을 사용하는 언어에 있어서, 영어의 경우와 유사하게,"sp∼"혹은 "st∼"로 시작하는 경우를 제외하고는 "단어시작"시부터 연속하여 3개의 자음이 나을 수 없는 언어제한(단어생성규칙)을 이용하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  50. 제37항, 제38항, 제43항 ∼제46항 중 어느 한 항에 있어서, 중국어 및 일본어를 로마알파벳으로 표기함에 있어서, 로마알파벳 자음이 연속하여 3개이상 나오지 않는 언어제한(단어생성규칙)을 이용하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  51. 제37항, 제38항, 제43항 ∼ 제50항 중 어느 한 항에 있어서,"일시적 언어제한해제 지연시간"을 설정할 수 있도록 하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  52. 키패드를 통하여 알파벳을 입력하는 방법에 있어서, 단축입력방법과 풀입력방법을 병행하는 입력방법을 병행하여 적용하되, 검색대상이 되는 심플코드 색인에 저장된 심플코드의 길이가 일정 개수 이하일 경우, 입력값의 길이로 입력값이 심플코드인지 풀코드인지를 판단하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  53. 키패드를 통하여 알파벳을 입력하는 방법에 있어서, 컨트롤처리방법을 적용하되, 알파벳, 기호, 혹은 기능의 입력에 기 사용된 컨트롤버튼을 다시 다른 용도의 컨트롤버튼으로 사용하는 다차원 교차컨트롤처리방법을 적용하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  54. 제53항에 있어서, 알파벳 입력에 N차원 컨트롤처리방법이 적용되고 있을 때,N+1회 컨트롤버튼을 번갈아 조합함으로써, 변형알파벳 및 각종 기능을 입력하도록 하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  55. 키패드를 통하여 한국어를 입력하는 방법에 있어서, 10자음 3모음법을 적용하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  56. 키패드를 통하여 한국어를 입력하는 방법에 있어서, 10자음 4모음법을 적용하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  57. 제55항 ∼ 제56항 중 어느 한 항에 있어서,9버튼탈락자음 혹은 8버튼탈락자음을 모음요소와 함께 배정하고, 반복선택방법에 의하여 선택하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  58. 제55 항 ∼ 제56항 중 어느 한 항에 있어서,9버튼탈락자음 혹은 8버튼탈락자음을 변형알파벳으로 간주하여 기본자음과 변형알파벳컨트롤(예. 격음컨트롤)과 조합하여 컨트롤처리방법에 의하여 입력하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  59. 제55항 ∼ 제56항 중 어느 한 항에 있어서,9버튼탈락자음 혹은 8버튼탈락자음을 모음요소와 함께 배정하고, 배정된 버튼과 모음요소 "ㅡ"와 함께 배정된 컨트롤과 조합하여 선택하도록 하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  60. 제55항 ∼ 제56항 중 어느 한 항에 있어서, 경음과 격음을 반복선택방법에 의하여 소정의 순서에 따라 선택하도록 하는 것을 특징으로 키패드에서의 알파벳 입력방법
  61. 단축입력 및 심플코드의 활용을 위한 심플코드를 지정함에 있어서,"전체(알파벳)연관 심플코드","음절기준 이니셜코드","자음연관 심플코드","첫모음+자음연관 심플코드", 혹은 "단어기준 이니셜코드"를 선택적으로 이용하여 심플코드로 지정하는 것을 특징으로 하는 키패드에서의 심플코드 활용방법
  62. 단축입력 및 심플코드의 활용을 위한 심플코드를 지정함에 있어서, 특정어구에 대한 심플코드값을 사용자가 임의로 지정할 수 있도록 하는 것을 특징으로 하는 키패드에서의 심플코드 활용방법
  63. 제37항, 제38항, 제43항 ∼ 제46항 중 어느 한 항에 있어서, 모음의 수가 모음을 배정할 버튼의 수보다 적은 경우, 복수개의 모음을 그룹으로 그룹핑하고 모음버튼에 배정하고 배치함에 있어서, 동일한 모음이 연속하여 나오는 빈도가 적은 모음을 배정된 버튼 1타로 선택하도록 하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  64. 제37항, 제38항, 제43항 ∼ 제46항 중 어느 한 항에 있어서, 중국어 한어병음을 입력하기 위하여 a,e,i,o,u,6개의 모음을 그룹핑하고 배정함에 있어서, 중국어 한어병음의 로마알파벳 모음결합규칙을 이용하여 "a"와 "i", 그리고 "e"와 "i" 그리고 o 와 u 가 같은 그룹으로 그룹핑되지 않도록 그룹핑(예.a,e/i,o/u,로 그룹핑)함으로써, 반복선택방법으로 모호성 없이 입력할 수 있도록 하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  65. 제37항, 제38항, 제43항 ∼ 제46항 중 어느 한 항에 있어서, 중국어 한어병음을 입력하기 위하여 a,e,i,o,u, 5개의 모음을 그름핑하고 배정함에 있어서, 중국어 한어병음의 로마알파벳 모음결합규칙을 이용하여 i/u를 각기 그룹핑하여 다른 버튼에 분리하고, 나머지 3개의 모음(a,e,o)을 또 다른 버튼에 배정함으로써, 반복선택방법으로 모호성없이 선택할 수 있도록 하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  66. 제65항에 있어서,"i,a,e" 위에 성조부호 등이 붙는 변형알파벳을 입력하기 위하여 "u"가 배정된 버튼을 컨트롤버튼처럼 이용하고,"u,o"위에 성조부호 등이 붙는 변형알파벳을 입력하기 위하여 "i" 가 배정된 버튼을 컨트롤버튼처럼 이용하여, 변형알파벳을 입력하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  67. 제65항에 있어서,""를 "u"가 배정된 버튼 2타로 입력하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  68. 표준 키보드상 구비된 숫자키패드에 알파벳을 부기하여 심플코드의 활용에 이용할 수 있도로 하는 것을 특징으로 하는 키보드
  69. 키패드를 통하여 알파벳을 입력하는 방법에 있어서, 한자변환버튼을 반복적으로 눌러 후속한자를 입력하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  70. 키패드를 통하여 알파벳을 입력하는 방법에 있어서,"히라가나 - 가타가나- 대응한자1 - 대응한자2 ..."의 순서로(혹은 가타가나 입력모드에서는 "가타가나 - 히라가나 - 대응한자1- 대응한자2, ..."의 순서로) 버튼 누름의 반복선택에 의하여선택하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
  71. 키패드를 통하여 알파벳을 입력함에 있어서, 심플코드를 구축함에 있어서, 사용자가 입력한 어구(단어 혹은 구절)로부터 자동으로 심플코드 색인을 구축하는 것을 특징으로 하는 키패드에서의 알파벳 입력방법
KR1020020045710A 2001-07-25 2002-07-25 키패드에서의 알파벳 입력장치 및 그 방법 KR100974971B1 (ko)

Applications Claiming Priority (20)

Application Number Priority Date Filing Date Title
KR1020010044709 2001-07-25
KR20010044709 2001-07-25
KR1020010048585 2001-08-11
KR20010048585 2001-08-11
KR1020010049156 2001-08-14
KR20010049156 2001-08-14
KR1020010049832 2001-08-18
KR20010049832 2001-08-18
KR20010065210 2001-10-23
KR1020010065210 2001-10-23
WOPCT/KR01/02267 2001-12-26
PCT/KR2001/002267 WO2002052816A1 (en) 2000-12-26 2001-12-26 Apparatus and method for inputting alphabet characters on keypad
WOPCT/KR02/00247 2002-02-19
PCT/KR2002/000247 WO2002067554A1 (en) 2001-02-19 2002-02-19 Apparatus and method for inputting alphabet characters on keypad
KR1020020035811 2002-06-25
KR20020035811 2002-06-25
KR0201346 2002-07-16
WOPCT/KR02/01346 2002-07-16
PCT/KR2002/001355 WO2003009570A1 (en) 2001-07-18 2002-07-18 Apparatus and method for inputting alphabet characters
WOPCT/KR02/01355 2002-07-18

Publications (2)

Publication Number Publication Date
KR20030013314A true KR20030013314A (ko) 2003-02-14
KR100974971B1 KR100974971B1 (ko) 2010-08-09

Family

ID=27761648

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020045710A KR100974971B1 (ko) 2001-07-25 2002-07-25 키패드에서의 알파벳 입력장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100974971B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100738902B1 (ko) * 2006-03-16 2007-07-12 삼성전자주식회사 휴대용 단말기에서 문자 입력 장치 및 방법
KR100738901B1 (ko) * 2006-03-16 2007-07-12 삼성전자주식회사 휴대용 단말기에서 문자 입력 장치 및 방법
KR100768426B1 (ko) * 2006-03-16 2007-10-18 삼성전자주식회사 휴대용 단말기의 문자 입력 장치 및 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101139973B1 (ko) 2003-08-20 2012-05-02 김민겸 키패드에서의 알파벳 입력장치 및 그 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000041529A (ko) * 1998-12-18 2000-07-15 강병호 플립커버를 통한 한글입력기능을 갖는 이동단말기
KR20000044417A (ko) * 1998-12-30 2000-07-15 윤종용 영문자 간편 입력방법
KR100789506B1 (ko) * 1999-06-09 2007-12-28 김민겸 소형 키패드에서의 알파벳 입력장치 및 그 방법
KR100485627B1 (ko) * 2001-01-29 2005-04-27 김하미 전화기 형태의 키패드를 이용한 문자입력시스템

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100738902B1 (ko) * 2006-03-16 2007-07-12 삼성전자주식회사 휴대용 단말기에서 문자 입력 장치 및 방법
KR100738901B1 (ko) * 2006-03-16 2007-07-12 삼성전자주식회사 휴대용 단말기에서 문자 입력 장치 및 방법
KR100768426B1 (ko) * 2006-03-16 2007-10-18 삼성전자주식회사 휴대용 단말기의 문자 입력 장치 및 방법
US7724156B2 (en) 2006-03-16 2010-05-25 Samsung Electronics Co., Ltd. Apparatus and method for character entry in a portable terminal

Also Published As

Publication number Publication date
KR100974971B1 (ko) 2010-08-09

Similar Documents

Publication Publication Date Title
KR101377763B1 (ko) 반복선택방법에서 길게누름에 의하여 초성자음이 인식되어 동일버튼에 연관 또는 배열된 자음의 연속입력이 가능한 키패드에서의 한국어 입력방법 및 그 장치
KR100974971B1 (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR101377892B1 (ko) 단어 또는 구절의 일부를 각각 풀입력방법 및 단축입력방법으로 처리하는 키패드에서의 한국어 입력방법
KR100946452B1 (ko) 키패드에서의 중국어 병음을 포함한 로마알파벳 입력 방법 및 그 장치
KR20010083120A (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR100655720B1 (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR101355377B1 (ko) 스크린 자판상에서의 끊어지지 않는 연속된 드래그에 의한 한국어 음절 입력방법
KR20090077086A (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR101106398B1 (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR100625357B1 (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR101304352B1 (ko) 스크린 자판상에서 연속된 방향성드래그에 의한 한국어 음절 입력 방법
KR101139973B1 (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR20110046434A (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR101275365B1 (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR101086969B1 (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR200419298Y1 (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR100848727B1 (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR20080038462A (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR20060017898A (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR20060017897A (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR20090036110A (ko) 키패드에서의 수학 연산자 입력 방법 및 그 장치
KR20060050455A (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR20060017895A (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR20080086972A (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR20080090376A (ko) 키패드에서의 알파벳 입력장치 및 그 방법

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130805

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140915

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150803

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160803

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170803

Year of fee payment: 8