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

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

Info

Publication number
KR100680579B1
KR100680579B1 KR1020060004999A KR20060004999A KR100680579B1 KR 100680579 B1 KR100680579 B1 KR 100680579B1 KR 1020060004999 A KR1020060004999 A KR 1020060004999A KR 20060004999 A KR20060004999 A KR 20060004999A KR 100680579 B1 KR100680579 B1 KR 100680579B1
Authority
KR
South Korea
Prior art keywords
button
input
alphabet
code
control
Prior art date
Application number
KR1020060004999A
Other languages
English (en)
Other versions
KR20060017897A (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
Application filed by 김민겸 filed Critical 김민겸
Publication of KR20060017897A publication Critical patent/KR20060017897A/ko
Application granted granted Critical
Publication of KR100680579B1 publication Critical patent/KR100680579B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01KANIMAL HUSBANDRY; AVICULTURE; APICULTURE; PISCICULTURE; FISHING; REARING OR BREEDING ANIMALS, NOT OTHERWISE PROVIDED FOR; NEW BREEDS OF ANIMALS
    • A01K1/00Housing animals; Equipment therefor
    • A01K1/06Devices for fastening animals, e.g. halters, toggles, neck-bars or chain fastenings
    • A01K1/062Neck-bars, e.g. neck collars
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01KANIMAL HUSBANDRY; AVICULTURE; APICULTURE; PISCICULTURE; FISHING; REARING OR BREEDING ANIMALS, NOT OTHERWISE PROVIDED FOR; NEW BREEDS OF ANIMALS
    • A01K1/00Housing animals; Equipment therefor
    • A01K1/02Pigsties; Dog-kennels; Rabbit-hutches or the like
    • A01K1/0209Feeding pens for pigs or cattle

Landscapes

  • Life Sciences & Earth Sciences (AREA)
  • Environmental Sciences (AREA)
  • Zoology (AREA)
  • Animal Husbandry (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

본 발명을 통해서 키패드에서 알파벳을 효율적으로 입력할 수 있도록 한다. 각종 기호를 (은닉형) 컨트롤처리방법으로 입력할 수 있도록 함으로써, 간결한 키패드를 유지할 수 있다.
또한 키패드상 배치된 알파벳과 숫자의 대응관계를 이용하여 심플코드를 생성할 수 있고, 이 심플코드를 통해서 단축입력방법을 실현할 수 있으며, 더불어 병행입력방법을 적용하면 적은 타수로도 원하는 알파벳 및 어구를 모두 입력할 수 있다.
심플코드를 해석하는 중계서버를 두면,3차서버측에서는 심플코드가 아닌 어구를 필요로 하는 경우에도, 사용자가 심플코드를 입력하고,3차서버측에서 심플코드와 심플코드에 대응되는 어구를 저장하고 있지 않아도, 사용자로부터 입력된 심플코드를 중계서버가 해석하여 심플코드에 대응되는 어구를 3차서버측에 전달해 주는 것이 가능하다.

Description

키패드에서의 알파벳 입력장치 및 그 방법{Alphabet input apparatus in a keypad and method thereof}
도 1 내지 도 4a, 도 4c는 각각 본 발명에 따른 키패드에서의 알파벳 입력장치 및 그 방법을 설명하기 위한 키패드의 다양한 버튼 상태를 나타낸 도면.
도 4b는 본 발명에 따른 키패드에서의 알파벳 입력방법을 프로그램으로 구현하기 위한 흐름도.
도 5는 본 발명에 따른 키패드에서의 알파벳 입력장치 및 그 방법을 중국어에 적용함에 있어서 사용되는 중국어 성조부호와 키패드 버튼 상태를 나타낸 도면.
도 6은 본 발명에 따른 키패드에서의 알파벳 입력장치 및 그 방법을 적용함에 있어서 활용되는 심플코드의 해석용 서버 구조를 나타낸 구성도.
도 7 내지 도 8c는 각각 각각 본 발명에 따른 키패드에서의 알파벳 입력장치 및 그 방법을 설명하기 위한 키패드의 다양한 버튼 상태를 나타낸 도면.
도 9는 본 발명에 따른 키패드에서의 알파벳 입력장치 및 그 방법을 설명하기 위한 키패드의 버튼 상태를 액정에 나타낸 도면.
[ 기술분야 ]
본 발명은 키패드에서의 알파벳 입력장치 및 그 방법에 관한 것으로서, 특히 전화기 자판과 같은 적은 수의 키를 지닌 키패드에서의 알파벳 입력장치 및 그 방법에 관한 것이다.
[ 배경기술 ]
이동 통신의 발전에 따라, 음성 통화 위주의 휴대용 단말기에 문자 등의 디지털 정보를 송수신하는 기능이 추가되었다. 따라서, 초기에는 전화번호 입력을 목적으로 휴대용 단말기에 구비된 키패드는 문자를 입력하는 수단도 포함하게 되었다. 그런데, 휴대용 단말기의 입력 수단으로 사용되는 키패드의 크기가 점점 작아지므로 키패드에 포한된 버튼의 수는 그 한계를 지니게 된다. 한편, 각 언어의 알파벳은 키패드에 포함된 12개의 키의 수를 크게 상회하고 있다. 따라서, 전화기 키패드를 이용하여 하나의 알파벳을 입력하기 위해서는 키패드 상의 버튼들을 하나 또는 2 이상 조합하여 그 알파벳을 표현하여야 한다.
[ 발명의 상세한 설명 ]
출원인의 선출원(출원번호 10-2000-0031879 및 PCT/KR00/00601)에서 제시하였던, 발명을 요약하면 다음과 같다.
먼저 "부분전체선택방법"에 의하면, 키패드 상의 각 버튼에 키패드 내의 전체 버튼들의 배치에 대응하는 형태로 소정수의 격자들을 도 1에 예시한 바와 같이 다양하게 구성하여 알파벳들을 격자들에 배치하고, 입력하고자 하는 알파벳(이하 "타겟알파벳"으로 약칭)이 배치된 제 1 버튼와 제 1 버튼의 격자들에서 그 알파벳의 배치 위치에 대응하여 키패드 상의 제 2 버튼을 조합하여 누름으로써, 원하는 알파벳을 입력하게 된다. 예를 들어 도 1의 도1-1에서 "A"= [2]+[1] 로 입력하는 것이다.
버튼의 격자들 중에서 제 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" 로 이루어진 변형알파벳
Figure 112006003387630-pat00001
을 입력함에 있어서 이를 .. 과 e 를 각각 조합하여 입력할 수 있음을 보였다. 혹은 e 를 기본알파벳으로 두고 이와 모양 혹은 순위 등에서 연관성을 가지고 있는 나머지 부속된 알파벳을 후속알파벳으로 두어, 부속순위와 기본알파벳의 조합으로 입력할 수도 있었다(예를 들어 e(기본알파벳),
Figure 112006003387630-pat00002
또한 이렇게 알파벳(즉 특정 숫자버튼)과 조합하여야만 의미를 가질 수 있는 컨트롤들이 배치되는 컨트롤 버튼은 반복적으로 사용하여도 모호성 없이 변형알파벳 혹은 후속알파벳을 입력할 수 있었다.
로마자의 경우 프랑스어에서 11개
Figure 112006003387630-pat00003
의 변형알파벳이 사용되며, 변형알파벳에 사용된 윗점의 종류는 5가지(/,^,`,..,s) 이다. 첨자컨트롤의 선택순서를 /,^,`,..,s 로 하였을 경우, ^a=a+[*]+[*] 로 입력하여야 한다. 그러나, 프랑스어에서 알파벳 a 에는 첨자 "`"와 "^"의 두가지 밖에 결합할 수 없으므로, 첨자"/" 가 붙을 수 없고, 이를 건너뛰어 결합이 가능한 첨자"^"이 선택되도록 하면, ^a=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]+[*] 이 된다.
또한 P,Q,R,S 4개 알파벳이 [7] 버튼에 배정되고,W,X,Y,Z 4개의 알파벳이 [9] 버튼에 배정되는 경우, 선출원의 한국어의 실시예에서 지적한 바와 같이, 4개의 알파벳 중 한 개의 알파벳을 상하인접조합을 이루는 격자에 배치하여 부분전체선택방법을 적용할 수 있다. 도1-3을 참고한다.
2.2 일본어
선출원에서 일본어의 경우에 있어서, 50 음도를 기준으로 알파벳을 그룹핑하고, あ단의 알파벳(あ, か, さ, ...)을 대표알파벳으로 하고 나머지 알파벳을 후속알파벳으로 하여 후속컨트롤처리할 수 있음을 선출원에서 밝혔다. 선출원에서 제시한 후속알파벳의 부속순위를 적용함에 있어서 선출원의 방법 3 과 거의 유사하게 다음의 표와 같이 50 음도표를 단순히 적용할 수도 있다. 이는 부속순위의 단순성으로 사용자에게 친근감을 줄 수 있다. ん은 선출원에서와 마찬가지로 임의의 대표알파벳에 부속된 것으로 간주하여 처리할 수 있다. 또한 や행 혹은 わ행의 비어있는 곳에는 50 음도의 알파벳(예를 들어, い, う, え)이 부속되어 있는 것으로 혹은 ん이 부속되어 있는 것으로 간주할 수도 있다.
Figure 112006003387630-pat00004
선출원에서 일본어의 경우에 편의상 가장 대표성을 가진다고 볼 수 있는 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 개의 자음이 존재한다. 선출원에서 숫자의 의미를 가지는 아랍어 자음을 다음과 같이 그룹핑하고 키패드 버튼상에 배정하고, 각 알파벳을 가장 작은 숫자의 의미를 가지는 알파벳을 각 그룹의 대표알파벳으로 하여 기준격자의 위치에 배치하고 나머지 알파벳을 작은 숫자의 의미를 가지는 알파벳으로 부터 기준격자에 가까운 순서(선출원에서 설명)로 키패드상에 배치하는 방안을 제시한 바 있다. 또한 선출원에서 일본어, 로마자계열 언어, 한국어, 인도어, 아랍어등의 경우에 컨트롤 처리에 의하여 알파벳을 입력하는 방법을 제시한 바 있다. 아랍어의 경우에 있어서도, 별로 사용되지 않는 모음을 첨자로 간주하여 첨자컨트롤처리하는 방법을 제시한 바 있다.
여기서는 아랍어의 자음을 컨트롤처리(후속컨트롤처리)하는 방법을 제시하고자 한다. 다음은 선출원에서 아랍어의 자음을 그룹핑하고 각 버튼에 배정한 예이 다.
Figure 112006003387630-pat00005
Figure 112006003387630-pat00006
[1] 버튼에 배정된 1, 10, 100의 의미를 가지는 알파벳 중 1의 의미를 가지는 알파벳을 대표알파벳으로 하여 키패드상 표시하고 나머지 10, 100의 의미를 가지는 알파벳을 후속컨트롤처리할 수 있다. 컨트롤버튼은 선출원에서와 같이 임의의 버튼을 사용할 수 있다. 후속컨트롤버튼을 [*] 버튼을 사용하고, 2nd, 3rd 컨트롤을 배치할 경우, 자음 입력에 있어서 평균 입력타수는 2 타가 된다. 버튼당 하나의 알파벳만이 배치되므로 버튼에 표시된 알파벳을 선택함에 있어서는 부분전체선택방법으로 선택할 필요는 없다. 알파벳의 배치는 개념적인 것이므로 다음에 설명하는 바와 같이 키패드상에 알파벳을 배치하지 않을 수도 있다.
다시 선출원의 일본어의 경우처럼 후속컨트롤을 다른 버튼으로 분리할 수 있다. 예를 들어 [#] 버튼에 3rd 컨트롤 분산하여 배정한다면, 평균입력타수 약 1.7 타((1+2+2)/3)가 되며 28 개 자음을 선출원에서 제시한 바와 같이 모호성 없이 입력할 수 있게 된다.
본 출원에서는 각 단위의 알파벳의 사용빈도와 상관없이 숫자의 의미가 적은 알파벳을 각 그룹의 대표알파벳으로 하고 나머지 단위의 알파벳에 있어서도, 적은 숫자의 의미를 가진 알파벳을 먼저 선택할 수 있도록 하는 예를 보인다. 컨트롤은 선입력 혹은 후입력될 수 있다.
후속컨트롤을 모두 [*] 버튼에 배치하고, 1 단위의 알파벳을 대표알파벳으로 하고, 10 단위알파벳 선택시 컨트롤 버튼 선입력을 적용하면,
Figure 112006003387630-pat00007
가 되고,
Figure 112006003387630-pat00008
가 된다. 나머지 알파벳에 대해서도 동일하다. 이 경우 [#]버튼을 모음컨트롤처리를 위해 사용할 수도 있다.
1000 의 의미를 가지는 알파벳 하나만을 [0] 버튼에 배치하면,
Figure 112006003387630-pat00009
입력시
Figure 112006003387630-pat00010
이 된다. 1000 의 의미를 가지는 알파벳을 1 그룹알파벳으로 처리할 수도 있다. 이 경우
Figure 112006003387630-pat00011
가 될 것이다. 혹은 1000의 의미를 가지는 알파벳이 70 의 의미를 가지는 알파벳(
Figure 112006003387630-pat00012
)에 윗점이 붙은 형태이므로, 윗점컨트롤을 각종 모음컨트롤에 앞서 선택되도록 하여 컨트롤처리하는 것도 가능하다. 즉 윗점컨 트롤 선입력시
Figure 112006003387630-pat00013
= {윗점컨트롤} +
Figure 112006003387630-pat00014
로 입력할 수 있는 것이다. 윗점이 붙어 이루어진 다른 알파벳에도 이러한 윗점컨트롤처리를 다른 입력방법과 병행하여 허용할 수 있다. 이 경우 [0] 버튼을 다른 용도의 컨트롤버턴(예를 들어 모음컨트롤버튼)으로 활용하는 것이 용이하게 된다.
만약 컨트롤을 분리하여 3rd 컨트롤(여기서는 100 단위컨트롤)을 [#] 버튼으로 하면 200의 의미를 가지는 알파벳
Figure 112006003387630-pat00015
가 된다. 이 경우도 선출원의 일본어의 경우와 같이
Figure 112006003387630-pat00016
입력시,
Figure 112006003387630-pat00017
을 병행하여 허용할 수 있다. 1000 의 의미를 가지는 알파벳을 1 그룹알파벳에 속하게 할 경우, 경우
Figure 112006003387630-pat00018
혹은
Figure 112006003387630-pat00019
가 된다. 즉 [*] 버튼에 2nd, 3rd, 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 의미를 가지는 알파벳) 중 임의의 단위의 알파벳을 대표알파벳으로 할 수도 있다.
마찬가지로 후속컨트롤에 의하여 선택되는 알파벳도 사용빈도에 따른 각 단 위의 알파벳으로 할 수 있다. 예를 들어 100 단위알파벳이 가장 사용빈도가 많아, 이를 대표알파벳으로 하고, 그 다음으로 1 단위알파벳이 사용빈도가 많다면, 2nd 컨트롤(즉 여기서는 1 단위컨트롤)과 대표알파벳을 조합하여 입력할 수 있도록 하고, 10 단위알파벳을 3rd 컨트롤(즉, 10 단위컨트롤)과 대표알파벳을 조합하여 입력할 수 있도록 하는 것이다.
선출원에서 전체표시키패드에서도 후속알파벳을 컨트롤처리방법을 통하여 입력하는 것이 가능하다고 하였으므로, 마찬가지로 선출원의 키패드에서도 자음을 후속컨트롤처리방법에 의하여 입력하고, 모음을 첨자컨터롤처리방법에 의하여 입력하는 것이 가능하다. 3*4 키패드 내에서, 모음용 첨자컨트롤버튼을 [0] 버튼으로 하면, 자음 입력을 위한 컨트롤버튼을 [*] 버튼과 [#] 버튼에 분산하는 것이 가능하다.
2.4 한국어
2.4.1 격음컨트롤, 경음컨트롤의 분리
선출원의 예시도에서 도4-1 과 같이 격음컨트롤을 [*] 버튼에 배정하고 기준격자의 위치에 배치하고, 경음컨트롤을 그 다음 기준격자에 가까운 격자에 배치함으로써, 컨트롤버튼 1 타에 격음컨트롤을 2 타에 경음컨트롤을 선택할 수 있도록 하였다. 그러나 확장모음(2 개의 모음)입력시, 자연스럽게 모음과 모음간에 시간지연이 주어지므로, 확장모음을 컨트롤처리방법을 통하여 입력하지 않더라도, 사실상 모호성이 거의 없게 된다. 따라서 이 경우 선출원의 일본어의 예시와 같이 경음컨 트롤을 [#] 버튼에 추가로 배정하고 기준격자의 위치에 배치함으로써 [#] 버튼 1 타에 경음컨트롤이 선택되도록 할 수도 있다. 도 4-2 를 참고한다. 이 경우 컨트롤 선입력시, ㅋ = {격음}+ㄱ =[*]+ㄱ, ㄲ = {경음}+ㄱ =[#]+ㄱ 이 된다.
2.4.2 기본모음의 컨트롤처리
또한 출원인의 선출원(10-2000-0025183)에서 자음과 모음의 쌍을 이용하는 방법에서, "일본어의 경우와 마찬가지로 후속 컨트롤 버튼을 [#]로 설정하고 [#]를 선입력(혹은 후입력도 가능)하고 숫자 버튼을 입력하여 기본모음을 입력할 수도 있다"는 것을 지적하였던 바 있다. 이는 즉 기본모음컨트롤을 도 4-3 와 같이 두어 기본모음을 컨트롤처리방법을 통하여 입력함으로써 전혀 모호성 없이 입력하도록 할 수 있다는 의미이다. 선출원에서 지적하였던 바와 같이 키패드상에 표기된 기본모음 역시 일본어의 경우(전체표시키패드에서 후속알파벳의 컨트롤처리에 의한 입력)와 마찬가지로 컨트롤처리에 의하여 입력할 수 있다.
이 경우 기본모음을 해당 버튼 2 타로 반복선택하는 것보다 입력의 편리성은 떨어지나, 모호성을 완전히 제거할 수 있다. 기본모음은 사용빈도가 많으므로, 기본모음입력을 위한 "기본모음컨트롤"은 컨트롤버튼 1 타로 선택할 수 있어야 함은 물론이다. 도 4-3 은 선출원에서 제시하였던 도면에서 기본모음을 컨트롤처리하기 위한 "기본모음컨트롤" 을 추가한 도면이다. 기본모음컨트롤을 컨트롤버튼 1 타에 선택되고, 확장모음컨트롤을 컨트롤버튼 2 타에 선택된다. 도 4-3 의 예에서 컨트롤 후입력을 적용하면, ㅏ = [3]+[#], ㅐ = [3]+[#]+[#], ㅓ = [4]+[#], ㅔ = [4]+[#]+[#] 와 같이 된다. 나머지 모음과 확장모음에 대해서도 동일하며, 유사확 장모음에 대해서도 ㅗ = [1]+[#], ㅚ = [1]+[#]+[#] 과 같이 적용할 수 있다.
이는 대표자음과 기본모음간의 연관관계가 부족하므로, 기본모음을 키패드상 표시하고, 기본모음을 비은닉형 컨트롤처리방법에 의하여 입력하는 것으로 볼 수 있다.
2.4.3 격음컨트롤과 확장모음 컨트롤의 공용화
선출원의 태국어의 예에서와 같이, 하나의 후속컨트롤버튼을 후속자음 혹은 후속모음에 대하여 공용으로 사용할 수 있다. 예를 들어 격음컨트롤과 확장모음컨트롤을 같은 컨트롤버튼의 같은 격자에 배치하는 것이다. 선출원에서 설명한 바와 같이 후속자음처리를 위한 컨트롤버튼과 후속모음처리를 위한 컨트롤버튼을 분리하면 각 컨트롤의 선입력 혹은 후입력을 다르게 적용할 수 있다.
2.4.4 프로그램 구현
도 4-4 는 단지 구현을 위한 흐름도의 일례일 뿐이고 좀 더 효율적인 프로그래밍이 가능하다. 예를 들어 도 4-4 에서 받침의 자음부분이 왔을 경우 이중받침을 이룰 수 있는 자음인가를 앞서 체크함으로써, 약간 더 효율적인 구현이 가능하다.
선출원에서 제시한 한국어의 예는 유사한 특징(자음과 모음이 번갈아 출현하는 구조)을 가지는 타 언어에 있어서도 응용될 수 있다. 타 언어의 경우에는 타 언어의 자모출현 특성을 반영하면 된다.
한국어의 예에서, "단어시작"에서 부터 처음 3타(입력 1,2,3)는 항상 첫 음절(글자)의 자음과 모음으로 확정될 수 있다. 물론 이는 힌디어의 경우 "모+자"로 이루어진 음절이 처음에 나올 경우에는 적용되지 않는다. 다음으로 입력 4는 첫 음 절(글자)의 종성 혹은 두번째 음절(글자)의 초성이 될 수 있으므로 이를 판단하여야 한다. 선출원에서 제시한 흐름도상, 지면의 크기 관계로 모든 효율적인 세부절차를 다 표시하지 못하였으나, 입력 4가 이전입력(입력 3)과 동일한지를 판단하여 동일하면 입력 4,5가 이중모음을 이룰 수 없다는 것을 미리 확정할 수 있다. 왜냐하면 입력 2,3이 모음으로 확정되었는데, 입력 4,5가 모음으로 이중모음을 이루려면, 같은 모음이어서는 안되기 때문이다. 입력 4 가 이전입력과 동일하지 않으면, 흐름도에서 보인 바와 같이 다음 입력(입력 5)와 비교하여, 다음 절차를 진행하면 된다.
입력 5가 이전입력과 동일하면, 흐름도에서와 같이 이중모음을 이룰 수 있는지를 확인하고 다음 절차를 진행한다. 다음은 이중모음을 이루지 않는 경우의 진행이다. 입력 5가 이전입력과 동일하지 않은 경우, 입력 4는 첫 음절(글자)의 받침으로 확정할 수 있으며, 입력 5는 첫 음절(글자)의 이중받침 혹은 두번째 음절(글자)의 초성일 가능성이 있으므로, 이 단계에서 입력 4,5가 이중받침을 이룰 수 있는지를 체크하여 이중받침을 이룰 수 없으면 입력 5를 두번째 음절(글자)의 초성으로 미리 확정할 수 있다. 한국어의 경우에 평음 및 격음 14개의 모든 조합(14*14=196)이 가능한 것이아니고, ㄶ, ㅄ, ㄺ, ㄻ, ㅀ, ㄵ, ㄼ, ㄳ, ㄾ, ㄿ, ㄽ 의 11가지만이 가능하기 때문이다. 한개 음절(글자)가 확정되었으며, 입력 5를 입력 1로 하여 처음부터 다시 진행되게 된다. 입력 5가 입력 4와 동일하면서, 입력 2,3과 이중모음을 이룰 수 없는 경우는 입력 4를 첫 음절(글자)의 종성으로 입력 5를 두번째 음절(글자)의 초성으로 확정할 수 있다. 흐름도 상에는 지면 제약 관계로 표현되지 않았으나, 선출원의 발명을 구현(programming)함에 있어서, 당연히 고려될 수 있는 사항이다.
이중 모음을 이룰 수 있는 경우는 흐름도와 같이 진행할 수 있다. 그리고 모호성이 발생하는 모든 다른 경우에 있어서도, 선출원의 입력예와 흐름도에서 제시한 바와 같이, 모호성이 발생하는 단어(혹은 음절(글자))가, 한쪽은 받침(종성)으로 끝나고, 또 한쪽은 받침 없이 끝나는 경우(예를 들어, "갉고 <=> 갉고") 다음 입력(편의상 "입력x")을 받아들이고 "단어종료"인가를 체크하여 단어종료인 경우에는 그 입력 x를 마지막 음절(글자)의 종성으로(즉 예에서 "갉고+입력 x") 확정할 수 있다.
2.4.5 경음의 기본자음 조합처리
출원인의 선출원에서 언급하였던 모든 한국어 키패드에 대해서 경음(쌍자음)을 기본자음의 조합으로 처리하는 것이 가능하나, 편의상 도 4-1 를 기준으로 살펴본다.
또한 경음(쌍자음)을 2 개의 평음의 조합으로 입력하는 것을 허용할 경우는 입력 4 와 입력 5 가 동일하지 않은 경우와 유사하게 진행할 수도 있다. 단, 이를 허용하는 경우는 입력의 편리성은 증대되나, 첫음절이 종성없이 모음으로 끝나고 두번째 음절의 초성이 경음인 경우 "오ㄷ두기 <=> 오뚜기"와 같이 모호성이 발생할 수 있다("오ㄷ두기"의 "ㄷ"은 종성이나 특허청 편집기에서 입력할 수 없으므로 편의상 이와 같이 표기함). 또한 첫음절이 받침으로 끝나더라도, 두번째 음절의 초성이 경음이고, 첫음절의 받침과 두번째 음절의 초성의 경음이 같은 경우(예를 들어 오ㄷ뚜기)에도, 첫음절의 모음과 "첫음절의 받침+두번째 음절의 첫자음(예에서 ㄷ+ㄷ)"이 모음으로 인식되어 이중모음으로 될 수도 있다(예에서 "ㅗ+ㄷㄷ"="ㅗ+[3]+[3]" 이 이중모음을 이룰 수 있는 경우만). 따라서 선출원의 발명의 특성상, 경음을 컨트롤처리함으로써 경음입력시 모호성이 제거되는 특성을 살리지 못하므로, 경음을 컨트롤처리하여 입력하는 경우보다 더 많은 모호성이 발생할 수 있다.
"오ㄷ두기 <=> 오뚜기" 의 경우에는 사용자가 시간지연 혹은 구분입력(오른쪽 화살표 등 음절을 확정시킬 수 있는 수단을 입력)을 통하여 이를 회피할 수 있다. "오ㄷ뚜기 <=> 와두기"의 경우에도 마찬가지이다. 그러나 후자의 경우 한국어에 있어서 이중모음을 이루는 경우(기본모음 3 개 조합의 경우를 제외한 2 개 조합의 경우)는 ㅔ, ㅢ, ㅘ, ㅚ, ㅝ, ㅟ, ㅖ, ㅒ 의 8 가지 경우로 항상 ㅣ, ㅏ, 혹은 ㅓ 로 끝나고 있다. 따라서 경음이 존재하지 않는 5 개의 자음 ㄴ, ㄹ, ㅁ, ㅇ, ㅎ 중 3 개의 자음과 ㅣ, ㅏ, ㅓ 의 3 개의 모음을 쌍으로 그룹핑하여 배치하면, "오ㄷ뚜기 <=> 와두기"의 경우는 경음을 2 개의 기본자음으로 입력시에도 "와두기"로 될 수 없으므로 항상 "오ㄷ뚜기"로 올바르게 인식될 수 있다.
이 경우 위의 그룹핑만으로 기존의 알고리즘을 바꾸지 않고도(이중모음을 이룰 수 있는 지를 기존의 알고리즘에서 체크하므로), "오ㄷ뚜기"로 인식되는 것이 가능하다. 이는 첫 음절(글자)가 받침을 갖고, 다음 음절(글자)가 경음으로 시작하는 경우에, 경음을 입력하기 위하여 같은 버튼을 연속 2 타 입력하더라도 모음으로 인식되지 않을 수 있도록 하는 성질을 갖는다.
단 경음이 단어시작시 첫음절의 초성으로 되는 경우(입력 1,2 가 경음으로 초성, 입력 3,4 가 모음으로 확정되는 경우)를 위하여 선출원의 흐름도에 대하여 약간의 수정이 필요하며, 이는 선출원의 사상을 이해하고 있는 당업자에게 용이한 일이다. 이 경우(단어시작시 입력 1,2 가 경음, 입력 3,4 가 모음, 즉 "자+모") 입력 1,2,3,4 가 모두 같은 버튼이면, 입력 1 이 평음으로 초성, 입력 2,3 이 모음, 입력 4 가 종성 인 것(즉 "자+모+자")과의 모호성이 있을 수 있는데, 선출원의 흐름도에서와 같이 이는 다음 입력(편의상 "입력 x")을 받고, "자+모+자"의 종성 자음과 이중받침을 이룰 수 있는지 그리고 단어종료인지를 체크하여, 이중받침을 이룰 수 없고 단어종료시 입력 x 를 "자+모"의 종성으로 처리함으로써 일부의 경우 모호성을 극복할 수 있는 경우가 있다. 이중받침을 이룰 수 있는 경우도 마찬가지로 다음 입력을 받고 단어종료인지를 체크하여 같은 개념으로 처리할 수 있다.
이렇게 경음을 해당 2 개 평음의 조합으로 처리함으로써, 모호성이 발생하는 경우에도 넓게 볼때, 반복선택방법을 적용하여 생기는 모호성으로 볼 수 있으며, 다음에 설명하는 모호성 극복을 위하여 구비하는 "색인"을 통하여 극복할 수 있다.
결국 반복선택방식을 적용하여 어차피 약간의 모호성이 있는데, 경음(쌍자음)을 2 개 기본자음의 조합으로 처리함으로써, 약간의 모호성 증가가 있더라도 입력의 편리성을 높이고 입력방법의 단순성을 향상시킬 수 있게 된다.
단어의 구별은 공백, 모드전환, 이동버튼, 확인, 입력종료 등 단어와 단어사이의 구별을 줄 수 있는 모든 수단을 통하여 이루어질 수 있다.
2.5 힌디어
출원인의 선출원에서 힌디어 자음을 9 개의 그룹으로 그룹핑하여 [1] ~ [9] 버튼에 배정함으로써, [0] 버튼에 배정된 모음은 [0]버튼 1 타로 선택하게 되는데, 일관성을 위하여 자음을 10 개의 그룹으로 그룹핑하고 항상 대표자음은 1 타로 선택되고 10 개의 모음은 2 타로 선택되도록 할 수 있다. 키패드상에 배치되지 않고 자주 쓰이지 않는 모음 __(ri)는 컨트롤처리방법에 의하여 처리할 수 있다. 자음을 10 개의 그룹으로 그룹핑 하는데 있어서는 선출원에서 제시한 바와 같이 발음의 유사성을 고려하여 그룹핑하는 방법이 가능하다. 10 개의 그룹으로 그룹핑하는 일례를 들면 다음과 같다.
Figure 112006003387630-pat00020
그리고 힌디어의 첫번째 모음
Figure 112006003387630-pat00021
(a) 는 자음과 자음 사이에서 생략될 수 있다고 한다. 즉 자음이 연속하여 나오게 되는 것이다. 이러한 경우 "자음 + __(a) + 자음" 으로 입력하더라도 "자음 + 자음" 으로 표시되도록 하는 것은 매우 용이한 일이다. 물론 직접 "자음 + 자음"을 입력하는 것도 가능하나 이 경우 동일한 대표자음이 연속하여 선택되어 두개의 자음이 하나의 모음으로 인식될 수 있는 가능성이 많아진다. 따라서 양자(모음 __(a)를 자동 생략 혹은 사용자가 생략 입력)를 모두 허용할 수 있다.
2.6 미얀마어
미얀마어에는 다음의 33 개 자음이 존재한다. 이를 힌디어의 예와 같이 9 개의 그룹으로 그룹핑한 예를 보이면 다음과 같다. 10 개의 그룹으로 그룹핑하는 것도 유사한 요령에 의하여 할 수 있다.
Figure 112006003387630-pat00022
3. 기본자모의 쌍을 이용하는 방법에 있어서 수리적 모형을 통한 모호성 최소화
한국어, 힌디어, 미얀마어 등과 같이 자음과 모음이 반복적으로 출현하는 언어에 있어서, 기본자음과 기본모음을 각 10 개씩을 쌍으로 키패드상 숫자 버튼에 각각 배치하고 반복선택방법을 적용함으로써 적은 모호성으로 버튼상에 배치된 알파벳을 효율적으로 입력할 수 있음을 보였다.
그리고 한국어의 경우 경음, 격음, 확장모음을 컨트롤과 기본자모를 조합하여 컨트롤처리하여 입력할 수 있음을 제시하였다. 힌디어 등의 경우는 대표자음에 부속된 나머지 자음을 후속컨트롤처리하여 입력할 수 있음을 제시하였다. 여기서는 선출원의 발명에서 모호성을 최대한 줄일 수 있는 방법을 제시한다.
키패드상 하나의 버튼에 여러개의 알파벳을 배정하고 반복선택방법을 적용하는 경우 반복선택방법에 내재한 성질로 선출원에서 설명한 바와 같은 모호성이 있게된다. 예를 들어 같은 버튼상에 배치된 AB 를 연속하여 입력하는 경우 [2]+[2]+[2] 를 입력하면 이것이 AB 인지 BA 인지 알 수 없는 것이다.
편의상 한국어의 경우를 예로 들어 설명하면, 한국어는 대부분의 음절이 "자음+모음("자+모"로 약칭)" 혹은 "자음+모음+자음("자+모+자"로 약칭)"의 형태로 이루어져 있다. 이는 힌디어, 미얀마어 등의 언어의 경우도 마찬가지이다. 다만 한국어에서는 하나의 음절이 하나의 글자(넙적글자)를 이루는 특성이 있다.
모호성이 발생하는 경우 중 자주 발생할 수 있는 형태는 첫번째 음절이 "자+ 모"로 이루어지고 두번째 음절이 "자+모+자"로 이루어진 경우, 두번째 음절의 "모+자"가 같은 버튼에 배치되면, 두번째 음절의 첫 자음(초성)이 첫번째 음절의 마지막 자음(종성)으로 인식되고, 두번째 음절의 "모+자" 가 "자+모"로 인식되는 것이다. 결국 이러한 모호성을 최소화 하려면, "자+모+자"로 이루어진 음절에서 자주 결합되는 "모+자" 가 가능한 한 같은 버튼에 배치되지 않도록 하여야 한다는 것을 알 수 있다. 다시 말하면 코퍼스에서 "자+모+자"로 이루어진 음절에서 모음(중성)에서 자음(종성)으로의 전이 빈도가 많은 모음과 자음이 같은 버튼에 배치되지 않도록 하여야 하는 것이다. 한국어의 경우 첫번째 음절이 "자+모+모"로 이루어진 경우 혹은 두번째 음절이 "자+모+자+자"로 이루어진 경우도 같은 모호성이 발생할 수 있으나 많은 경우는 아니다. 즉 한국어의 경우 정밀하게는 두번째 음절이 "자+모+자+자"로 이루어진 경우의 모자전이도 모자전이의 빈도수에 함께 고려하여야 하나 많은 경우는 아니라는 의미이다.
위의 경우를 반대의 관점에서 보면 첫번째 음절이 "자+모+자"로 이루어지고 두번째 음절이 "자+모"로 이루어진 경우, 두번째 음절의 "자+모"가 같은 버튼에 배치되면, 첫 음절이 "자+모"로 인식되고 두번째 음절의 "자+모"가 "모+자"로 인식되어 앞 음절의 자음과 결합하여 "자+모+자"로 인식되는 것이다. 이러한 모호성을 최소화 하려면 "자+모"로 구성된 음절에서 자주 결합되는 "자+모"가 가능한한 같은 버튼에 배치되지 않도록 하여야 한다. 한국어의 경우 첫번째 음절이 "자+모+자+자"로 이루어진 경우도 같으나 많은 경우는 아니다.
위의 경우를 비롯하여 그 밖에 모호성이 발생하는 경우를 선출원에서 제시하 였으나, 많은 경우가 아니므로 이 두가지 경우만 고려하여 모호성을 최소화할 수 있는 방법을 제시한다. 이는 한국어뿐만 아니라 힌디어, 미얀마어 등과 같이 자음과 모음이 차례로 출현하는 언어에 동일하게 적용되며 한국어보다 자음과 모음의 반복출현규칙이 더 단순한 나머지 언어에 있어서는 더 쉽게 적용가능하다.
도 4-1 을 기준으로 한국어에서의 키패드상 배치된 기본자음과 기본모음을 반복선택방법에 의하여 선택하는 경우의 알파벳을 식별하기 위한 흐름도(선출원에서 기 제시)를 다시 소개하면 도 4-4 와 같다. 도 4-4 에서 모호성이 발생하는 경우도 함께 나타내고 있다.
이하에서 편의상 한국어의 예를 통하여 상세히 설명한다.
한국어의 경우는 "자+모"로 이루어진 음절이 전체의 약 50%(더 정확히 54.011%) 이고 "자+모+자"로 이루어진 음절이 전체의 약 50% 이다. 따라서 "자+모"로 이루어진 음절의 자음에서 모음으로의 전이("자모전이" 혹은 "자모결합"이라 약칭함) 빈도와 "자+모+자"로 이루어진 음절의 모음에서 자음으로의 전이("모자전이 " 혹은 "모자결합"이라 약칭함) 빈도를 같은 비중으로 고려할 수 있다. 만약 "자+모"로 이루어진 음절이 전체의 약 70% 이고 "자+모+자"로 이루어진 음절이 전체의 약 30% 라면, 자모전이 빈도수에 30%의 비중을 두고(자모전이의 자음과 모음이 같은 버튼에 배정되어 모호성이 발생하는 것은 앞 음절이 "자+모+자"로 끝난 30%의 경우를 전제로 하므로), 모자전이 빈도수에 70% 비중을 두어(반대로 모자전이의 모음과 자음이 같은 버튼에 배정되어 모호성이 발생하는 것은 앞음절이 "자+모"로 끝난 70%의 경우를 전제로 하므로) 고려하여야 할 것이다.
문헌상 조사된 모자전이의 빈도수는 다음과 같다. 한국어에서 모자전이가 일어날 수 있는 가짓수는 모음(중성) 21 가지에 대하여 자음(종성) 27 가지로 567 가지 인데, 이중 실제로 전이가 일어나는 것은 270 가지 라고 한다. 최상위 12 가지가 전체의 51%를 차지하고, 상위 48 가지가 전체의 90%를 차지한다고 한다. 이렇게 전이빈도(결합빈도)의 차이가 큰 것은 최적화된 그룹핑(자음+모음) 통해 모호성을 대폭 줄일 수 있음을 의미한다. 본 발명에서 모음과 자음간의 전이에 있어서, 키패드상에 표시된 모음과 자음의 전이만 고려하면 되므로 모든 경우를 고려할 필요는 없다. 모음과 경음 혹은 격음과 결합되는 경우는 선출원에서 제시한 "컨트롤"이 개입하여 모호성을 제거시켜 주기 때문인 것은 쉽게 알 수 있다.
본 발명에서의 모호성 최소화를 위하여 고려하여야 할 모자전이의 경우는 키패드상 표시된 기본모음 10 개에 대하여 기본자음 10 개가 결합할 수 있으므로 100 가지 경우이다.
Figure 112006003387630-pat00023
Figure 112006003387630-pat00024
문헌상 조사된 자모전이의 빈도수는 다음과 같다. 다음은 "자+모"만으로 이루어진 음절의 빈도만을 조사한 것이다. "자+모+자"의 경우는 모자전이 빈도에서 고려되었으므로 여기에서 고려할 필요는 없으며 이는 본 발명에서 중요한 요소중의 하나이다. 자모전이의 가짓수 역시 키패드상 표시된 기본자음 10 개에 대하여 10 개의 기본모음이 결합할 수 있으므로 다음의 100 가지 경우이다.
Figure 112006003387630-pat00025
위의 모자전이와 자모전이의 빈도수는 상대적인 비율값이 아니고 절대빈도 이므로 양자를 합하여 자음과 모음의 결합빈도를 나타내는 표를 구성할 수 있다. 다음은 모자전이와 자모전이의 빈도수를 합한 표이다. 좀 더 정밀하게 한다면 앞에서 설명한 바와 같이 한국어에서 "자+모"로 이루어진 음절이 전체의 약 54% 이므로 모자전이의 빈도수에 54%의 비중을 두고 "자+모+자"로 이루어진 음절이 전체의 약 46%이므로 자모전이의 빈도수에 46%의 비중을 두어야 할 것이다. 그러나 아래의 표에서는 한국어에서 "자+모" 혹은 "자+모+자"로 이루어진 음절이 각각 약 절반씩을 차지하므로 큰 차이가 없으리라 보아 모자전이와 자모전이 빈도수의 비중을 동등하게 50%씩 고려한 것이다.
Figure 112006003387630-pat00026
Figure 112006003387630-pat00027
일반적으로 키패드를 통한 반복선택방법 적용시의 모호성을 최소화하는 문제는 NP-hard 문제라고 한다. 그러나 출원인이 선출원에서 제시한 자음과 모음이 쌍으로 배치된 키패드에서 자음 1 타와 모음 2 타의 (기준/단순)반복선택방법을 적용할 때 발생하는 모호성을 최소화하는 문제는 전형적인 선형계획법의 배정문제로 모형화 할 수 있는데 이 점 역시 출원인의 발명의 큰 장점이라고 할 수 있다. 결국 위의 표는 본 발명에서 수리적으로 모형화하려는 최적화 문제의 "통합빈도수를 구한 표(통합빈도표)" 이다.
선출원의 발명에서 버튼별로 배정할 알파벳의 그룹을 짓는 것을 "그룹핑"이라 하고, 그룹핑된 알파벳을 각 버튼에 배정하는 것을 "배정"이라 하고, 배정된 알파벳을 버튼상의 각 격자에 배치하는 것을 "배치"라 하였으므로, 여기에 맞춰 모호 성이 최소화 되도록 자모의 쌍을 짓는 것을 "그룹핑문제"라 한다.
각 행의 첨자를 i 로 두고, 각 열의 첨자를 j 로 두고, 각각 배정되는 자음과 모음의 갯수 즉 10 을 n 이라 둘 때, 목적식과 제약식은 다음과 같다.
Figure 112006003387630-pat00028
여기서 각 변수 및 계수는
Figure 112006003387630-pat00029
0 : i 번째 모음과 j 번째 자음이 그룹핑되지 않을 때
1 : i 번째 모음과 j 번째 자음이 그룹핑될 때
Figure 112006003387630-pat00030
i 번째 모음과 j 번째 자음이 연속하여 나타나는 경우의 통합 빈도수를 의미
위의 식에서 목적식을 풀어쓰면 다음과 같이 된다.
Figure 112006003387630-pat00031
마찬가지로 제약식도 풀어서 쓸 수 있다. 문제의 수리적인 모형이 확정되었고, 또한 계수(전이빈도수 혹은 결합빈도수)가 확정되었으므로 위 문제를 푸는 것 은 상용 LP(Linear Programing) 패키지를 써서 쉽게 풀 수 있다. 위 문제를 푼 결과는 다음과 같다. 단, 출원인이 사용한 프로그램의 제약상 계수로 사용한 위의 통합빈도표를 1/50 로 나눈 값을 이용하여 푼 결과이다.
Figure 112006003387630-pat00032
Figure 112006003387630-pat00033
그러나 모호성을 최소화할 수 있는 그룹핑을 한다고 하더라도, 그 그룹핑이 최선이라고 할 수는 없다. 왜냐하면 키패드에서의 알파벳의 위치식별성도 중요한 고려요소이기 때문이다.
전이(혹은 결합) 빈도수를 최소화하도록 문제를 풀면, 모호성을 최소화할 수 있는 자음과 모음의 쌍을 찾을 수 있다. 반대로 전이빈도수를 최대화하도록 위 문제를 풀면 모호성은 많이 발생하나 알파벳 입력시 같은 버튼을 누르는 경우가 많아지므로 입력의 편리성은 높아진다. 단 모호성이 발생하는 경우를 사용자가 숙지하고 대처해야 하는 단점이 있다.
전이빈도수(결합빈도수)를 최대화하는 것은 모음을 쌍으로 배치하고 자음 1 타로, 모음 1 타로 입력하도록 하면서 음절(한국어에서는 글자) 단위로 확정버튼을 입력하거나 혹은 확정컨트롤을 선택하여 한 음절을 확정하도록 하는 경우에는 매우 효율적이라고 할 수 있다. 이 경우 키패드상에 표시되지 않은 자음과 모음을 입력 함에 있어서 후속컨트롤을 확정컨트롤이 배치되지 않은 버튼에 배정하고 후속컨트롤을 컨트롤버튼의 반복횟수에 따라 선택할 수 있도록 함으로써 모든 자음과 모음을 모호성 없이 입력하는 것이 가능하다. 그러나 음절 단위로 확정버튼을 누르는 불편을 사용자에 강요해야 하는 단점이 있다. 선출원에서 밝힌 바와 같이 이 후속컨트롤버튼은 자음과 모음에 대하여 선입력 혹은 후입력을 동일하게 적용하면 하나의 후속컨트롤버튼을 후속자음과 후속모음에 대하여 모두 적용할 수 있다. 이는 음절단위의 확정버튼을 입력하지 않는 경우에도 같음은 물론이다.
전이빈도수(결합빈도수)를 최대화 하는 것은 목적식을 "Max Z = ... "으로 하여 문제를 푸는 것으로 계수(빈도수)에 minus 기호("-")를 붙여 최소화 문제로 풀거나 계수중 가장 큰 수에서 각 계수를 뺀 값을 계수로 사용하여 최소화 문제로 풀면된다. 역시 상용 LP 패키지를 사용하여 쉽게 풀 수 있다.
자음과 모음의 결합빈도가 모호성이 발생하는 모든 경우를 고려한 것은 아니지만, 모호성이 발생하는 가장 많은 경우(모자전이, 자모전이)를 지적하였고 그 경우의 빈도수를 바탕으로 최적화할 수 있는 방안을 제시한 것이 여기에서의 "핵심"이다.
결국 수리적인 모형으로 모호성을 최소화하는 방법의 "핵심"을 다시 정리하면 10 개의 자음과 10 개의 모음을 쌍으로 그룹핑하여 각 버튼에 배치하고 각 버튼 1 타로 키패드상 배치된 자음을 선택하고 각 버튼 2 타로 키패드상 배치된 모음을 선택하는 방법에 있어서, 모호성이 발생하는 가장 많은 경우가 모자전이("자+모+자" 로 이루어진 음절에서 모음과 자음의 결합)와 자모전이("자+모"로 이루어진 음 절에 있어서 자음과 모음의 결합)시의 결합되는 자음과 모음이 같은 버튼에 배정된 경우임을 지적하고, 또한 이를 바탕으로 각 전이형태에 따른 빈도수에 비중을 두어 선형계획법의 배정문제로 모형화했을 때 계수로 사용할 "통합빈도표"를 구한 것이다. 일단 이렇게 수리적으로 모형화된 문제를 풀어 최적화할 수 있는 자음과 모음의 그룹을 알아내는 것은 상용 프로그램을 이용하면 매우 용이한 일이다.
이는 하나의 음절이 주로 "자+모" 혹은 "자+모+자"로 이루어진 힌디어, 미얀마어 등의 언어에도 동일하게 적용될 수 있다. 한국어 이외의 언어에 있어서, 자음과 모음의 전이빈도수(결합빈도수)에 대한 자료는 기존의 자료를 사용하면 되고, 만약 기존의 조사된 자료가 없다면 적절하게 코퍼스를 구성하여 자모전이와 모자전이의 빈도수를 조사하여 한국어의 예에서 적용한 방법을 적용하면 된다. 즉 이미 설명한 바와 같이 힌디어에서 "자+모"로 이루어진 음절이 70%이고, "자+모+자"로 이루어진 음절이 30%라면 모자전이의 빈도수에 70%의 비중을 두고 자모전이의 빈도수에 30%의 비중을 둘 수 있다. 또한 힌디어의 경우는 "모+자"만으로 이루어진 음절이 있는데 이는 항상(즉, 앞 음절의 형태에 상관 없이) "자+모"로 인식되는 모호성이 있을 수 있으므로 이러한 형태의 모자전이(간단히 "0 모자전이" 혹은 "0 모자결합"이라 약칭함)의 빈도수는 100%의 비중을 두어 3 가지 경우의 통합빈도표를 구하고 이를 최소화할 수 있도록 자음과 모음의 쌍을 그룹핑할 수 있는 것이다.
선출원에서 힌디어의 경우 10 개의 기본모음과 9 개의 대표자음을 쌍으로 그룹핑하는 것은 가짜(의사)자음을 추가하여 10 개의 자음과 10 개의 모음을 그룹핑하는 문제로 풀면된다. 가짜자음과 10 개 기본모음과의 전이(결합)빈도는 "0"으로 두면된다.
4. 한국어에 있어서 모음요소를 활용하는 방법
4.1.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 타로 입력될 수도 있다.
그리고 앞에서 언급한 바와 같이 한국어에서 "ㅡ" 및 "ㅣ"가 연속하여 등장하지 않는 성질을 이용하여 9 버튼 탈락자음(예를 들어 "ㅎ")을 "ㅡ" 혹은 "ㅣ"와 같은 버튼에 두고 해당 버튼 2 타로 9 버튼 탈락자음을 입력하게 하는 것도 가능하다. 이 경우 경음컨트롤 혹은 격음컨트롤 중의 한 가지는 "." 과 함께 다른 버튼에 배정되고, 해당 버튼 3 타로 배정된 컨트롤을 선택하도록 하면 된다. 즉 이는 9 버튼 탈락자음, 격음컨트롤, 경음컨트롤의 3 가지와 모음요소(ㅡ, ., ㅣ) 3 가지를 그룹핑함에 있어서 임의로 할 수 있는 것을 의미한다.
4.1.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.1.3 기본자모의 쌍을 이용하는 방법과 모음요소를 활용한 방법의 혼합적용
모음요소를 활용하는 방법은 도 4-1, 도 4-2, 도 4-3 의 키패드를 더욱 간략화한 것으로 볼 수 있으며, 선출원에서의 알파벳 입력방법들과도 호환성을 가질 수 있다. 즉 10 개의 기본모음을 추가로 각 버튼에 표시한 키패드에서도 본 출원의 알파벳 입력방법을 적용할 수 있으며, 더 나아가 기본자음, 기본모음, 확장모음, 격음, 경음 등을 표시한 전체표시키패드에서도 본 출원의 입력방법을 적용할 수 있다.
도 4-2 의 예시에서 경음컨트롤 및 격음컨트롤이 [*] 버튼 혹은 [#] 버튼에 배정되었는데, 굳이 표기되지 않더라도 사용자가 인지하고 있으면 되므로, 각 버튼에 본 출원의 예시와 같이 "ㅡ" 혹은 "ㅣ" 등을 표기함으로써, 모음요소를 활용한 방법과 기본자모의 쌍을 이용한 방법을 선택적으로 사용할 수 있는 것이다. 예를 들어 도 4-5 에서 모음요소로 존재하는 모음 "ㅡ", "ㅣ"를 제외한 8 개의 기본모음을 [1] ~[9]의 9 개 버튼중 8 개의 버튼에 배정하고, 배정된 8 개의 기본모음을 기 본모음이 배정된 버튼 2 타에 선택할 수 있도록 하는 것이다. 마찬가지로 격음과 경음의 입력에는 컨트롤처리방법 혹은 반복선택처리방법이 적용될 수 있다. 예를 들어 도 4-5 에 추가적으로 "ㅡ", "ㅣ"를 제외한 8 개 모음을 도 4-2 와 같이 배치한 것으로 가정하면, "가신"이라는 단어를 입력시 "가신" = [1]+[3]+[3] + [7]+[#]+[2] 와 같이 될 수 있다. 사용자의 편리에 따라 "가"의 모음 "ㅏ"는 반복선택방법을 적용하고, "신"의 모음 "ㅣ"는 모음요소가 배치된 버튼을 이용하여 입력할 수 있는 것이다. 모음 입력에 있어서 다른 방법을 같은 단어내에서 적용하면서도 입력모드전환을 요하지 않는다.
또한 [1]~[9] 버튼에 8 개의 모음을 추가적으로 배정하고, 모음이 배정되지 않은 버튼에 경음과 격음이 존재하지 않는 기본자음 중 모양과 발음이 유사한 2 개의 기본자음(예를 들어 ㄴ/ㄹ 혹은 ㅇ/ㅎ 등)을 함께 배치하고 반복선택방법을 적용할 수 있다. 이 경우 발생할 수 있는 모호성도 다음에 설명하는 "색인"을 통하여 극복할 수 있다.
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"를 심플코드로 할 수 있는데 이는 일부연관 심플코드이며, 이를 특히 편의상 "자음연관 심플코드"라고 부르기로 한다.
단어뿐 아니라 구절 역시 심플네이밍에 의하여 코드화될 수 있다. 선출원에서 예를 든 "어디로 가려는가"라는 어구에서 의미를 가장 잘 함축하고 있는 글자(음절)을 활용하여 ㅇ, ㄷ, ㄱ, ㄹ 에 매핑되는 "8314"를 심플코드로 할 수 있다. 영어의 경우 선출원에서 예를 든 "date tonight" 애서 음가를 가지고 있는 d, t, t, n 에 연관되는 "3886"을 심플코드로 할 수 있다.
이니셜네이밍은 일부연관 심플네이밍의 특별한 경우이다. 한국어의 경우 이니셜네이밍은 음절(글자)을 기준으로 초성(첫자음)에 매핑되는 숫자를 코드로 지정하는 방법이 있을 수 있다. 이를 편의상 "음절(글자)기준 이니셜네이밍"이라고 한다. "가산전자"의 경우 음절기준 이니셜네이밍에 의한 이니셜코드는 각 음절(글자)의 자음초성에 연관된 "1799"가 된다. 음절기준 이니셜네이밍의 경우도 한국어 이외의 언어에 대해서도 적용할 수 있다. 예를 들어 영어의 경우, "entertainment" 라는 단어의 음절기준 이니셜네이밍에 의한 이니셜코드를 e, t, t, m 에 연관되는 "3886"으로 할 수 있다. 음절기준 이니셜네이밍은 한 음절이 하나의 글자를 이루는 한국어의 경우에 더욱 유용하게 사용될 수 있다.
마찬가지로 구절에 대해서도 이니셜 네이밍이 가능한데, 선출원에서 예를 든 "어디로 가려는가" 라는 구절에서 각 단어의 첫 알파벳인 ㅇ, ㄱ 과 연관된 "81"을 이니셜 코드로 할 수 있다. 영어의 경우 선출원에서 예를 든 "dance with the wolf" 라는 어구에 대하여 단어기준 이니셜네이밍으 이니셜코드는 d, w, t, w 와 연관된 "3979"가 이니셜코드가 된다. 단어기준 이니셜네이밍은 구절 전체에 대하여 코드를 부여할 경우 모든 언어에서 유용하게 사용될 수 있다.
심플코드(전체연관 심플코드 부부연관 심플코드)와 이니셜코드(음절기준 이니셜코드, 단어기준 이니셜코드)를 통틀어 편의상 "심플코드(즉 넓은 의미의 심플코드)" 혹은 "단축코드"라고 부르기도 한다. 전체연관 심플코드, 자음연관 심플코드, 음절기준 이니셜코드, 단어기준 이니셜코드는 특히 그 코드 생성에 있어서 규칙성이 있으므로, 이를 범용하게 사용할 수 있으며, 타인이 그러한 규칙으로 심플코드를 생성해 놓은 경우에도 쉽게 사용할 수 있다.
풀네이밍은 특정 문자입력방법에 의해 코드화하고자 하는 어구의 입력값이다. 따라서 이는 적용되는 문자입력방법에 따라 달라질 수 있으며, 알파벳단위로 어떤 어구에 해당하는 숫자값을 코드로 하는 것으로 볼 수 있다. 선출원에서 예를 든 "서울"의 경우 도 4-2 을 기준으로 부분전체선택방법(선출원에서 언급)에 의한 풀코드는 "7745888944"가 된다. 만약 기준반복선택방법(선출원에서 언급)에 의한 풀코드는 "7448884" 가 된다. 만약 도 4-2 와 다른 키패드를 적용하거나 또 다른 알파벳 입력방법을 적용할 경우은 그에 따른 풀코드 값이 있게 될 것이다.
6.2 성조기준 심플코드 생성방법
중국어와 같은 뜻글자에서는 무수히 많은 글자를 키패드상의 버튼으로 합리적으로 대응시키는 방법이 필요하다. 한가지 방법은 중국어의 영어발음을 영어키패드상 알파벳으로 대응시키는 것이다. 또 한가지 방법으로 뜻글자인 한자의 성조를 이용하여 키패드상의 키로 매핑시키는 방법을 제시한다.
중국어의 모든 글자는 5 가지의 성조를 가진다. 1 성(성조기호 -), 2 성(성조기호 ′), 3 성(성조기호 ˇ), 4 성(성조기호、), 그리고 무성조 글자이다. 5 가지의 각 성조 키패드상의 2 개 버튼에 각각 대응시킬 수 있다. 이러한 기본틀에서 여러가지 방법의 배치가 가능하다. 예를 들어 1 성조를 [1]버튼과 [2]버튼에 대응시키고, 2 성조를 [3]버튼과 [6]버튼에 대응시키고, 3 성조를 [4]버튼과 [7]버튼에 대응시키고, 4 성조를 [8]버튼과 [9]버튼에 대응시키고, 무성조를 [5]버튼과 [0]버튼에 대응시킬 수 있다. 이는 1 ∼ 4 성조를 키패드상의 상/하/좌/우측 버튼에 배치하여 사용상의 편의성을 배려한 것이다. 이러한 각각의 버튼쌍별로 색깔을 달리하면 시각적으로 더 좋은 효과를 얻을 수 있다. 상하좌우 배치에 있어서 버튼쌍을 [1, 2][3, 6][4, 7][8, 9] 로 하는 것은
Figure 112006003387630-pat00034
자 형을 이루게 된다. 또는 1 성조 ~ 5 성조를 각각 [1] ~ [0] 의 10 개 버튼에 각각 순서대로 2 개의 버튼에 대응시킬 수 있다.
여기서 1 성조를 가진 글자가 [1]버튼과 [2]버튼중 어느 버튼에 해당하는 글자인지를 판단하는 것이 문제가 된다. 여기에도 여러가지 방법이 있을 수 있다. 예 를 들어 획수(즉 글자의 복잡도를 판단하는 방법 중 하나)에 의하여 구분하는 방법이 있다. 단어나 문장내에서 1 성조를 가진 글자의 획수가 일정획수(예를 들어 5 획) 이하면 [1]버튼([1]버튼과 [2]버튼 중 작은수의 버튼)에 해당하는 글자로 판단하고, 아니면 [2]버튼([1]버튼과 [2]버튼 중 큰수의 버튼)에 해당하는 글자로 판단하는 것이다. 판단기준이 되는 획수로 5 획을 예시하였는데, 이는 주로 쓰이는(상용) 간자(한자)의 평균획수가 아니고, 한자를 조사하여 일정획수 이하인 글자가 전체 글자의 절반 정도되고 또 일정획수를 초과하는 글자가 전체의 절반 정도 되는 기준으로 그 일정획수를 정할 수 있다.
글자의 복잡도로 판단하는 방법중 획수에 의한 방법을 제시하였는데, 다른 방법으로 요소글자의 수로 판단하는 방법도 있다. 요소글자란 하나의 한자내에서 식별할 수 있는 글자이다. 예를 들어 城 에는 2 개의 요소글자(土 + 成)로 이루어져 있고, 禁 은 3 개의 요소글자(木 + 木 + 示)로 이루어져 있음을 알 수 있다. 따라서 같은 성조에 해당하는 2 개의 버튼중 일정갯수의 요소글자 수(예를 들어 2 개) 이하이면 더 작은 수의 버튼에 해당하는 글자로 판단하고, 초과하면 더 큰 수의 버튼에 해당하는 글자로 판단할 수 있다.
중국어에 있어서 성조를 나타낸 것은 도 5-1 과 같다. 성조 부호는 공통적으로 쓰이고 있으며 본 발명에서도 도 5-1 의 성조부호를 사용한다. 본 발명에서의 키패드 예시도 도 5-2 는 성조부호를 키패드 버튼상에 표시한 것이다. 예시에서 1 성조를 [1]버튼과 [2]버튼에 할당하였으므로 1,2 버튼상에 1 성조 기호(-)가 부기되어 있다. 1 버튼에 더 작게 표시하고 2 버튼에 더 크게 표시한 것은 글자의 복잡 도(획수 혹은 요소글자의 수)가 일정 수준(예를 들어 5 획, 요소글자 2 개)이하이면 1 버튼에 해당하는 글자로 판단하는 것을 직관적으로 쉽게 판단할 수 있도록 하기 위함이다. 도 5-2 를 기준으로 몇몇 단어를 키패드에 대응시켜 코드화한 결과를 보이면 다음과 같다. 다음의 예에서는 글자의 복잡도에 의한 기준을 획수 "5 획 이히"를 적용하였다. 글자위의 부호는 성조부호이다.
Figure 112006003387630-pat00035
시스템 내에서 서로 다른 단어가 같은 코드를 생성하게되면 단어 문자열 뒤에 일련번호를 붙여 중복을 회피할 수 있다. 예를 들어 百貨公司의 코드 7612와 같은 숫자코드를 가지는 문자가 시스템내에 존재한다면 百貨公司 1 로 일련번호를 붙여 76121 로 코드를 생성하고 해석하는 것이다.
성조기준 심플코드를 지정하기 위하여 문자를 사용자가 입력시, 시스템에서 기 정의된 성조기준 심플코드 생성규칙에 따라 입력된 문자에 대응되는 심플코드를 시스템이 추출하여 사용자에게 보여주는 방법도 가능하다. 뜻글자인 중국어가 소리 글자의 경우와 다른 점은 시스템에서 단순히 문자와 숫자의 매핑 정보만 필요한 것이 아니라 사전을 참조하여 성조와 획수(혹은 요소글자수) 등을 알 수 있어야 한다는 것이다.
본 발명에서 중국어의 성조 특성과 글자의 복잡도를 기준으로 간자(한자)를 키패드의 버튼에 매핑시키는 방법을 제안하였다. 중국어의 특성상 5 가지 성조를 2 개의 버튼에 할당하므로 현재의 키패드 배열을 2 열, 5 행 배열로 배치하는 것이 직관적으로 편리할 수 있다. 즉 예를 들어, 키패드의 1 행에 [1], [2]버튼을 배치하고, 2 행에 [3], [4]버튼을 배치하고, 3 행에 [5], [6]버튼을 배치하고, 4 행에 [7], [8]버튼을 배치하고, 5 행에 [9], [0]버튼을 배치하고, 6 행에 [*], [#]버튼을 배치하는 것이다. 각 행의 2 개 버튼에 각각 1 성조, 2 성조, 3 성조, 4 성조, 무성조를 할당하고, 글자의 복잡도 등의 기준에 따라 1 열의 버튼에 해당하는 글자로 판단할 지 2 열의 버튼에 해당하는 글자로 판단할 지를 정할 수 있다. 이러한 2*6 키패드의 버튼 배치는 도 5-3에서와 같은 방식이 있을 수 있다. 이 경우 모두 각 행의 2 개 버튼에 각 성조를 할당하고 복잡도에 따라 1 열 혹은 2 열의 버튼에 해당하는 글자인지를 판단할 수 있다.
단 하나의 표준만이 쓰이지 않고 복수의 방법이 쓰이게 되면, 성조에 할당되는 키패드 버튼이 달라짐에 따라 생성되는 코드값도 달라지게 된다. 따라서 특정 방법에 의한 생성 코드(예를 들어, 본 발명에서의 3*4 키패드에 의한 코드)와 다른 방법에 의한 생성 코드(예를 들어, 본 발명에서의 2*6 키패드에 의한 코드)간의 변환이 필요하다. 변환은 서버측에서 일어날 수도 있고 단말기측 클라이언트 소프트 웨어에서 일어날 수도 있다. 어떤 경우든 전체 시스템 내(서버+클라이언트)에서 변환이 일어나는 것으로 볼 수 있으며 전체 시스템 내에서 어떤 방법이 적용되었는지를 알고 있으면, 필요한 코드로 재변환해 낼 수 있다. 예를 들어 방법 1 에의한 人民日報 의 코드값이 입력되었는데 시스템에서 필요한 값이 방법 2 에 의한 코드값이라면, 시스템에서 방법 2 에 의한 코드값을 구해낼 수 있는 것이다.
百貨公司 로 코드를 생성시키지 않고 싶지 않고, 百貨 로 코드를 생성하고 싶으면, 입력시 특정 기능키와 조합하여 百貨 를 입력함으로써 百貨 만을 부각하여 표시하고, 百貨公司 에 대하여 "76"만을 코드로 생성할 수 있다. 더 나아가 글자의 일부(예를 들어 貨의 化)만을 기준으로 하여 코드를 생성하고 싶을 경우(코드의 중복배제 등을 위하여), 글자내에서 化 만을 부각하여 표시되도록 하고, 그를 기준으로 코드를 생성시킬 수 있다. 즉 이 경우 百貨公司(白貨公司 만을 부각하여 표시)의 심플코드는 "7612"가 아닌 "7312"가 되는 것이다.
중국어의 입력 방법은 한글에서의 한자 입력방법과 같이, 중국어 발음에 해당하는 영문을 입력하고 "한자 변환키"를 사용하여 변환가능한 한자가 되시되면 해당하는 한자를 선택하여 입력하는 것이 일반적인 형태이다.
중국어에 있어서 풀코드는 중국어의 영어발음을 기준으로 정할 수 있다. 더 나아가 동일한 발음의 단어가 다수 존재할 경우, 영어발음에 의한 코드와 한자 변환키 그리고 동일발음단어들 중 타겟단어의 순위를 합하여 풀코드로 정할 수 있다. 본 발명의 예에서는 키패드에서의 입력시 한자 변환키를 도 5-2, 도 5-3 에서 모두 [*] 버튼을 사용하였다. 본 발명에서는 영문 입력 방법에 대하여는 특별히 언급하 지 않고 기존의 방법을 사용하는 것으로 한다.
본 발명에서 중국어의 심플 네이밍을 위한 "특정 기능키"를 둘 필요가 있다. 즉 영문을 입력하고 한자 변환키를 입력하여 원하는 한자를 선택한 후, 심플 네이밍을 위한 특정 기능키(편의상 여기서 이를 "심플코드키"라고 부름)를 입렵하면 해당 문자와 해당 문자를 구성하고 있는 요소글자들이 순서대로 표시되고 그중에서 심플코드생성을 위한 요소글자를 선택하도록 할 수 있다. 본 발명의 예에서는 심플코드키 [#] 버튼으로 하였다.
위에 예에서 百貨公司 에서 貨를 입력한 후 심플코드키를 입력하면, 貨, 化, 貝 등 貨 글자 자체와 貨를 구성하는 요소글자가 순서대로 표시되고 두번째 化를 선택하면 貨에서 化만이 부각되어 표시되고 이에 해당하는 심플코드가 시스템 내에서 3 으로 인식되는 것이다. 化만이 부각되어 표시된 貨 에 대한 심플코드 3 으로의 인식은 입력 즉시 3 으로 인식되어 시스템에 저장되어 추후 사용될 수도 있고, 문자로부터 해석되어 사용될 수도 있다.
중국어에 있어서 코드의 네이밍을 위하여 전체 시스템내(클라이언트측 혹은 서버측)에서 중국어 사전을 가지고 있을 필요가 있다. 즉 사용자는 네이밍된 문자를 입력하면 시스템을 사전으로부터 성조, 획수(또는 요소글자수) 등을 참조하여 네이밍된 문자를 숫자 코드로 매핑해 낼 수 있다. 사전에는 중국어 문자를 키패드의 숫자로 매핑할 수 있는 성조, 그리고 획수 혹은 요소문자의 수 등을 가지고 있는 것으로 가정한다. 사용자 혹은 시스템 관리자는 사전에 등록되어 있지 않은 단어를 추가하고 성조 등의 매핑에 필요한 관련 정보를 저장할 수 있어야 한다. 단 전체 시스템내에서 중국어 사전을 가지고 있지 않으면 사용자가 네이밍된 문자로써 단어를 입력할 때 성조 등의 매핑 정보를 함께 입력할 수 있도록 하거나, 문자에 해당하는 숫자 코드를 함께 입력할 수 있어야 한다.
중국어의 경우 성조를 기준으로 심플코드를 생성하는 것은, 영어발음에 근거하여 심플코드를 생성하지 아니하고, 직관적으로 글자별로 하나의 숫자코드를 대응시킬 수 있는 장점이 있다. 또한 중국어의 경우 회사명, 도시명 등이 모두 일정한 수의 글자로 이루어져 있는데, 성조기준 심플코드의 길이는 글자수(성조수)와 일치하므로 코드의 길이가 일정해 질 수 있고, 영어알파벳이 부기되지 않은 키패드에서도 사용이 가능한 장점이 있다.
이는 태국어, 미얀마어 등과 같이 성조를 가지는 모든 언어에 적용될 수 있다. 태국어의 모든 음절은 성조를 가진다. 태국어의 성조에는 평성, 1 성, 2 성, 3 성, 4 성의 5 가지 성조가 있다. 따라서 중국어의 경우와 같이 각 성조를 키패드의 2 개의 버튼에 대응시키는 것이 가능하다. 그리고 중국어의 경우와 같이 한가지 성조를 키패드상 2 개의 버튼에 대응시켰을 경우, 획수 혹은 요소글자의 수와 같은 일정한 기준으로 2 개 버튼 중 어느 버튼에 대응되는지를 결정하여야 한다. 다양한 기준이 가능하나, 태국어의 경우는 음절별로 결합되는 모음의 종류가 단모음, 장모음의 두가지가 있으므로, 단모음의 경우 적은 숫자, 장모음의 경우 큰 숫자에 대응되는 것으로 할 수 있다.
또한 성조부호가 부기되어 성조를 명시적으로 표기하기도 하고(유형성조), 성조부호(4 가지가 존재)를 부기하지 않고 자음의 종류와 모음의 장단 그리고 종자 음의 존재유무에 따라 5 가지 성조가 표현(무형성조)되기도 한다. 태국어의 자음은 9 개의 중자음, 10 개의 고자음, 23 개의 저자음으로 나누어지고, 같은 성조부호가 부기되는 유형성조의 경우에도 자음의 종류에 따라 다른 성조가 되기도 한다. 따라서 실제의 성조와 관계없이 4 가지 성조기호가 부기되는 경우와 성조기호가 부기되지 않는 경우의 5 가지의 경우를 각각 키패드상 2 개의 버튼에 대응시키고, 역시 역시 결합되는 모음이 단모음인지 장모음인지에 따라, 심플코드를 정할 수 있다. 이를 특별히 "성조부호기준 심플코드"라 한다.
미얀마어의 경우는 1 성조, 2 성조, 3 성조의 3 가지의 성조가 있다. 3 가지 성조는 모두 성조부호를 부기하여 표시된다. 따라서 각 성조를 [1] ~ [9] 의 버튼에 3 개의 버튼에 각각 대응시킬 수 있다. 예를 들어 1 성조의 음절은 첫번째 행의 버튼([1], [2], [3] 버튼)에 대응시키는 것이다. 동일한 성조의 음절을 3 가지로 나누는 기준중의 한가지로, 종자음이 없는 음절(예. 자+모), 첫자음이 없고 종자음만 있는 음절(예. 모+자), 그리고 첫자음과 종자음이 모드 있는 음절(예. 자+모+자)로 구분하는 기준을 사용할 수 있다. 예를 들어 어떤 음절이 1 성조의 음절이면, [1], [2], [3] 버튼중의 하나의 버튼에 대응되는 것으로 볼 수 있고, 그 음절이 종자음이 없이 "자+모"로 이루어졌다면, 그 음절은 [1] 버튼에 연관되는 것으로 하는 것이다. 미얀마어의 모든 음절은 성조기호를 가지고 있고, 음절구성 규칙은 기계적으로 알 수 있으므로, 이를 적용하면 모든 단어에 대한 성조기준 심플코드를 기계적으로 생성해 낼 수 있는 장점이 있다.
6.3 유니크化 심플코드
심플코드의 해독이 클라이언트측에서 이루어질 수 있는 경우(즉, 클라이언트측에서 특정 어구와 그 특정어구에 해당하는 심플코드값을 가지고 있는 경우)는, 입력된 심플코드에 대응하는 어구를 서버측에 전달할 수 있다. 클라이언트측에서 심플코드를 해독할 수 있는 경우에도 어플리케이션의 성격에 따라 서버측에서 심플코드를 요하는 경우는 심플코드자체(즉, 숫자나열)를 서버측으로 전송하면된고 서버측에서 이 심플코드를 해석하면 된다. 이것이 심플코드의 해독이 클라이언트측에서 혹은 서버측에서 이루어질 수 있다고 한 것이다.
다수의 어구에 대하여 심플코드를 정의하여 사용할 경우, 동일한 심플코드에 대응되는 어구가 다수 존재할 수 있다. 이렇게 심플코드간에 발생할 수 있는 모호성을 편의상 "2차모호성"이라 한다. 이 경우 시스템내부에서는 동일한 값을 갖는 심플코드에 일련번호를 덧붙여 유일한 코드값을 만들어 저장할 수 있을 것이나, 사용자는 주로 특정 어구와 연관된 심플코드를 사용하게 되므로 2차모호성이 발생하게 된다. 이러한 경우, 그러한 어구들을 사용 우선순위에 따라 시스템이 사용자에게 추천하여 줄 수 있어야 함은 당연하다. 다른 어구이면서 동일한 심플코드를 갖는 경우, 시스템내부에서 심플코드에 어구의 사용빈도에 따른 우선순위에 따라 일련번호를 붙이므로써, 일련번호를 사용자에게 추천하여 주는 우선순위로 활용할 수 있다. 물론 반드시 일련번호를 붙여야만 하는 것은 아니고, 우선순위 정보를 시스템이 별도로 가지고 있어도 되며, 단지 그렇게 할 수 있는 예를 보인 것이다.
예를 들어, "증권정보"의 심플코드를 음절기준이니셜코드인 "9196" 과 "주권정보"의 심플코드를 역시 음절기준이니셜코드인 "9196"로 같다면 각 단어의 사용빈 도에 따라 일련번호를 붙이고 그 일련번호를 사용자에게 추천하여 주는 우선순위로 사용할 수 있다. "증권정보"의 사용빈도가 높다면 그에 우선순위를 주어 "증권정보"="91961"으로 하고, "주권정보"="91962"로 할 수 있다. 이렇게 일련번호를 덧붙여 생성된 심플코드를 편의상 "유니크化 심플코드"라 하기로 하고, 일련번호를 붙이지 않고 중복성이 있는 심플코드를 단순히 "심플코드"라 하며, 양자를 모두 포괄하여 역시 "심플코드"라 한다.
6.4 심플코드의 활용 사례
도시이름에 대하여 심플코드(음절기준이니셜코드)를 부여한 사례를 들면 다음과 같다. 이는 철도 정보시스템 등에서 유용하게 쓰일 수 있다.
. 서울 = 78, 수원 = 78, 대전 = 39, 신탄진 = 739,...
여기서 서울과 수원의 음절기준 이니셜코드가 같으므로, 시스템내에서는 이를 회피하기 위하여 연번을 붙여 "서울 = 781","수원 =782" 와 같이 심플코드를 유니크화할 수 있다. 사용자가 시스템에 "78"만을 송출하면 시스템에서는 적절하게 피드백을 주어(예를 들어 서울과 수원의 목록을 제공 혹은 음성으로 알려줌), 사용자로 하여금 서울과 수원중의 하나를 선택하도록 하면된다. 사용자가 처음부터 이를 인지하고 "781"을 입력하였다면, 시스템에서는 이를 "서울"로 인식할 수 있는 것이다.
만약 서버측 시스템에서 심플코드 "78"을 필요로하는 것이 아니고 "서울"이라는 단어 자체를 필요로 하면, 클라이언트측에서 심플코드 "78"을 해석하여 "서울"을 서버측으로 전송하면 된다. 혹은 클라이언트측에서 심플코드를 해석할 수 있 는 경우라 하더라도, 애플리케이션의 성격에 따라 서버측에서 심플코드 자체를 필요로하면, 입력된 심플코드 자체를 서버측으로 송출하면 된다.
다시 증권종목(상장회사)의 예를 들면 다음과 같다. 이는 각종 증권 정보시스템에서 유용하게 쓰일 수 있다.
. 동화제약 = 3098, 디지틀조선 = 39397, 한통프리텔 = 83643,...
여기서 예를 들어 "디지털조선"의 경우 음절기준 이니셜코드의 기초로 사용된 "ㄷ, ㅈ, ㅌ, ㅈ, ㅅ"을 부각하여 표시함으로써, 사용자에게 시각적으로 더 좋은 효과를 줄 수 있다.
은행코드의 예를 들면 다음과 같다. 이는 ATM 기 및 각종 금융 정보시스템에서 유용하게 쓰일 수 있다.
. 국민(은행) = 14, 하나(은행) = 82,...
여기서 이렇게 기 정의된 심플코드를 사용자가 입력시 클라이언트(단말기)측에서 해석하여 사용자에게 보여줌으로써 어구입력에 활용할 수 있음은 자명하다. 이를 "단축입력방법"이라 하며, 다음에 "병행입력방법"과 더불어 상세히 설명한다.
6.5 선택빈도에 따른 우선순위 자동 재지정
더 나아가 최초 "증권정보"와 "주권정보" 의 우선순위가 각각 1, 2 위로 지정되어 있었으나, 특정 사용자가 "주권정보"를 선택하는 횟수가 현저하게 많다면, "주권정보"의 우선순위를 "증권정보"의 우선순위보다 높은 것으로 조정할 수 있다. 설명한 대로 다양한 방법이 있으나 일련번호를 바꾸어 이를 실현할 수 있다. 우선순위 정보를 별도로 시스템에서 가지고 있는 경우는 그 우선순위 정보를 변경함으 로써 가능하다.
"주권정보"를 선택하는 횟수가 현저하게 많은지 여부의 판단기준은 시스템이 결정할 수도 있고, 사용자가 (재)지정할 수도 있다. 이러한 판단기준의 예를 들면, 10 회 중 8 번 이상 기 지정된 우선순위와 다르게 선택하면, 기존 우선순위를 자동으로 정정하도록 할 수 있다. 옵션에 따라 사용자에게 정정여부를 물어 확인 받을 수도 있다.
6.6 심플코드 자동지정 및 심플코드 연관 알파벳의 부각 표시
특히 전체연관 심플코드 이외에 자음연관 심플코드, 음절기준 이니셜코드, 단어기준 이니셜코드는 전술한 바와 같이 심플코드 생성에 있어서 규칙성이 있으므로, 사용자가 특정 어구에 대한 심플코드 지정시, 심플코드 생성규칙을 지정한 상태에서 특정 어구를 입력하면 그에 대응되는 심플코드를 자동으로 추출하여 시스템에 저장할 수 있다. 또한 심플코드와 연관되는 알파벳을 부각하여 표시하여 줌으로써, 사용의 편리성을 높일 수 있다. 영어의 경우 심플코드와 연관되는 알파벳을 부각하여 표시하는데, 대문자를 사용하여 부각하여 표시할 수 있다.
또한 선출원에서 "단축입력방법" 및 "단축/풀 병행입력방법"을 제시한 바 있다. 단축입력을 위한 심플코드는 시스템에서 정의하여 줄 수도 있고, 사용자가 이를 변경할 수도 있고, 또한 사용자는 새로운 어구에 대한 심플코드를 지정할 수도 있다.
새로운 어구에 대한 심플코드를 정함에 있어서, 선출원에서 소개한 전체연관심플코드, 부분연관심플코드, 자음연관심플코드, 음절기준이니셜코드, 단어기준이 니셜코드 등의 심플코드 생성규칙을 활용할 수 있다. 예를 들어, 사용자가 "dance with the wolf"에 대한 심플코드를 생성함에 있어서, 단어기준 이니셜코드를 심플코드로 사용하고자 한다면, 심플코드 생성모드에서 "dance with the wolf" 를 입력하고, 그에 대한 단어기준 이니셜코드인 "3983"를 입력하여야 한다. 마찬가지로 "증권정보"에 대한 심플코드를 생성함에 있어서, 음절기준이니셜코드를 심플코드로 사용하고자 한다면, 심플코드 생성모드에서 "증권정보" 를 입력하고, "9196"을 입력하여야 한다.
그러나 만약 사용자가 특정 어구에 대하여 심플코드를 지정함에 있어서, 사용자가 원하는 심플코드의 유형을 시스템에 기억시키고 심플코드를 생성하고자 하는 어구를 입력함으로써, 굳이 특정 어구에 대한 코드를 입력하지 않고도 심플코드가 자동적으로 지정되도록 할 수 있다. 위의 예에서 음절기준 이니셜코를 사용한다는 것을 시스템에서 설정하고, "증권정보"만 입력함으로써 "증권정보"에 대한 심플코드가 자동으로 "9196"으로 지정되도록 할 수 있는 것이다.
영어의 경우는 심플코드로 사용하고자 하는 알파벳을 부각하여 표시함에 있어서 대문자를 사용할 수 있다고 하였다. 따라서 심플코드 지정방식을 대문자를 심플코드로 사용하는 것으로 미리 지정하고, "DaTe ToNignt" 입력시 자동으로 대문자 "DTTN" 에 대응되는 "3886"이 심플코드로 지정되도록 할 수 있고 혹은 "ToNignt ShoW" 입력시 자동으로 대문자 "TNSW"에 대응되는 "8679"가 심플코드로 지정되도록 할 수 있다.
6.7 심플코드를 활용한 어구의 단축입력방법 및 병행입력방법
심플코드(이니셜코드는 심플코드의 특별한 경우이므로 특별히 따로 언급하지 않는 한 심플코드에 포함되는 것으로 함)를 입력시 시스템(클라이언트측 시스템 혹은 서버측 시스템)에서 그 심플코드에 대응되는 어구로 인식하여 처리하는 것이 가능하다. 따라서 특정 심플코드에 대응되는 어구를 인식하여 사용자에게 다시 보여주면 이를 단어의 입력에도 활용할 수 있음은 당연하다.
실제로 외국의 알파벳 입력방법에서는 단어별로 "전체연관 심플코드"를 부여한 색인을 단말기(클라이언트측 시스템)에 저장하고 있으면서, 사용자가 코드입력시 그에 대응되는 단어를 단여별 우선순위에 따라 보여주고 타겟단어를 확정할 수 있도록 함으로써 문자입력시스템을 구현하고 있다. 이에 대해서는 http://www.tegic.com 과 http://www.zicorp.com 의 두 인터넷 사이트를 참고할 수 있다. 이러한 방법을 편의상 본 발명에서는 "전체연관 단축입력방법" 혹은 "외국의 방법"이라고 하기로 한다.
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]) 중의 하나인 것이다. 입력값이 이를 위배하는 순간 시스템에서는 입력값을 심플코드로 간주하고, 그 심플코드에 대응되는 단어를 사용자에게 우선순위에 따라 추천하여 줄 수 있는 것이다. 만약 도 4-2 에 대하여 부분전체선택방법을 적용한다면, 풀코드를 형성하기 위하여 최초 [1] 버튼의 입력에 대하여 올 수 있는 다음 버튼을 [1] 또는 [2] 버튼 밖에 없다. 이를 위배하였을 경우 입력값이 풀코드가 아닌 심플코드인 것으로 판단하여 색인을 참조하여 입력값에 대응되는 타겟단어를 우선순위에 따라 사용자에게 추천하여 줄 수 있다. 도 1-3 에서과 같이, P, Q, R, S 의 4 개 알파벳이 [7] 버튼에 배정되는 경우, 선출원에서 지적한 바와 같이 4 개의 알파벳 중 하나의 알파벳을 상하인접조합을 이루는 격자에 배치할 수 있으며, 이 경우에도 하나의 알파벳을 위한 풀코드를 이루기 위하여 [7] 버튼이 입력되면 다음에 올 수 있는 버튼은 3 번째 행의 버튼([7], [8], [9]) 혹은 상하인접조합의 버튼([4] 버튼)만이 올 수 있으므로, 이에 위배되는 경우 입력값을 심플코드로 처리할 수 있다. 이는 선출원에서 제시한 부분전체선택방법을 적용하는 경우에 모든 언어에 대하여 적용가능하다.
도 4-5 의 경우는 버튼당 기본자음이 하나씩만 배정되어 있으므로, 한국어에서 범용하게 사용할 수 있는 음절기준 이니셜코드를 심플코드로 사용할 경우, 단축입력방법과 풀입력방법을 병행하여 적용시에도 3 차 모호성 없이 입력이 가능한 좋은 특성이 있다. 즉 병행입력방법 적용시 사용자가 음절기준 이니셜코드를 입력하면, 2 번째 입력(경음, 격음을 컨트롤처리방법에 의하여 입력할 경우)부터 입력값이 풀코드를 이룰 수 없게 되므로, 심플코드의 색인을 검색하여 우선순위에 따른 적절한 단어를 사용자에게 추천하여 줄 수 있는 것이다. 풀코드 입력의 경우도 같다.
위에서 예를 든 바와 같이, 병행입력방법 적용시 입력중간에 입력값이 심플코드인지 풀코드인지 판단할 수 있는 것이 본 발명의 "핵심"중의 하나이다. 이는 출원인이 제시한 풀입력방법을 사용하는 경우 뿐만이 아니라 다른 풀입력방법을 사 용하는 경우에도 적용된다. 특히 출원인이 제시한 풀입력방법은 위에 예시에서와 같이 병행입력방법 적용시 입력값이 풀코드를 이루는지를 입력중간에도 쉽게 알 수 있는 좋은 특성이 있다.
또한 출원인의 선출원에서 언급한 바와 같이 심플코드 혹은 풀코드를 해석하는 것은 클라이언트측에서 일어날 수도 있고, 서버측에서 일어날 수도 있다. 그리고 선출원에서 1 차모호성(알파벳 모호성)을 극복하기 위한 색인을 룩업하는데 있어서, 1 차적으로 클라이언트측의 색인을 참조하여 2 차적으로 서버측 색인을 참조하는 시나리오를 심플코드 혹은 풀코드를 해석하는데 있어서도 적용할 수 있다. 반대로 1 차적으로 서버측 색인을 참조하고, 2 차적으로 클라이언트측 색인을 참조하는 것도 가능하다. 또한 더 나아가 입력값을 먼저 심플코드로 해석하되, 1 차적으로 클라이언트 측의 색인을 참조하고, 2 차적으로 서버측 색인을 참조하며, 입력값에 대한 심플코드를 검색하지 못하면, 다시 풀코드로 해석하되, 1 차적으로 클라이언트 측에서 해석하고, 클라이언트측에 이러한 해석기능이 없으면, 2 차적으로 서버측에서 해석하는 것이 가능하다. 다른 예로 입력값을 1 차적으로 심플코드로 해석하되, 클라이언트측의 색인과 서버측의 색인을 모두 참조하여, 사용자에게 제공하고 타겟단어를 사용자로 하여금 선택하도록 하는 것도 가능하다. 이와 같이 해석방법(심플코드, 풀코드)과 해석장소(클라이언트측, 서버측)를 적용함에 있어서 이와 유사한 변형이 가능하다. 즉 정리하면, 해석방법(심플코드, 풀코드)과 해석장소(클라이언트측, 서버측)의 적용에 있어서 다양한 조합이 가능하다는 것이다.
이렇게 단축입력방법과 풀입력방법을 병행하여 적용하는 장점은 다음과 같 다. 우선 풀입력방법을 사용할 수 있으므로 사용자는 기 정의된 단어 이외의 사전에 존재하지 않는 단어라도 모든 단어를 입력할 수 있으며, 상용어구에 대하여 단축입력방법의 사용을 위한 심플코드를 편의대로(부분연관/전체연관) 지정할 수 있고, 부분연관 심플코드를 지정하여 둠으로써 입력타수를 대폭 줄일 수 있다. 그리고 단어에 대해서 뿐만 아니라 구절에 대해서도 단어기준 이니셜코드를 부여할 수 있는 장점이 있다. 그러나 외국의 방법에서는 모든 단어의 입력에 단어단위의 색인을 이용한 방법을 사용하므로, 서로 다른 단어에 대하여 같은 코드가 부여되는 경우를 최소화 하기 위하여 전체연관 심플코드를 사용할 수 밖에 없었다.
또한 시스템이 특정 상용어구와 그 상용어구에 대한 코드값을 가지고 있는 "색인"을 가지고 있어야 하는데, 모든 단어에 대한 "색인"을 가지고 있는 외국의 방법에서 보다 훨씬 더 적은 용량의 저장장소를 필요로 한다. 그리고 이 "색인"은 모호성을 없애기 위하여 모호성이 발생할 수 있는 단어에 대하여 올바른 단어에 대한 "색인" 혹은 그른 단어에 대한 "색인"을 시스템에서 가지고 있어야 하는데, 이 모호성을 없애기 위하여 준비하는 색인과 공동으로 사용될 수 있다.
모든 언어에 있어서 특정 단어의 음가를 가지고 있는 것은 자음이므로 자음을 추출하여 약어를 만드는 기법은 이미 널리 사용되고 있었다. 영어의 경우 예를 들면, 군대용어중 "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 단계 혹은 그 이상 단계로 트리형태의 그룹핑이 가능하다. 사용자가(혹은 시스템이) 심플코드의 검색범위를 상장회사명 그룹으로 한정하면, 특정 심플코드 입력시 시스템은 상장회사명 그룹의 범주에서만 입력된 심플코드에 대응되는 네이밍된 어구를 검색하므로 2 차모호성을 감소시킬 수 있다. 마찬가지로 검색범위를 상용어구로 하면 상용어구 그룹이하의 모든 세부그룹을 포함하여 검색범위로 되도록 할 수 있다. 만약 상용어구 그룹중 사회분야 그룹을 검색범위로 지정하면, 사회분야를 포함하는 그 이하(트리형태의 그룹구조에서)의 그룹만이 검색범위로 될 것이다.
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(*), sharp(#), dollar($), 원화기호(W+=), 엔화기호(¥),..., heart1(♡), 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.4.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.5 계산기모드에서 가감승제 버튼으로의 활용 사례
4 개의 이동버튼은 그 위치에 상관없이 계산기모드에서 가장 빈번하게 쓰이는 가감승제(+, -, x, /) 버튼으로 유용하게 사용될 수 있다. 가감승제 기호를 버튼에 표기할 수도 있으나, 알파벳입력에 비하여 게산기는 자주사용되지 않을 것이므로 버튼에 표기하지 않을 수도 있다. 알파벳입력모드에서는 각 버튼이 이동버튼 혹은 컨트롤버튼으로 사용될 것이기 때문이다.
또한 계산기에서 쓰일 수 있는 연산자를 가감승제버튼에 두고 (은닉형) 반복선택방법에 의하여 선택하도록 하는 것이 가능하다. 계산기모드에서 자주사용되는 연산자(이항연산자)는 반복하여 출현하지 않는 성질을 이용한 것이다. 예를 들어 2++1 이라는 계산은 있을 수 없다. 또한 24 은 2xx4 로 풀어 승(x)버튼을 반복하여 누름으로써 "제곱"연산자를 선택하도록 할 수 있다. 즉 승(x)버튼에 후속연산자로 제곱(xx)연산자가 있는 것으로 하여 반복선택하는 것과 같다. 마찬가지로
Figure 112006003387630-pat00036
(√3)은 3//2 로 풀어 제(/)버튼을 반복하여 누름으로써 "제곱근"연산자를 선택하도록 할 수 있다. 이외의 이항연산자는 중복하여 출현하지 않으므로 적절한 가감승제버튼에 속한 후속연산자로 두고 후속연산자를 반복선택방법에 의하여 선택하도록 할 수 있다.
상하좌우 이동버튼 중 3 개의 버튼에 가감제(+, -, /) 연산자를 두고 승(x) 연산자는 [*] 버튼을 이용할 수도 있다.
9. 도움기능 활성화
여기서 각각의 입력모드에서 버튼(상/하/좌/우)에 표시되지 않은 기능을 스크린(액정)에 표시하여 사용의 편리를 더할 수 있다. 이 경우 액정의 일부를 소모하는 단점이 있는데, 물론 각 연산자버튼의 기능을 숫지하고 있는 사용자는 굳이 액정의 공간을 소비하면서 이를 표시되도록 할 필요가 없으나 그렇지 못한 사용자에게는 많은 도움이 될 수 있다. 도 8-1 을 참고할 수 있으며, 도 9-1 은 도 8-4 와 같이 상하좌우버튼이 4*3 키패드의 오른쪽에 배치된 경우를 가정하여, 유사한 형태로 배치한 경우의 예이다.
이렇게 사용자의 편의와 의도에 따라 버튼의 기능(즉 버튼에 할당된 연산자 혹은 각 버튼에 연관된 기호그룹)을 표시하여 주는 것을 편의상 "도움기능 활성화"라고 한다. 도움기능 활성화는 각각의 모드(예. 알파벳입력모드, 계산기모드)에 대해서 이루어질 수도 있고, 각 모드에서 필요기능에 대해서(예. 알파벳입력모드에서 기호그룹에 연관된 숫자버튼 혹은 컨트롤버튼의 용도) 이루어질 수도 있다.
마찬가지로 선출원에서 제시하였던 컨트롤버튼의 기능 혹은 기호그룹과 연관되는 숫자버튼 역시 사용자가 필요로 할 경우 액정에 표시하여 줌으로써 사용자의 편리를 도모할 수 있다. 도 9-2 을 참고한다. 도 9-2 는 앞에서 예시한 기호그룹분류에 의거하여 각 기호그룹에 연관되는 숫자버튼을 아이콘화하여 액정에 표시한 예이다. 각 숫자버튼에 연관된 기호그룹의 기호중 편의상 첫번째로 선태되는 기호만을 숫자버튼 아이콘에 부기한 것이다.
10. 삭제버튼 활용방법
삭제버튼을 활용함에 있어서 이를 선출원에서 소개한 "최종입력취소"로 활용 할 수 있다. 예를 들어 도 4-5에서 "ㄱ"을 입력하려다, [1]+[*]을 입력하여 "ㅋ"을 입력하였는데 삭제버튼을 눌러서 최종입력([*])을 취소함으로써 "ㄱ" 으로 환원시킬 수 있는 것이다. 이는 컨트롤버튼을 반복적으로 눌러서 후속알파벳을 입력하는 경우에 유용하게 사용될 수 있다. 취소버튼을 연속하여 누르는 경우는 통상의 방법대로 이미 알려진 알파벳이 삭제되도록하면 된다. 예를 들어 "가나ㅋ"을 입력한 상태에서 취소버튼을 1 번 누르면 "가나ㄱ"이 되고, 한번 더 누르면, "가나"가 되고, 또 한번 더 누르면, "가" 가 된다. 로마자의 경우 "aba.."을 입력한 상태(마지막의 "a.."은 "..+a"로 이루어진 변형알파벳)에서 삭제버튼을 한번 누르면 "aba"가 되고, 한번 더 누르면 "ab"가 되고, 또 한번 누르면 "a"가 되는 것이다. 즉 이미 형성된 알파벳에 대해서는 알파벳단위로 삭제되는 것이다.
11. 키보드의 숫자키패드와 전화단말기에서의 키패드의 통일화
선출원 및 본 발명에서 제시한 키패드는 이동단말기 혹은 표준키보드의 숫자키패드 혹은 스크린상에 소프트웨어적으로 구성되는 키패드 혹은 도어록 등 전화기자판 형태의 모든 분야에 응용될 수 있음은 자명하다. 또한 표준키보드에 구비된 숫자키패드는 선출원 및 본발명에서 제시한 키패드와 숫자 버튼의 배치가 다르나, 선출원 및 본 발명에서의 키패드 버튼상의 배치를 키보드에 구비된 키패드에도 적용할 수 있음은 자명하다. 예를 들어 선출원 및 본 발명에서 [1] 버튼에 배치된 알파벳을 키보드에 구비된 숫자 키패드의 [1] 버튼에 배치하고, 이하 마찬가지 방법으로 배치하여 알파벳입력, 심플코드의 활용 및 각종 코드의 암기용으로 활용할 수 있다.
그러나 혼동을 줄이고 사용의 편리를 더하기 위하여, 키보드의 숫자키패드를 구성함에 있어서, 전화기 키패드의 숫자배치를 활용할 수 있다. 즉 키보드의 숫자키패드의 숫자배열에 있어서, 전화기의 키패드에서와 같이 제 1 행의 버튼에 [1], [2], [3] 버튼을 두고, 2 행의 버튼에 [4], [5], [6] 버튼을 두고, 3 행의 버튼에 [7], [8], [9] 버튼을 두는 것이다. 더불어 전화기의 키패드에서와 같이 [*] 버튼과 [#] 버튼을 둘 수도 있다.
본 발명을 통해서 키패드에서 알파벳을 효율적으로 입력할 수 있도록 한다. 각종 기호를 은닉형 컨트롤처리방법으로 입력할 수 있도록 함으로써, 간결한 키패드를 유지할 수 있다.
또한 키패드상 배치된 알파벳과 숫자의 대응관계를 이용하여 심플코드를 생성할 수 있고, 이 심플코드를 통해서 단축입력방법을 실현할 수 있으며, 더불어 병행입력방법을 적용하면 적은 타수로도 원하는 알파벳 및 어구를 모두 입력할 수 있다.
심플코드를 해석하는 중계서버를 두면, 3 차서버측에서는 심플코드가 아닌 어구를 필요로 하는 경우에도, 사용자가 심플코드를 입력하고, 3 차서버측에서 심플코드와 심플코드에 대응되는 어구를 저장하고 있지 않아도, 중계서버가 사용자로부터 입력된 심플코드를 중계서버가 해석하여 심플코드에 대응되는 어구를 3 차서버측에 전달해 주는 것이 가능하다.

Claims (6)

  1. 입력하고자 하는 글자('문자', '자모', '수학연산자' 포함함) 또는 "단어 또는 구절(이하 '어구'로 칭함)" (이하 통틀어 '글자')을 인식하는 방법에 있어서,
    (a) 키패드에서 입력값을 받아들이는 단계 (여기서 키패드는 최소한 숫자버튼과 "상/하/좌/우" 이동버튼을 구비하고 있음);
    (b) "더하기(+)/빼기(-)/곱하기(×)/나누기(÷ or /)" 연산자 중의 하나가 "상/하/좌/우" 이동버튼 중의 어느 하나의 이동버튼 눌러짐에 의하여 인식되는 단계
    로 이루어진 것을 특징으로 하는 키패드에서의 연산자 인식 방법
  2. 제1항에 있어서,
    상기 인식되는 하나의 연산자를 포함하여, 각각의 "더하기(+)/ 빼기(-)/ 곱하기(×)/ 나누기(÷ or /)" 연산자는 임의의 순서로 각각의 "상/하/좌/우" 이동버튼의 눌러짐에 의하여 인식되는 것을 특징으로 하는 키패드에서의 연산자 인식 방법
  3. 제1항 또는 제2항에 있어서,
    상기 연산자를 나타내는 부호가 액정 디스플레이장치 상에 아이콘化되어 보조적으로 표시되는 것을 특징으로 하는 키패드에서의 연산자 인식 방법
  4. 입력하고자 하는 글자('문자', '자모', '수학연산자' 포함함) 또는 "단어 또는 구절(이하 '어구'로 칭함)" (이하 통틀어 '글자')을 인식하는 장치에 있어서,
    (a) 입력값을 받아들이는 키패드 (여기서 키패드는 최소한 숫자버튼과 "상/하/좌/우" 이동버튼을 구비하고 있음);
    (b) "더하기(+)/빼기(-)/곱하기(×)/나누기(÷ or /)" 연산자 중의 하나가 "상/하/좌/우" 이동버튼 중의 어느 하나의 이동버튼 눌러짐에 의하여 인식되는 이동버튼
    으로 이루어진 것을 특징으로 하는 키패드에서의 연산자 인식 장치
  5. 제4항에 있어서,
    상기 인식되는 하나의 연산자를 포함하여, 각각의 "더하기(+)/ 빼기(-)/ 곱하기(×)/ 나누기(÷ or /)" 연산자는 임의의 순서로 각각의 "상/하/좌/우" 이동버튼의 눌러짐에 의하여 인식되는 것을 특징으로 하는 키패드에서의 연산자 인식 장치
  6. 제4항 또는 제5항에 있어서,
    상기 연산자를 나타내는 부호가 액정 디스플레이장치 상에 아이콘化되어 보조적으로 표시되는 것을 특징으로 하는 키패드에서의 연산자 인식 장치
KR1020060004999A 2001-01-08 2006-01-17 키패드에서의 알파벳 입력장치 및 그 방법 KR100680579B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020010000891 2001-01-08
KR20010000891 2001-01-08

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020050027885A Division KR100655720B1 (ko) 2005-04-04 2005-04-04 키패드에서의 알파벳 입력장치 및 그 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR2020060001891U Division KR200419298Y1 (ko) 2001-01-08 2006-01-20 키패드에서의 알파벳 입력장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20060017897A KR20060017897A (ko) 2006-02-27
KR100680579B1 true KR100680579B1 (ko) 2007-02-15

Family

ID=37125649

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060004999A KR100680579B1 (ko) 2001-01-08 2006-01-17 키패드에서의 알파벳 입력장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100680579B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101284771B1 (ko) * 2011-09-21 2013-07-17 김호성 휴대용 단말기에서 문자 입력을 위한 장치 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980014350A (ko) * 1996-08-10 1998-05-25 오래현 전자파를 이용하는 활수기
KR19990036989A (ko) * 1997-10-10 1999-05-25 모토로라, 인크 문자 입력의 최적화를 위한 통신 장치 및키패드
KR19990081180A (ko) * 1998-04-27 1999-11-15 김경덕 문자 입력이 가능한 키패드
KR20000050433A (ko) * 1999-01-08 2000-08-05 박성찬 전화기 키패드 및 이를 이용한 문자입력시스템
KR20010020973A (ko) * 1999-06-09 2001-03-15 김민겸 소형 키패드에서의 알파벳 입력장치 및 그 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980014350A (ko) * 1996-08-10 1998-05-25 오래현 전자파를 이용하는 활수기
KR19990036989A (ko) * 1997-10-10 1999-05-25 모토로라, 인크 문자 입력의 최적화를 위한 통신 장치 및키패드
KR19990081180A (ko) * 1998-04-27 1999-11-15 김경덕 문자 입력이 가능한 키패드
KR20000050433A (ko) * 1999-01-08 2000-08-05 박성찬 전화기 키패드 및 이를 이용한 문자입력시스템
KR20010020973A (ko) * 1999-06-09 2001-03-15 김민겸 소형 키패드에서의 알파벳 입력장치 및 그 방법

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
1019990036989
1019990081180
1020000050433
1020010020973
2019980014350

Also Published As

Publication number Publication date
KR20060017897A (ko) 2006-02-27

Similar Documents

Publication Publication Date Title
KR101377763B1 (ko) 반복선택방법에서 길게누름에 의하여 초성자음이 인식되어 동일버튼에 연관 또는 배열된 자음의 연속입력이 가능한 키패드에서의 한국어 입력방법 및 그 장치
KR100655720B1 (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR100680579B1 (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR100981866B1 (ko) 자음버튼 눌러짐과 [ㅡ]버튼 또는 [ㅣ]버튼의 두번 연속눌러짐에 의한 한국어 입력 방법 및 그 장치
KR101377892B1 (ko) 단어 또는 구절의 일부를 각각 풀입력방법 및 단축입력방법으로 처리하는 키패드에서의 한국어 입력방법
KR20010083120A (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR101637128B1 (ko) 자음의 입력과 [ㅡ] 또는 [ㅣ] 중 하나의 버튼 2번 누름에 의한 키패드에서의 한국어 글자 입력방법 및 그 장치
KR100855410B1 (ko) 키패드에서의 한국어를 포함한 글자 입력방법
KR20190051903A (ko) 키패드에서의 수학 연산자 입력 방법 및 그 장치
KR20180011305A (ko) 키패드에서의 수학 연산자 입력 방법 및 그 장치
KR100625357B1 (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR20170073570A (ko) 키패드에서의 수학 연산자 입력 방법 및 그 장치
KR20170020395A (ko) 키패드에서의 수학 연산자 입력 방법 및 그 장치
KR20160138942A (ko) 키패드에서의 수학 연산자 입력 방법 및 그 장치
KR20160036534A (ko) 키패드에서의 수학 연산자 입력 방법 및 그 장치
KR20150020230A (ko) 키패드에서의 수학 연산자 입력 방법 및 그 장치
KR200419298Y1 (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR20140053084A (ko) 키패드에서의 수학 연산자 입력 방법 및 그 장치
KR20130131275A (ko) 키패드에서의 수학 연산자 입력 방법 및 그 장치
KR100848727B1 (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR20130059372A (ko) 키패드에서의 수학 연산자 입력 방법 및 그 장치
KR20210025028A (ko) 키패드에서의 수학 연산자 입력 방법 및 그 장치
KR20060017898A (ko) 키패드에서의 알파벳 입력장치 및 그 방법
KR20200102387A (ko) 키패드에서의 수학 연산자 입력 방법 및 그 장치
KR20200015436A (ko) 키패드에서의 수학 연산자 입력 방법 및 그 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130204

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140125

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150202

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160201

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170202

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180202

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee