KR20100067629A - 입력 순서와 무관한 문자 입력 메커니즘을 제공하는 방법, 기기 및 컴퓨터 프로그램 제품 - Google Patents

입력 순서와 무관한 문자 입력 메커니즘을 제공하는 방법, 기기 및 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR20100067629A
KR20100067629A KR1020090122367A KR20090122367A KR20100067629A KR 20100067629 A KR20100067629 A KR 20100067629A KR 1020090122367 A KR1020090122367 A KR 1020090122367A KR 20090122367 A KR20090122367 A KR 20090122367A KR 20100067629 A KR20100067629 A KR 20100067629A
Authority
KR
South Korea
Prior art keywords
character
input
component
candidate
receiving
Prior art date
Application number
KR1020090122367A
Other languages
English (en)
Other versions
KR101130206B1 (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 KR20100067629A publication Critical patent/KR20100067629A/ko
Application granted granted Critical
Publication of KR101130206B1 publication Critical patent/KR101130206B1/ko

Links

Images

Classifications

    • 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
    • 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/018Input/output arrangements for oriental characters
    • 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
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Document Processing Apparatus (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)
  • Machine Translation (AREA)

Abstract

입력 순서와 무관한 문자 입력 메커니즘을 제공하는 기기는 프로세서를 포함할 수 있다. 프로세서는, 기입되고 있는 문자의 일부에 해당하는 구성요소를 포함한 입력을 수신함에 있어, 구성요소에 해당하는 문자의 일부에 기초하여 구성요소를 입력하는 순서와 무관하게 입력을 수신하도록 구성되고, 입력 수신은 적어도 하나의 어근을 수신하는 것에 해당한다. 프로세서는 또한, 수신된 구성요소에 적어도 일부 기초하여, 기입되고 있는 문자의 적어도 한 후보 문자를 검색하도록 구성될 수 있다. 프로세서는 적어도 한 후보 문자를 포함하는 후보 문자들의 선택옵션 (selection)을 사용자에게 제공하도록 구성될 수도 있다. 관련 방법 및 컴퓨터 프로그램 제품들도 제안될 수 있다.

Description

입력 순서와 무관한 문자 입력 메커니즘을 제공하는 방법, 기기 및 컴퓨터 프로그램 제품 {Method, apparatus and computer program product for providing an input order independent character input mechanism}
본 발명의 실시예들은 일반적으로 사용자 인터페이스 기술에 관한 것으로, 보다 상세히 말하면 입력 순서와 무관한 문자 입력 메커니즘을 제공하는 방법, 기기 및 컴퓨터 프로그램 제품에 관한 것이다.
요즘과 같은 통신의 시대가 유무선 네트워크들의 어마어마한 확장을 초래하고 있다. 컴퓨터 네트워크들, 텔레비전 네트워크들, 및 전화통신 네트워크들이 소비자의 수요에 탄력을 받아 전례없는 기술적 발전을 경험하고 있다. 무선 및 모바일 네트워킹 기술들은 관련된 소비자 수요에 초점을 맞추면서 동시에 정보 전달에 대한 더 많은 융통성과 긴급성을 지원하고 있다.
현재와 미래의 네트워킹 기술들은 정보 전달의 용이성과 사용자들에 대한 편의를 지속적으로 도모한다. 정보 전달의 용이성을 개선하라는 수요가 존재하는 한 영역은, 사용자가 요망하는 통신이나 미디어 어플리케이션들, 가령 단문 메시지들, 전자북, 이메일, 컨텐츠 공유, 웹 브라우징, 뮤직 플레이어, 게임기 등등과 같은 것에 관한 사용자 인터페이스의 사용성과 관련이 있다.
사용자 인터페이스는 장치에서의 사용자 입력 수신과 사용자에게로의 출력 제공을 가능하게 하기 위해 주어질 수 있다. 사용자 인터페이스는 텍스트 입력을 위해, 그리고 명령들, 옵션들, 핫스팟들 (hotspots) 등의 선택을 위해, 그리고 수 많은 다른 기능들을 위해 사용될 수 있다. 통상의 사용자 인터페이스는 문자 입력 (character entry)을 제공하기 위해 눌러지거나 선택될 수 있는 키들을 포함하는 키보드나 키패드를 포함할 수 있다. 키보드는 소정의 기능이 결부된 복수의 키들로서 기계적으로 구현되거나, (가령, 마우스나 스크롤 키로 선택될 수 있는 키들을 가진 디스플레이 상에 연출된 터치 스크린이나 키보드를 통해) 소프트웨어로써 구현될 수 있다. 그러나, 장치의 사이즈가 실질적 혹은 개인적 이유로 제한될 수 있는 어떤 전자 장치들에 대해, 터치 스크린이 사용되든, 연출된 키보드가 사용되든, 물리적 키보드가 사용되든 관계없이, 텍스트 입력을 효율적이거나 신속한 방식으로 지원하는 것은 어려울 것이며, 특히 아시아계 문자들 및 기타 다른 종류의 복잡한 문자들의 입력과 관련해 그러할 수 있다. 따라서, 문자 입력 메커니즘에 대한 개선이 요망될 수 있다.
본 발명의 목적은 입력 순서와 무관한 문자 입력 메커니즘을 제공할 수 있는 방법, 기기 및 컴퓨터 프로그램 제품을 제공하는 데 있다.
입력 순서와 무관한 문자 입력 메커니즘의 제공을 가능하게 하는 일 실시예에 따른 방법, 기기 및 컴퓨터 프로그램 제품이 제안된다. 이와 관련해, 본 발명의 어떤 실시예들은 문자 구성요소들의 순서 (가령, 입력 순서)에 좌우되지 않는 문자 입력 메커니즘을 제공할 것이다. 예를 들어, 본 발명의 어떤 실시예들은, 문자들의 완성형에 대한 후보들을 제공하고, 이를 위해 적어도 한 구성요소가 문자 완성을 위해 그 구성요소를 기입하는 일반적이거나 미리 정해진 순서와 무관하게 입력되게 될 수 있다. 그에 따라, 사용자는 더 이상 한 문자의 구성요소들을 입력하는 순서를 기억 또는 암기할 필요가 없게 될 것이다. 제공되는 후보들은 사용 빈도에 따라 (가령, 단문 메시지들 같은 텍스트 입력 어플리케이션들에서의 사용 빈도에 대한 내림 차순으로) 정렬될 수 있다. 따라서, 문자의 추가 구성요소들이 입력되면서, 후보 문자들의 선택옵션 (selection)이 조정될 수 있고, 그로써, 그 문자가 제공된 후 후보들 사이에서 선택될 가능성 (가령, 확률)이 높아질 수 있다. 따라서, 본 발명의 실시예들은, 문자들을 입력할 때 문자 구성요소들을 입력하거나 기입하는 순서가 엄격히 고수될 필요가 없기 때문에, 문자들의 입력과 관련해 기존의 스트로크 (stroke) 입력 방식들에 비해 개선된 점들 (가령, 입력 이벤트의 회 수, 속도, 효율성, 용이성, 기타 등등)을 제공할 수 있다.
본 출원의 실시예들은 또한 스타일러스 (stylus), 펜, 연필 또는 스타일러스 (가령, 손가락)로서 기능할 전용 도구를 대신할 수 있는 다른 포인팅 장치와 함께 사용될 수 있는 터치 스크린 장치를 제공할 수 있다. 이 터치 스크린 장치는 문자 입력 키 누르기에 대한 인식을 촉진할 수 있으며, 그에 따라 본 발명의 실시예들은 (터치 스크린과 한 손가락의 인터랙션 등을 통한) 한 손 사용 문자 입력을 가능하게 할 수 있다. 따라서, 문자들의 입력시 UE (user experience)가 향상될 수 있다.
한 전형적 실시예에서, 입력 순서와 무관한 문자 입력 메커니즘을 제공하는 방법이 제안된다. 이 방법은 기입되고 있는 한 문자의 일부에 해당하는 구성요소를 포함한 입력을 수신함에 있어, 상기 구성요소에 해당하는 상기 문자의 일부에 기반한 상기 구성요소 입력 순서와 무관하게 수신하는 단계, 상기 수신된 구성요소에 적어도 일부 기반하여, 기입되고 있는 상기 문자의 적어도 한 후보 문자를 검색하는 단계, 및 상기 적어도 한 후보 문자를 포함하는 후보 문자들의 선택옵션을 사용자에게 제공하는 단계를 포함하고, 상기 입력을 수신하는 단계는 적어도 하나의 어근을 수신하는 단계를 포함한다.
또 다른 전형적 실시예에서, 입력 순서와 무관한 문자 입력 메커니즘을 제공하는 컴퓨터 프로그램 제품이 제안된다. 이 컴퓨터 프로그램 제품은 컴퓨터 실행가능 프로그램 코드 명령들이 저장된 적어도 한 개의 컴퓨터 판독가능 저장 매체를 포함한다. 컴퓨터 실행가능 프로그램 코드 명령들은, 기입되고 있는 한 문자의 일 부에 해당하는 구성요소를 포함한 입력을 수신함에 있어, 상기 구성요소에 해당하는 상기 문자의 일부에 기반한 상기 구성요소 입력 순서와 무관하게 수신하도록 하는 프로그램 코드 명령들, 상기 수신된 구성요소에 적어도 일부 기반하여, 상기 기입되고 있는 문자의 적어도 한 후보 문자를 검색하도록 하는 프로그램 코드 명령들, 및 상기 적어도 한 후보 문자를 포함하는 후보 문자들의 선택옵션을 제공하도록 하는 프로그램 코드 명령들을 포함하고, 상기 입력을 수신하는 프로그램 코드 명령들은 적어도 하나의 어근을 수신하기 위한 프로그램 코드 명령들을 포함한다.
또 다른 전형적 실시예에서, 입력 순서와 무관한 문자 입력 메커니즘을 제공하기 위한 기기가 제안된다. 이 기기는 프로세서를 포함할 수 있다. 프로세서는 기입되고 있는 한 문자의 일부에 해당하는 구성요소를 포함한 입력을 수신함에 있어, 상기 구성요소에 해당하는 상기 문자의 일부에 기반한 상기 구성요소 입력 순서와 무관하게 수신하고; 상기 수신된 구성요소에 적어도 일부 기반하여, 입력되고 있는 상기 문자의 적어도 한 후보 문자를 검색하고; 적어도 한 후보 문자를 포함하는 후보 문자들의 선택옵션을 사용자에게 제공하도록 구성되고, 상기 입력을 수신하는 기능은 적어도 한 어근을 수신하는 기능을 포함한다.
또 다른 전형적 실시예에서, 입력 순서와 무관한 문자 입력 메커니즘을 제공하기 위한 기기가 제안된다. 이 기기는 기입되고 있는 한 문자의 일부에 해당하는 구성요소를 포함한 입력을 수신함에 있어, 상기 구성요소에 해당하는 상기 문자의 일부에 기반한 상기 구성요소 입력 순서와 무관하게 수신하는 수단; 상기 수신된 구성요소에 적어도 일부 기반하여, 입력되고 있는 상기 문자의 적어도 한 후보 문 자를 검색하는 수단; 적어도 한 후보 문자를 포함하는 후보 문자들의 선택옵션을 사용자에게 제공하는 수단을 포함할 수 있고, 상기 입력을 수신하는 기능은 적어도 한 어근을 수신하는 기능을 포함한다.
본 발명의 실시예들은 각종 매체와 관련된 콘텐츠 아이템들을 표현할 수 있는 모바일 단말 같은 모바일 환경, 및 고정 환경하에서 사용하기 위한 방법, 기기 및 컴퓨터 프로그램 제품을 제공할 수 있다. 결과적으로, 사용자들은 통신할 문자 및/또는 텍스트를 입력하는 향상된 기능, 직무활동 성과물 생성 (work product generation), 오락, 교육적이거나 다른 목적들, 및 상응하는 개선된 사용자 인터페이스 사양 등을 향유할 수 있다.
본 발명의 입력 순서와 무관한 문자 입력 메커니즘을 제공할 수 있는 방법, 기기 및 컴퓨터 프로그램 제품에 의해, 효율적이고도 신속한 텍스트 입력과 같은 개선된 문자 입력 메커니즘이 기기 안에서 구현될 수 있다.
지금부터 본 발명의 일부 실시예들이, 본 발명의 실시예들 전부가 아닌 일부만이 도시되어 있는 첨부된 도면들을 참조해 상세히 설명될 것이다. 실제로, 본 발명의 다양한 실시예들은 수많은 상이한 형식으로 구현될 수 있으며 여기 개시된 실시예들에 국한되는 것으로 해석되어서는 안 될 것이다; 다만 그 실시예들은 명세서 상에 개시된 내용이 출원 가능한 법률적 요건을 충족할 수 있도록 주어진 것일 뿐이다. 명세서 전체에 걸쳐 동일한 참조 부호들은 동일한 구성요소들을 의미한 다. 여기 사용되는 용어들인 "데이터", "콘텐츠", "정보" 및 그 유사 용어들은 본 발명의 실시예들에 따라 전송, 수신 및/또는 저장될 수 있는 데이터를 가리키기 위해 혼용하여 사용될 수 있다. 또한, 여기 사용된 "전형적인"이라는 말은 어떤 질적 평가를 표현하고자 하는 것이 아니라 단지 한 예에 대한 실례를 나타내기 위한 것으로서 언급된다. 따라서, 그러한 용어들의 사용이 본 발명의 실시예들의 개념과 범주를 제한하는 것으로 간주되어서는 안 될 것이다.
도 1은 본 발명의 실시예들로부터 이익을 향유할 수 있는 모바일 단말(10)의 블록도를 예시한 것이다. 그러나, 여기 예시되어 지금부터 설명될 모바일 단말은 다만 본 발명의 실시예들로부터 이익을 향유할 수 있는 장치의 한 종류를 나타내는 것일 뿐이므로, 본 발명의 실시예들의 범위를 제한하는 것으로 간주되어서는 안 될 것이다. 모바일 단말(10)의 일 실시예가 도시되어 이제부터 본보기용으로 설명되겠지만, PDA (portable digital assistants), 페이저 (pager), 모바일 컴퓨터, 모바일 텔레비전, 게임기, 랩탑 컴퓨터, 카메라, 비디오 레코더, GPS (global positioning system) 장치, 모바일 전화기, 지금까지 나열한 것들의 어떤 조합형 장치 및/또는 다른 종류의 음성 및 텍스트 통신 시스템같은 다른 종류의 모바일 단말들 역시 본 발명의 실시예들을 용이하게 이용할 수 있다. 또, 모바일이 아닌 장치들 역시 본 발명의 실시예들을 쉽게 이용할 수 있을 것이다.
또한, 본 발명의 방법에 대한 서너 가지 실시예들이 모바일 단말(10)에 의해 수행되거나 활용되고 있지만, 그 방법이 모바일 단말이 아닌 다른 것에 의해 활용될 수도 있을 것이다. 또, 본 발명의 실시예들의 시스템 및 방법은 기본적으로 모 바일 통신 어플리케이션들과 연계하여 설명될 것이다. 그러나 본 발명의 실시예들의 시스템 및 방법은 다른 각종 어플리케이션들과 함께 모바일 통신 산업 안팎 모두에서 활용될 수 있다는 것을 알아야 한다.
모바일 단말(10)은 송신기(14) 및 수신기(16)와 통신 가능한 안테나(12) (또는 다중 안테나들)을 포함할 수 있다. 모바일 단말(10)은 송신기(14)로 신호를 제공하고 수신기(16)로부터 신호들을 수신할 수 있는, 제어기(20) 또는 기타 프로세싱 요소 같은 장치를 더 포함할 수 있다. 그 신호들은 적용가능한 셀룰라 시스템의 전파 공간 인터페이스 표준에 따른 시그날링 정보를 포함할 수 있고/있거나 또한 스피치, 수신된 데이터 및/또는 사용자 생성/송신 데이터에 해당하는 데이터를 포함할 수도 있다. 이와 관련해, 모바일 단말(10)은 하나 이상의 전파 공간 인터페이스 표준, 통신 프로토콜, 변조 타입, 및 액세스 타입을 가지고 동작할 수 있다. 대안으로서 (혹은 추가적으로), 모바일 단말(10)이 비셀룰라 통신 메커니즘에 따라 동작할 수도 있다. 예를 들어, 모바일 단말(10)은 무선 랜 (WLAN, wireless local area network)이나 기타 통신 네트워크들 안에서 통신할 수 있다.
제어기(20)는 다른 무엇보다 모바일 단말(10)의 오디오 및 로직 기능들을 구현하는 회로를 포함할 수 있다. 예를 들어, 제어기(20)는 디지털 신호 처리기 장치, 마이크로프로세서 장치, 및 다양한 아날로그-디지털 컨버터, 디지털-아날로그 컨버터, 및/또는 다른 지원 회로들을 포함할 수 있다. 모바일 단말(10)의 제어 및 신호 처리 기능들이 그 장치들 각자의 사양에 따라 그 장치들 사이에서 할당될 수 있다. 제어기(20)는 또한 메시지들의 인코딩, 수신 및/또는 송신에 사용하는 다른 기능을 지원할 수도 있다. 또, 제어기(20)는 메모리에 저장될 수 있는 하나 이상의 소프트웨어 프로그램들을 운영하는 기능을 포함할 수 있다. 예를 들어, 제어기(20)는 일반적인 웹 브라우저 같은 접속 프로그램을 운영할 수 있을 것이다. 접속 프로그램은 이를테면 WAP (Wireless Application Protocol), HTTP (Hypertext Transfer Protocol) 등등에 따라 모바일 단말(10)이 위치 기반 콘텐츠 및/또는 기타 웹 페이지 콘텐츠 같은 웹 콘텐츠를 송수신 가능하게 할 수 있다.
모바일 단말(10)은 또한 제어기(20)에 동작 가능하게 연결될 수 있는 이어폰이나 스피커(24), 마이크로폰(26), 디스플레이(28) 같은 출력 장치, 및 사용자 입력 인터페이스를 포함하는 사용자 인터페이스를 포함할 수 있다. 사용자 입력 인터페이스는 모바일 단말(10)로 하여금 데이터를 수신할 수 있게 하는 것으로, 키패드(30), 터치 디스플레이(미도시) 또는 다른 입력 장치 같이 모바일 단말(10)이 데이터를 수신할 수 있게 하는 임의 개수의 장치들을 포함할 수 있다. 키패드(30)를 포함하는 실시예들에 있어서, 키패드(30)는 문자들 (가령, 아시아식 문자들처럼 다중 구성요소를 가진 문자들)의 키, 및 기타 모바일 단말(10)을 조작하는데 사용되는 하드 및 소프트 키들을 포함할 수 있다. 부가적으로, 또는 택일적으로, 키패드(30)가 숫자 (0-9), 관련 키들 (#, *), 및/또는 QWERTY 키패드 배열을 포함할 수도 있다. 키패드(30)는 또 관련 기능들을 가진 다양한 소프트 키들을 포함할 수 있다. 그에 더해, 혹은 택일적 사항으로서, 모바일 단말(10)이 조이스틱이나 다른 사용자 입력 인터페이스 같은 인터페이스 장치를 포함할 수 있다. 모바일 단말(10)은 모바일 단말(10)을 조작하는데 사용되는 다양한 회로들에 전력을 공급하 고, 옵션사항으로서 기계적 진동을 검출 출력으로서 제공하는 진동 배터리 팩과 같은 배터리(34)를 더 포함할 수 있다.
모바일 단말(10)은 일반적으로 스마트 카드라 불릴 수 있는 사용자 신원 모듈 (UIM, user identity module) (38)을 더 포함할 수 있다. UIM(38)은 일반적으로 내장된 프로세서를 구비한 메모리 장치이다. UIM(38)은 예를 들어, SIM (subscriber identity module), UICC (universal integrated circuit card), USIM (universal subscriber identity module), R-UIM (removable user identity module), 또는 어떤 다른 스마트 카드를 포함할 수 있다. UIM(38) 외에, 모바일 단말(10)은 메모리를 갖출 수 있다. 예를 들어, 모바일 단말(10)은 데이터의 일시적인 저장을 위한 캐시 영역을 포함하는 휘발성 RAM (Random Access Memory) 같은 휘발성 메모리(40)를 포함할 수 잇다. 모바일 단말(10)은 또한 내장형 및/또는 탈부착형일 수 있는 다른 비휘발성 메모리(42)를 포함할 수도 있다. 비휘발성 메모리(42)는 EEPROM (electrically erasable programmable read only memory), 플래시 메모리, 기타 비휘발성 RAM (NVRAM) 등등을 추가적으로나 택일사항으로 포함할 수 있다. 비휘발성 메모리(40) 또한 데이터의 일시적 저장을 위한 캐시 영역을 포함할 수 있다. 메모리들은 모바일 단말(10)의 기능들을 구현하기 위해 모바일 단말(10)에 의해 사용되는 임의 개수의 정보 및 데이터를 저장할 수 있다. 예를 들어, 메모리들은 모바일 단말(10)을 고유하게 식별할 수 있는 IMEI (international mobile equipment identification) 코드 같은 식별자를 포함할 수 있다. 또, 메모리들은 셀 (cell) id 정보를 판단하기 위한 명령들을 저장할 수 있다. 구체적으로 말하면, 메모리들은 모바일 단말(10)이 통신하고 있는 현재의 셀의 신원, 즉 셀 id 신원 또는 셀 id 정보를 판단하는 제어기(20)에 의해 실행될 응용 프로그램을 저장할 수 있다.
여기서 사용되는 "문자 (character)"라는 용어는 글자, 심볼, 숫자 등등을 나타내는데 사용될 수 있다. 한 문자는 가령 하나 이상의 어근들 (radicals) 및/또는 하나 이상의 획 (strokes) 같은 하나 이상의 구성요소들 (elements)을 포함할 수 있다. 마찬가지로 하나의 어근은 하나 이상의 구성요소들 (가령, 하나 이상의 획들)을 포함할 수 있다. 그와 같이, 한 문자는 전체적으로 하나 이상의 획들을 포함할 수 있다. "어근"이라는 용어는 가령 어의적 요소 (semantic element) (가령, 의미론적 뿌리 (semantic root)) 같은 구성요소를 나타내는 데 사용될 수 있다. 한 어근은 하나 이상의 문자들의 구성요소가 될 수 있다. 여기서 사용되는 "단어 (word)" 또는 "단어들"이라는 용어는 가령 어구 (phrase), 속어 (slang), 약어 (abbreviations), 이모티콘, 머리글자로 된 약어들 (acronyms) 등등을 포함해 사전에 존재하거나 존재하지 않을 수 있는 문자 시퀀스들을 의미할 수 있다.
본 발명의 전형적 실시예들은 보통 입력 순서와 무관한 문자 입력 메커니즘의 제공을 가능하게 하는 방법, 기기 및 컴퓨터 프로그램 제품을 제안한다. 이와 관련하여, 본 발명의 어떤 실시예들은 문자들의 구성요소들의 순서 (가령, 입력 순서나 서체)에 좌우되지 않는 (가령, 단문 메시지들을 위한) 다중 구성요소 문자 입력 메커니즘을 제공할 수 있다. 예를 들어, 본 발명의 어떤 실시예들은 (가령 단문 메시지들을 위한) 다중 구성요소 문자들의 완성형에 대한 후보들을 제공하도록 맞춰진 것일 수 있고, 이를 위해 적어도 한 구성요소 (가령, 어근이나 획)가 문자를 완성하기 위해 그 구성요소를 입력하는 통상의 순서, 혹은 소정 순서와 무관하게 입력 될 수 있다. 따라서, 사용자는 통상적이거나 미리 정해진 순서로 문자의 각 구성요소 (가령, 어근이나 획)를 입력할 필요가 없을 것이다. 후보 문자들은 복수의 문자들을 저장하는 데이터베이스나 테이블로부터 검색될 수 있고, 검색된 후보 문자들의 선택 사항이 (가령, 리스트 안에서) 사용자에게 제공될 수 있다. 후보 문자들은 입력된 구성요소 (가령, 어근이나 획)에 적어도 일부 근거하여 검색될 수 있는데, 달리 말하면 검색된 후보 문자들이 각각 그 입력된 구성요소를 포함할 수 있다. 제공된 후보 문자들은 일반적이거나 현재의 맥락에 따른 그들의 사용 빈도에 따라 (가령, 단문 메시지들 같은 텍스트 입력 어플리케이션들에서의 사용 빈도의 내림 차순으로) 정렬될 수 있다. 문자의 추가 구성요소들이 입력되면서, 후보 문자들의 선택 사항은 추가적으로 입력된 구성요소들에 적어도 일부 근거해 조정될 수 있다. 이와 관련해, 후보 문자들의 선택옵션은 그 추가 입력된 구성요소(들)를 포함하지 않는 후보 문자(들)을 없애도록 수정될 수 있다. 그에 따라이, 문자가 제공되어 후보들 가운데서 선택될 가능성 (가령, 확률)이 높아질 수 있다. 따라서, 문자를 입력하는데 요구될 수 있는 입력의 회수가 크게 줄어들 수 있다 (가령, 그 문자의 각 구성요소를 입력하기 전에 후보들로부터 해당 문자 선택을 허용함으로써).
본 발명의 실시예들은 여러 가지 상이한 방식들을 통해 사용자가 문자들을 입력하는 것을 가능하게 할 수 있다. 어떤 문자들 (가령, 아시아식 문자들)은, 각 구성요소가 소정 순서 혹은 통상적 순서로 입력되어야 하는 다중 구성요소 문자들이라는 것을 알아야 한다. 그럼에도 불구하고, 여기 언급된 본 발명의 실시예들은 사용자가 임의의 순서로, 혹은 달리 말해 문자들의 구성요소들을 입력하는 통상적 순서와 무관하게 다중 구성요소 문자들의 구성요소들을 입력하는 것을 가능하게 할 수 있다. 일례로, 사용자는 문자를 이루는 어근들이나 획들을 입력하거나 쓰는 통상적 순서와 무관하게 하나 이상의 어근들 및 하나 이상의 획들의 조합을 입력함으로써 그 문자를 입력시킬 수 있다. 예를 들어, 최초 입력되는 구성요소는 한 어근이고, 그 뒤에 가변적 순서에 따라 하나 이상의 어근들 및/또는 획들의 입력(들)이 따라올 수 있다. 다른 예에서, 사용자는 문자를 이루는 어근들을 입력하거나 기입하는 통상적 순서와 무관하게 하나 이상의 어근들을 입력함으로써 그 문자를 입력할 수 있다. 또 다른 예에서, 사용자는 하나 이상의 획들 및 하나 이상의 어근들의 조합을 입력해 문자를 입력할 수 있다. 예를 들어, 사용자가 먼저 하나 이상의 획들을 입력하고, 이어서 한 어근을 입력하고 그 뒤에 가변적 순서로 하나 이상의 어근들 및/또는 하나 이상의 획들의 조합이 따라올 수 있다. 이와 관련하여, 최초의 어근 전에 입력된 획들이 순서에 맞게 입력되거나, 다른 단어들이 문자의 최초 획(들)에 해당할 수 있다. 그럼에도 불구하고, 최초의 후속 어근 입력 및 다른 후속 구성요소(들) (가령, 어근(들) 및/또는 획(들))은 문자를 이루는 어근(들)이나 획(들)을 입력하거나 기입하는 일반적 순서와 무관하게 입력될 수 있다. 또 다른 예에서, 사용자는 문자를 이루는 획들을 입력하거나 기입하는 통상적 순서에 따르거나 그에 기반하여 하나 이상의 획들을 입력함으로써 그 문자를 입력할 수 있다.
따라서, 본 발명의 실시예들은 통상적 획 입력 방식 (가령, 입력 순서에 입각함)을 개별적으로나 본 발명의 실시예들의 조합 형식으로 실행할 수 있다. 그로써 사용자는 더 이상 문자의 구성요소들을 입력하거나 기입하는 순서를 기억 내지 암기할 필요가 없을 것이다. 따라서, 문자들의 입력과 관련하여 본 발명의 실시예들은, 문자들을 입력할 때 문자들의 구성요소들의 입력 순서를 엄격히 지킬 필요가 없기 때문에, 기존의 획 입력 방식들에 비해 개선점들 (가령, 효율, 속도, 입력 이벤트의 양 등등)을 제공할 수 있다. 위에서 제공된 문자 입력 예들은 단지 본보기일 뿐이고 다른 대안적 예들과 구현수단들도 있을 수 있다.
본 출원의 실시예들은 스타일러스, 펜, 연필, 또는 스타일러스 (가령, 손가락)로서 기능할 전용 도구를 대신할 수 있는 다른 포인팅 장치와 함께 사용될 수 있는 터치 스크린 장치를 또한 제공할 수 있다. 터치 스크린 장치의 키패드 레이아웃은 문자들, 단어들, 문장들 등등을 입력하는 것과 관련해 문자 구성요소들의 위치에 대한 인식을 수월케 할 수 있고, 그로써 본 발명의 실시예들은 (가령 손가락과 터치 스크린의 인터랙션을 통해) 한 손 (single-handed) 문자 입력을 가능하게 할 수 있다. 그에 따라 (가령 단문 메시지들을 위한) 문자들의 입력시 UE (user experience)가 향상될 수 있다.
본 발명의 전형적 실시예들은 일반적으로 단문 메시지들과 관련해 기술될 수 있지만, 본 발명의 다른 실시예들은 그와 마찬가지로 통신 어플리케이션 (가령, 이메일, 단문 메시지, 워드 프로세서, 웹 브라우저, 전자북 등), 미디어 어플리케이션 (뮤직 플레이어 등), 게임 어플리케이션 (가령, 게임기) 또는 위치인식 어플리 케이션 (가령, GPS나 기타 방식들에 따른 사용자 위치인식) 등등과 같은 텍스트 입력 어플리케이션에 적용될 수 있다. 또, 본 발명의 전형적 실시예들은 일반적으로 한자 (Chinese characters)와 관련해 기술될 수 있지만, 본 발명의 다른 실시예들은 마찬가지로 다른 아시아 문자들, 다른 종류의 복잡한 문자들 등에 적용될 수 있다.
도 2는 본 발명의 전형적 실시예에 따른, 순서와 무관한 문자 입력을 가능하게 하는 기기의 개략적 블록도를 도시한 것이다. 본 발명의 전형적 일 실시예가 지금부터, 순서와 무관한 문자 입력을 가능하게 하는 기기(50)의 소정 요소들이 디스플레이된 도 2를 참조해 설명될 것이다. 도 2의 기기(50)는 예를 들어 도 1의 모바일 단말(10) 상에서 채용될 수 있다. 그러나, 기기(50)는 (가령 네트워크 장치나 서버 같이) 모바일형 및 고정형 모두의 각종 다른 장치들에서 구현될 수도 있다. 그로써, 본 발명의 어떤 실시예들은 전체가 하나의 장치 (가령, 모바일 단말(10))에서 실시될 수 있지만, 다른 실시예들은 클라이언트/서버 관계의 장치들 (가령, 모바일 단말(10) 및 네트워크 서버) 사이에서 나눠질 수 있다. 또, 이하에 개시되는 장치들이나 요소들은 의무적인 것이 아닐 수 있고 그에 따라 소정 실시예들 상에서 일부가 생략될 수도 있다는 것을 주지해야 한다. 몇몇 경우들에서 추가 요소들 역시 부가될 수도 있을 것이다.
이제 도 2를 참조하면, 순서와 무관한 문자 입력을 가능하게 하는 전형적 기기(50)는 프로세서(70) (가령, 제어기(20)), 사용자 인터페이스(72) (가령, 디스플레이(28), 키패드(30)), 통신 인터페이스(74) 및 메모리 장치(76)를 포함하거나, 다른 경우 그들과 통신할 수 있다. 메모리 장치(76)는 가령 휘발성 및/또는 비휘발성 메모리 (가령, 휘발성 메모리(40) 및/또는 비휘발성 메모리(42))를 포함할 수 있다. 메모리 장치(76)는 기기로 하여금 본 발명의 전형적 실시예들에 따른 여러 기능들을 수행할 수 있도록 하는 정보, 데이터, 어플리케이션, 명령 등을 저장하도록 구성될 수 있다. 예를 들어, 메모리 장치(76)는 프로세서(70)에 의해 처리될 입력 데이터를 버퍼링하도록 구성될 수 있다. 부가되거나 택일적으로, 메모리 장치(76)가 프로세서(70)에 의해 실행될 명령들을 저장하도록 구성될 수 있다. 또 다른 선택사항으로서, 메모리 장치(76)는 정보 (가령, 한 개 이상의 문자들 및/또는 한 개 이상의 어근들) 및/또는 미디어 콘텐츠를 저장하는 복수의 데이터베이스들이나 테이블들 (가령, 도 3의 데이터베이스(86), 테이블들(82 및 84)) 중 하나일 수 있다. 데이터베이스들 중 하나 또한, 하나 이상의 테이블들로부터의 문자(들) 및/또는 어근(들)을 검색하기 위한 인덱스들이나 다른 수단으로서 기능할 수 있는, 하나 이상의 테이블들 안의 하나 이상의 식별자들을 저장할 수 있다.
프로세서(70)는 여러 가지 상이한 방식들로 구현될 수 있다. 예를 들어, 프로세서(70)는 프로세싱 요소, 코프로세서 (coprocessor), 컨트롤러 또는 예를 들자면 ASIC (application specific integrated circuit), FPA (filed programmable gate array), 하드웨어 가속기 등과 같은 집적 회로들을 포함하는 다른 프로세싱 장치들 같은 다양한 프로세싱 수단으로서 구현될 수 있다. 전형적인 일 실시예에서, 프로세서(70)는 메모리 장치(76)에 저장되거나 아니면 프로세서(70)가 액세스할 수 있는 명령들을 실행하도록 구성될 수 있다.
한편, 통신 인터페이스(74)는, 이 기기와 통신하는 네트워크 (가령 네트워크(44)) 및/또는 어떤 다른 장치나 모듈로/로부터 데이터를 송신/수신하도록 구성된 하드웨어나 소프트웨어, 또는 하드웨어 및 소프트웨어의 조합을 통해 실시되는 장치나 회로 같은 어떤 수단일 수 있다. 이와 관련해, 통신 인터페이스(74)는 가령 무선 통신 네트워크와의 통신을 가능하게 하는 안테나 (또는 다중 안테나들) 및 지원 하드웨어 및/또는 소프트웨어를 포함할 수 있다. 고정 환경하에서, 통신 인터페이스(74)는 택일적으로나 부수적으로 유선 통신을 지원할 수 있다. 그에 따라, 통신 인터페이스(74)는 케이블, 디지털 가입자 라인 (DSL, digital subsriber line), USB (universal serial bus), 이더넷 및/또는 다른 메커니즘을 통해 통신을 지원하는 통신 모뎀 및/또는 하드에어/소프트웨어를 포함할 수 있다.
사용자 인터페이스(72)는 프로세서(70)와 통신하면서 사용자 인터페이스(72)에서 사용자 입력 (가령, 하나 이상의 어근, 획, 문자 등등)에 대한 표시를 수신하고/하거나 청각적, 시각적 (가령, 하나 이상의 어근, 획, 문자 등에 대한 디스플레이), 기계적 또는 다른 출력을 사용자에게 제공할 수 있다. 그에 따라, 사용자 인터페이스(72)는 예를 들어 키보드, 마우스, 조이스틱, 디스플레이, 터치 스크린, 마이크로폰, 스피커, 또는 다른 입출력 메커니즘들을 포함할 수 있다. 어떤 예들에서, 사용자 인터페이스는 하나 이상의 어근들 및/또는 획들에 대한 하나 이상의 입력들을 수신하여 수신된 입력(들)을 문자 입력 엔진(78)에 전송하도록 구성될 수 있다.
전형적 일 실시예에서, 기기(50)의 프로세서(70)는 문자 엔진(78)으로서 구 현되거나, 문자 엔진(78)을 포함하거나, 아니면 문자 엔진(78)을 제어하는 것으로서 구현될 수 있다. 그에 따라, 문자 엔진(78)은 어떤 경우들에서 별개의 장치, 모듈 또는 기능적 요소일 수 있다. 그러나, 다른 실시예들에서 문자 엔진(78)은 프로세서(70), 기기(50) 또는 모바일 단말(10) 같은 하나의 장치, 모듈 또는 기능적 요소 안에서 구현될 수 있다. 문자 엔진(78)은 이하에서 설명하겠지만 문자 엔진(78)의 해당 기능들을 수행하도록 구성된 하드웨어나 소프트웨어, 혹은 하드웨어 및 소프트웨어의 조합 (가령, 소프트웨어 제어 하에서 동작하는 프로세서(70)) 안에서 구현되는 장치나 회로 같은 임의의 수단일 수 있다. 어떤 실시예들에서, 문자 엔진(78) 및 기기(50)의 다른 요소들 사이의 통신은 프로세서(70)를 경유해 수행될 수 있다. 그와 달리 문자 엔진(78)이 그러한 요소들과 직접 통신할 수도 있다. 전형적 일 실시예에서, 문자 엔진(78)은 입력 순서와 무관한 문자 입력 메커니즘을 제공하기 위한 명령들, 코드, 모듈들, 어플리케이션들 및/또는 회로를 포함할 수 있다.
어떤 예들에서, 기기(50)는 문자 엔진(78)에 의해 후보 문자들이라고 사용자에게 제시할 수 있는 후보 문자들의 리스트를 포함할 수 있는 문자 리스트 (미도시)를 포함할 수 있다. 기기(50)는 또한 사용자에 의해 입력되는 문자에 대한 구성요소들 (가령, 어근들 및/또는 획들)의 리스트를 포함할 수 있는 입력 구성요소 리스트를 포함할 수 있고, 그 리스트는 그들의 입력 순서 (가령, 사용자 인터페이스로부터 수신된 순서)에 따라 정렬될 수 있다. 어떤 경우들에 있어서, 문자 리스트 및/또는 입력 구성요소 리스트는 문자 엔진(78)이 액세스할 수 있는 메모리 장 치 (가령, 메모리 장치(76))에 저장될 수 있다.
문자 엔진(78)은 하나 이상의 어근들 및/또는 획들의 입력에 기초하여 데이터베이스 (가령, 메모리 장치(76))로부터 검색된 것과 같은 하나 이상의 후보 문자들의 선택옵션 (selection)을 사용자 인터페이스(72)에 제공하도록 구성될 수 있다. 이와 관련하여, 예를 들어, 문자 입력 엔진(78)은 가령 키보드, 키패드, 터치 스크린 입력 등등을 통해 사용자 인터페이스로부터 (이를테면 사용자 인터페이스(72)로부터) 하나 이상의 어근들 및/또는 획들의 하나 이상의 입력들을 수신하도록 구성될 수 있다. 문자 입력 엔진(78)은 데이터베이스 (가령, 메모리 장치(76))와 통신할 수 있고, 그에 따라 수신된 어근(들) 및 획(들)의 입력(들)에 적어도 부분적으로 기초해 각각의 후보 문자(들)을 데이터베이스로부터 검색하거나 데이터베이스로 하여금 검색하게 만들 수 있다. 이와 관련하여, 문자 입력 엔진(78)은 수신된 입력(들)을 포함하는 후보 문자(들)을 데이터베이스로부터 검색하거나 데이터베이스로 하여금 검색하게 만들 수 있다. 문자 엔진(78)은 사용자에게 제시되는 후보 문자(들)의 리스트 상에 검색된 후보 문자(들)을 정렬하기 위해 확률론적 결정방식을 사용할 수 있다. 확률론적 결정방식은 일반적이거나 상황에 고유한 방식으로, (가령, 단문 메시지들 안에서) 각각의 후보 문자의 사용 빈도 (가령, 가장 빈번히 사용된 것부터 가장 적게 사용된 것)의 적어도 일부에 기초할 수 있다. 문자 입력 엔진(78)은 또한 사용자 인터페이스로부터 사용자에 의해 선택된 한 후보 문자의 입력을 수신하고, 선택된 후보 문자에 적어도 일부 기초하여 (가령, 한 단어, 어구 등을 생성하기 위한) 하나 이상의 문자들의 결합 (연관관계)이 만들어지 도록 구성될 수 있다. 어떤 실시예들에서, 문자 입력 엔진(78)은 위에서 설명한 문자 입력 엔진(78)의 하나 이상의 기능들을 수행할 수 있는 하나 이상의 엔진들 (가령, 결합 엔진(88), 어근 엔진(90), 및 획 입력 엔진(92))을 포함할 수 있다. 이 엔진들의 기능들에 관해서는 도 3과 관련하여 아래에서 보다 상세하게 기술될 것이다.
이제부터, 본 발명의 일 실시예의 한 전형적 구조 (framework)를 예시한 도 3과 관련하여 문자 입력 엔진(78)의 동작에 대한 추가 설명을 제공할 것이다. 도 3에 도시된 바와 같이, 문자 엔진(78)은 사용자 인터페이스(72), 전체-문자 테이블(82) 및 어근 획 테이블(84)을 포함할 수 있는 데이터베이스(80), 및 데이터베이스(86)와 통신할 수 있다. 어떤 실시예들에서, 테이블들(82 또는 84) 중 하나 이상이 데이터베이스(88)에 포함될 수 있다. 다른 실시예들에서는, 데이터베이스들 중 하나 이상(80 또는 86)이, 문자 엔진(78)이 액세스 가능한 하나의 메모리 장치 (가령, 메모리 장치(76)) 상에 포함될 수 있다. 전체-문자 테이블(82)은 복수의 이용가능 문자들을 저장하도록 구성될 수 있고, 각각의 문자는 고유 식별자 또는 위치와 결부될 수 있다. 어근 획 테이블(84)은 복수의 이용가능 어근들을 저장하도록 구성될 수 있고, 각각의 어근은 고유 식별자 또는 위치와 결부될 수 있다. 데이터베이스(86)는 어근 획 테이블(84)에 의해 저장되는 복수의 이용가능 어근들에 해당할 수 있는 복수의 테이블들을 저장하도록 구성될 수 있는데, 달리 말하면 테이블(84)에 저장된 어근들은 데이터베이스(86)의 테이블들에 대한 인덱스들의 역할을 할 수 있다. 예를 들어, 어근 획 테이블(84)이 42 개의 어근들을 저장하는 경우, 데이터베이스(86)는 그에 상응하는 42 개의 테이블들을 저장할 수 있다. 이와 관련하여, 테이블(84)에 저장되는 각각의 어근은 데이터베이스(86)에 저장되는 한 테이블에 해당할 수 있고, 데이터베이스(86) 내 각각의 테이블은 테이블(84) 내에서 자신의 상응하는 어근의 고유 식별자에 해당하는 고유 식별자와 결부될 수 있다. 예를 들어, 7이라는 고유 식별자를 가진 테이블은 테이블(84) 안에서 역시 고유 식별자 7을 가진 어근에 해당할 것이다. 데이터베이스(86)의 각 테이블은 그 테이블에 상응하는 어근을 포함하는 복수 개의 모든 이용가능한 문자들에 대한 인덱스 (가령, 고유 식별자)를 저장할 수 있다. 이와 관련하여, 그 인덱스는 모든-문자 테이블(82) 안에 저장된 문자들의 고유 식별자들 또는 위치들에 해당할 수 있다. 그로써, 입력된 어근의 식별자가 어근 획 테이블(84)로부터 검색되어 데이터베이스(86) 내에서 상응하는 테이블을 식별하는데 사용될 수 있다. 입력된 어근을 포함하는 모든 문자들의 인덱스들이 데이터베이스(86) 내에서 식별된 테이블로부터 검색되어, 모든-문자 테이블(82)로부터 후보 문자들을 검색하는데 사용될 수 있다.
어떤 예들에서, 문자 엔진(78)은 결합 엔진(88), 어근 엔진(90) 및/또는 획 입력 엔진(92)으로서 구현될 수 있다. 그에 따라, 전형적인 일 실시예에서, 기기(50)의 프로세서(70)는 결합 엔진(88), 어근 엔진(90) 및/또는 획 입력 엔진(92)을 포함하거나 다른 경우 제어하는 것으로서 구현될 수 있다. 이와 같이, 결합 엔진(88), 어근 엔진(90) 및/또는 획 입력 엔진(92)은 어떤 경우들에 있어서 각자 별개의 장치들, 모듈들 또는 기능 요소들일 수 있다. 그러나, 다른 실시예들에서, 결합 엔진(88), 어근 엔진(90) 및/또는 획 입력 엔진(92)은 프로세서(70), 기 기(50) 또는 모바일 단말(10) 같은 하나의 장치, 모듈, 또는 기능 요소 안에서 구현될 수 있다. 결합 엔진(88), 어근 엔진(90) 및/또는 획 입력 엔진(92)은 각각, 결합 엔진(88), 어근 엔진(90) 및/또는 획 입력 엔진(92)의 해당 기능들을 이하에 설명하는 바와 같이 수행하도록 구성되는 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 결합 (가령, 소프트웨어 제어 하에 동작하는 프로세서(70))를 통해 실시되는 장치나 회로 같은 임의의 수단일 수 있다. 어떤 실시예들에서, 결합 엔진(88), 어근 엔진(90) 및/또는 획 입력 엔진(92)들 사이의 통신은 프로세서(70)을 경유해 수행될 수 있다. 그러나, 결합 엔진(88), 어근 엔진(90) 및/또는 획 입력 엔진(92)이 그와 달리 서로 직접적으로 통신할 수도 있다.
전형적 일 실시예에서, 결합 엔진(88), 어근 엔진(90) 및/또는 획 입력 엔진(92)은 각자 단어 예측 및 상황 판단 서비스들을 제공하기 위한 명령들, 코드, 모듈들, 어플리케이션들 및/또는 회로를 포함할 수 있다. 그러나, 결합 엔진(88), 어근 엔진(90) 및/또는 획 입력 엔진(92)과 관련된 코드, 회로 및/또는 명령들이 반드시 모듈식일 필요는 없다는 것을 알아야 한다.
결합 엔진(88)은 (가령 키보드, 키패드, 터치 스크린 입력 등등을 통한 사용자 인터페이스로부터) 사용자에게 제공된 후보 문자들의 리스트로부터 한 후보 문자 선택사항을 수신하고, (가령 한 단어, 어구 등을 만들기 위해) 선택된 문자와 관련될 수 있는 후보 연관 문자들을 판단하도록 구성될 수 있다. 후보 연관 문자들에 대한 판단은 데이터베이스 (가령, 메모리 장치(78))로부터 입수될 수 있는 복수의 단어들로부터 내려질 수 있다. 결합 엔진(88)은 또한 사용자에게 디스플레이 하기 위해 사용자 인터페이스(72)로 후보 연관 문자들을 제공하도록 구성될 수도 있다.
어근 엔진(90)은 하나 이상의 어근 및/또는 획들의 하나 이상의 입력들을 (가령 키보드, 키패드, 터치 스크린 입력 등등을 통한 사용자 인터페이스(72)로부터) 수신하도록 구성될 수 있다. 몇몇 예들에서는 한 어근을 수신하면, 어근 엔진(90)이 입력된 어근의 인덱스 (가령, 식별자)를 어근 획 테이블(84)로부터 검색하고, 검색된 인덱스를 사용해 데이터베이스(86) 내 해당 테이블을 식별할 수 있다. 어근 엔진(90)은 입력된 어근을 포함하는 모든 문자들의 인덱스들을 해당 테이블로부터 검색하거나 해당 테이블로부터 검색하게 만들 수 있고, 검색된 문자들의 인덱스들을 사용해 문자 테이블(82)로부터 실제 문자들을 검색할 수 있다. 어근 엔진(90)은 수신된 어근이 주어진 한 문자에 대해 최초로 입력된 구성요소인지 (또는 달리 말해, 지금까지 입력된 유일한 구성요소인지) 여부를 판단하도록 구성될 수 있다. 어근이 최초 입력이라고 판단되는 경우, 그 어근은 후보 문자들을 검색하고 그 문자들을 후보 문자들의 리스트에 추가하는데 사용될 수 있다. 그 어근이 앞서 입력된 하나 이상의 구성요소들에 뒤이은 것이라고 판단되는 경우, 그 어근은, 후보 문자들을 검색하고 지금까지 입력된 모든 구성요소들을 포함하지 않는 모든 문자들을 제거하도록 후보 문자들의 리스트를 업데이트하는데 사용될 수 있다. 그와 같이, 어떤 경우 수신된 어근이 문자에 대해 최초로 입력되는 구성요소일 수 있다. 그 경우 어근 엔진(90)은 문자 테이블(82)로부터 검색된 문자들에 기초해 후보 문자들의 리스트 (가령, 선택사항)를 생성하도록 구성될 수 있다. 어근 엔진은 후보 문자들의 선택옵션이 사용 빈도의 내림 차순에 따라 정렬되게 할 수 있고, 정렬된 후보 문자들의 선택옵션을 사용자 인터페이스에 전송할 수 있다. 한 예에서, 어근 엔진(90)은 또한 수신된 어근이 입력 구성요소 리스트 안에 포함되게 만들고 후보 문자들의 선택옵션이 문자 리스트 안에 포함되게 만들 수 있다. 만일, 수신된 어근이 최초로 입력된 구성요소가 아니고 (앞서 수신된 구성요소들 (가령, 어근(들), 획(들)에 기초하는) 문자 리스트가 존재하는 경우, 어근 엔진(90)은 검색된 후보 문자들과 사용자에게 현재 제공된 후보 문자들의 기존 리스트를 비교함으로써 (가령 문자 리스트로부터) 후보 문자들의 기존 선택옵션을 업데이트하도록 구성될 수 있다. 이와 관련하여 어근 엔진은 기존의 후보 문자들의 리스트로부터, 검색된 후보 문자들을 포함하지 않는 후보 문자들을 제거할 수 있고, 그에 따라 이전 구성요소들 (가령, 어근(들), 획(들))을 포함하지만 가장 최근 수신된 어근은 포함하지 않는 문자(들)을 효율적으로 제거할 수 있게 된다. 그에 따라 어근 엔진(90)은 문자 리스트 내 두 세트의 후보 문자들 간 교집합을 저장하고, 업데이트된 후보 문자들의 선택옵션 (가령, 빈도에 의해 정렬됨)이 사용자 인터페이스로 전송되게 만들 수 있다.
수신된 어근이 최초로 입력된 구성요소가 아닐 수 있는 경우, 하나 이상의 획들이 앞서 수신되었을 수 있다. 일부 예들에서, 하나 이상의 획들은 획 엔진(92)에 의해 수신되어 아래에 설명하는 것과 같이 처리될 수 있다. 이와 관련하여, 어근 엔진(90)은 문자 테이블(84)로부터 모든 후보 문자들을 검색하고, 문자를 구성하는 획(들)에 기반하여 검색된 문자를 각기 분리 또는 해체하도록 구성될 수 있다. 어근 엔진(90)은 가령 입력 구성요소 리스트를 액세스하고 하나 이상의 이전 획들의 순서에 기초하여 그 하나 이상의 이전 획들에 해당하는 획들을 가진 후보 문자들을 식별함으로써, 하나 이상의 이전 획들 (가령, 이전의 어근)을 식별하도록 구성될 수 있다. 어근 엔진(90)은 식별되지 못한 후보 문자들을 제거함으로써 식별된 후보 문자들로써 후보 문자들의 선택옵션을 업데이트하도록 구성될 수 있다. 어근 엔진(90)은 문자 리스트에서 업데이트된 후보 문자들의 선택옵션을 저장하고, 업데이트된 후보 문자들의 선택옵션 (빈도에 따라 정렬됨)이 사용자 인터페이스로 전송되게 만들도록 구성될 수 있다. 다른 예들에서, 어근 엔진(90)은 하나 이상의 어근들을 수신한 후에 하나 이상의 획들을 수신하도록 구성될 수 있다. 그에 따라 어근 엔진(90)은 수신된 획들을 포함할 수 있는 하나 이상의 문자들을 식별하기 위해, 수신된 획(들)을 기존 후보 문자들의 선택옵션의 각 문자와 비교하도록 구성될 수 있다. 이와 관련하여, 어근 엔진(90)은, 수신된 획(들)을, 앞서 수신된 어떠한 어근(들)이나 획(들)도 포함하지 않는 각 문자의 부분들 (가령, 획들)과 비교하도록 구성될 수 있다. 어근 엔진(90)은 수신된 획(들)을 포함하지 않는 문자를 제거함으로써 후보 문자들의 선택옵션을 업데이트 할 수 있다. 후속으로 수신된 각 어근에 대해, 어근 엔진(90)은 기존의 후보 문자들의 선택옵션을 서치하여, 후속 수신된 어근을 포함하는 문자(들)을 식별할 수 있다. 어근 엔진은 (가령, 문자를 이루는 획(들)에 기초하여) 식별된 각 문자를 분리하거나 분해하고, 수신된 어근과 앞서 최초로 수신된 어근 (가령, 현재의 문자에 대해 사용자가 입력한 최초 어근) 사이에서 어느 획을 포함하는 문자들을 식별하도록 구성될 수 있다.
본 발명의 실시예들은 구성요소들 (가령, 어근(들), 획(들) 등등)이 수신된 순서를 고려하지 않고 상술한 바와 같이 동작할 수 있지만, 이하에서 설명될 다른 실시예들은 구성요소들이 입력되는 순서 또한 고려할 수 있고, 데이터베이스가 그냥 문자들만 저장하는 것이 아니라 문자들을 형성하는 구성요소들의 순서를 지시하는 정보 역시 저장할 수 있다. 획 엔진(92)은 (가령, 키보드, 키패드, 터치 스크린 입력 등등을 통한 사용자 인터페이스(72)로부터) 하나 이상의 획 입력들을 수신하도록 구성될 수 있다. 일부 예들에서, 획 엔진(92)은 입력 구성요소 리스트를 액세스하여 수신된 하나 이상의 획들을 리스트에 추가하도록 구성될 수 있다. 획 엔진은 입력된 획(들)에 적어도 일부 기초하여 하나 이상의 후보 문자들을 문자 테이블(82)로부터 검색하거나 문자 테이블(82)이 검색하도록 만들 수 있다. 예를 들어, 획 엔진(92)은 수신된 입력(들)을 테이블(82) 안의 문자들과 비교하고, 입력된 획(들)의 순서에 따라 입력된 획(들)을 포함하는 문자들을 검색하도록 구성될 수 있다. 이를테면, 획 엔진(92)은 제1 및 제2획 입력들을 수신하고, 수신된 제1 및 제2획들에 매치되는 제1 및 제2획들을 가진 문자들을 검색할 수 있다. 획 엔진(92)은 또한 검색된 후보 문자들에 적어도 일부 기초하여 후보 문자들의 선택옵션을 생성 및/또는 변경하도록 구성될 수도 있다. 획 엔진(92)은 또 검색된 후보(들)을 디스플레이할 사용자 인터페이스(72)로 전송하도록 구성될 수도 있다. 일부 예들에서, 획 엔진은 검색된 후보(들)의 유니코드 (Unicode)를 사용자 인터페이스로 전송할 수 있다.
터치 스크린 디스플레이와 관련해 사용될 수 있는 본 발명의 실시예들이 도 4 및 5와 함께 제공되고 있지만, 본 발명의 실시예들은 터치 스크린을 사용하지 않는 장치들 상에서도 활용될 수 있다. 그러한 장치들에서의 입력 및 선택도, 특정 후보 (또는 단어)에 대한 입력 및 선택이 키보드, 스크롤 장치, 마우스, 또는 기타 입력 또는 선택 메커니즘을 사용해 이뤄질 수 있다는 것을 제외하면 유사한 방식으로 이뤄질 수 있다.
이와 관련해 지금부터 도 4를 참조하면, 본 발명의 전형적 실시예들에 따라 중국어 문자들을 입력하기 위해 입력 순서와 무관한 문자 입력 메커니즘을 제공하는 사용자 인터페이스 디스플레이(400)의 예가 도시된다. 이와 관련하여 예를 들자면 디스플레이(400)는 확장형 버튼(402) 및 이때까지 사용자에 의해 입력된 하나 이상의 문자들을 디스플레이할 수 있는 입력 컨텍스트 필드(404)를 포함할 수 있다. 디스플레이(400)는 또한 백스페이스 버튼(406), 및 후보 문자들의 선택사항을 디스플레이할 수 있는 후보 리스트 영역(408) 또한 포함할 수 있다. 후보 문자들은 일반적 사용빈도나 현재의 문맥 하에서의 사용 빈도의 내림차순으로 정렬될 수 있다. 디스플레이(400)는 또한 사용자에 의해 지금까지 입력된 하나 이상의 구성요소들 (가령, 어근(들) 및/또는 획(들))을 디스플레이할 수 있는 디스플레이 영역(410), 및 삭제 버튼(426)을 포함할 수 있다. 디스플레이(400)는 후보 문자들의 선택옵션을 스크롤하는데 사용될 수 있는 스크롤 버튼(412), 및 리턴 버튼(414)을 더 포함할 수 있다. 디스플레이(400)는 또 어근 입력 영역(418)을 포함할 수 있는 키패드 영역(428) 및 획 입력 영역(416)을 포함할 수 있다. 이 디스플레이(400)의 예는 정사각형 모양 안에 정렬된 복수 개의 키들을 포함하는 키패드 영역(428)을 제공하지만, 키패드 영역(428)이 다른 다양한 기하학적 모양 (가령, 직사각형, 삼각형, 원형 등등) 안에서 정렬될 수도 있을 것이다. 각각의 키는 한 문자의 일부에 해당하는 한 구성요소 (가령, 어근(들), 획(들))과 결부된 기능을 제공하도록 구성될 수 있다. 어떤 한 시점에서, 지금까지 입력된 구성요소(들)에 기초해, 디스플레이 영역(410) 안에 디스플레이될 수 있는 키들 중 한 개 이상이 비활성화될 수 있다. 이와 관련해, 가능한 문자(들)을 입력하기 위해 지금까지 입력된 구성요소(들)과 결합될 수 없는 구성요소들에 해당하는 키(들)이 비활성화될 것이다. 그에 따라, 어느 한 터치 스크린 이벤트는 키(들)과의 인터랙션으로부터 기록이 되지 못할 수 있다.
획 입력 영역(416)은 복수 개의 키들 (가령, 5 개의 키들)을 포함할 수 있으며, 각각의 키는 복수 개의 가능한 획들 중 한 개에 해당한다. 어근 입력 영역(418)은 복수 개의 가능한 어근들에 해당할 수 있는 복수 개의 키들 (가령, 42 개의 키들)을 포함할 수 있다. 어근 입력 영역(418) 내 어근들의 위치는 문자들과 관련된 어근의 통상적 위치에 따라 정렬될 수 있다 (가령, 문자들 맨 위에 보통 자리하는 어근들은 어근 영역(418)의 최상위 위치에 자리하고, 문자들의 맨 아래에 보통 자리하는 어근들은 최하위 위치에 자리할 수 있다). 게다가, 서로 비슷할 수 있는 하나 이상의 어근들은 동일한 뿌리들 (roots) (가령, 어의적 뿌리 (semantic root))을 공유할 수 있다. 그로써, 어떤 예들에 있어서 같은 뿌리들을 공유하는 어근들은 같은 키들을 공유할 수 있다. 또, 서로 유사할 수 있는 하나 이상의 어근들은 서로 나란히 그룹화될 수 있다. 그에 따라, 어떤 예들에 있어서, 인접하는 어근들이 문자들, 단어들, 또는 문장들을 이룰 수 있다. 또, 어근 입력 영역(418)의 구석 키들은 비슷하거나 거의 유사한 모양들 (가령, 구석 모양들)을 가진 어근들에 상응하도록 구성될 수 있다. 예를 들어, 좌측 상부 구석 키는 "
Figure 112009076297374-PAT00001
" 어근에 해당할 수 있고, 한편 하위 구석 키는 "
Figure 112009076297374-PAT00002
" 어근에 해당할 수 있다. 따라서, 어근 입력 영역(418)의 키패드 레이아웃은 사용자에게 직관적으로 인식 및 상관될 수 있다. 그로써, 어근 입력 영역은 사용자 친화적인 양상을 제공할 수 있다 (가령, 사용자들은 더 이상 문자의 구성요소들의 입력 또는 기입 순서를 기억하거나 암기할 필요가 없을 것이다). 추가 기능들이 확장 입력 이벤트 기능 (가령, 길게 누르기 기능) 같은 어근 입력 영역(418)의 키들과 결부될 수 있다. 확장 입력 이벤트 기능(600)에 대한 전형적 실시예가 도 6에 도시된다. 이와 관련해, 키 길게 누르기는 요소 620, 630 및 660 등에 의해 도시된 바와 같이 그 키와 결부된 어근과 연관되거나 관련된 뿌리 문자의 입력 또는 활성화를 일으킬 수 있다. 그에 따라 입력된 뿌리 문자가 디스플레이 영역(410)에 디스플레이 될 수 있다. 어근이 뿌리 문자와 결부 또는 관련되어 있지 않은 경우, 키의 길게 누르기는, 요소 610, 640, 650 및 670에 의해 예시된 것과 같은 어근의 입력을 일으킬 수 있다. 도 4를 다시 참조할 때, 디스플레이(400)는 백 버튼(420), (가령 키들의 음조 (tonality) 같은 사용자의 선호사항들을 구현하기 위한) 입력 설정 버튼들(422), 및 문자 범위 버튼 영역(424)을 더 포함할 수 있다.
도 5a-5c는 본 발명의 전형적 일 실시예에 따른 입력 순서와 무관한 입력 문자 메커니즘을 위한 전형적 방법을 제공하는 전형적 사용자 인터페이스 디스플레이 들을 도시한다. 이와 관련해, 도 5a는 한 어근의 입력에 해당할 수 있는 (가령, 사용자 인터페이스를 통해) 디스플레이에서 수신된 최초 입력 이벤트(510) (가령, 터치 이벤트)를 나타낸다. 도 5b는 최초 입력 이벤트의 한 결과의 예 (가령, 한 어근)를 도시한 것이다. 이와 관련하여, 최초 입력된 어근을 포함하는 모든 문자들이 후보 리스트 영역(408)에서 디스플레이 되기 위해 주어질 수 있다. 이어서, 한 획의 입력에 해당할 수 있는 두 번째 입력 이벤트(520)가 또한 디스플레이에서 수신될 수 있다. 도 5c는 두 번째 입력 이벤트 (가령, 한 획)의 결과의 예를 도시한 것이다. 이와 관련하여, 모든 후보 리스트 영역(408)은 입력된 획을 포함하지 않은 문자들 전부를 제거하도록 업데이트될 수 있다. 이어서, 후보 리스트 영역(408)의 한 후보 문자 선택사항에 해당할 수 있는 세 번째 입력 이벤트(530)가 역시 디스플레이에서 수신될 수 있다.
도 7은 본 발명의 전형적 실시예들에 따른 시스템, 방법 및 프로그램 제품의 흐름도이다. 이 흐름도의 각 블록 또는 단계, 및 블록들의 조합은 하드웨어, 펌웨어, 및/또는 하나 이상의 컴퓨터 프로그램을 포함하는 소프트웨어 같은 다양한 수단을 통해 구현될 수 있다는 것을 알 수 있을 것이다. 예를 들어, 상술한 하나 이상의 절차들이 컴퓨터 프로그램 명령들에 의해 실시될 수 있다. 이와 관련하여, 상술한 절차들을 실시하는 컴퓨터 프로그램 명령들은 모바일 단말 (또는 네트워크 장치)의 메모리 장치에 의해 저장되고 모바일 단말 (또는 네트워크 장치)의 내장형 프로세서 (가령, 프로세서(70))에 의해 실행될 것이다. 예상할 수 있다시피, 그러한 어떤 컴퓨터 프로그램 명령들이 컴퓨터나 기타 프로그래머블 장치 (즉, 하드웨 어) 상에 로드되어 일종의 기계어 (machine)를 생성함으로써, 컴퓨터나 프로그래머블 기기 상에서 실행되는 명령들이 도 7의 흐름도의 블록(들)이나 단계(들)에서 특정된 기능들을 구현하는 수단을을 만들게 될 것이다. 이러한 컴퓨터 프로그램 명령들은 특별한 방식으로 컴퓨터나 다른 프로그래머블 기기가 기능하도록 명령할 수 있는 컴퓨터 판독가능 메모리에 저장되어, 그 컴퓨터 판독가능 메모리에 저장된 명령들이 이 흐름도의 블록(들)이나 단계(들)에서 특정된 기능을 구현하는 명령 수단들을 포함하는 제조품을 생산하게 할 수 있다. 컴퓨터 프로그램 명령들은 또한 컴퓨터나 다른 프로그래머블 기기 상에 로드되어, 일련의 동작 단계들이 그 컴퓨터나 다른 프로그래머블 기기 상에서 수행될 수 있게 함으로써, 그러한 컴퓨터나 다른 프로그래머블 기기 상에서 실행되는 명령들이 이 흐름도의 블록(들)이나 단계(들)에 특정된 기능들을 구현하는 단계들을 제공하도록 하는 컴퓨터 구현 프로세스를 생성하도록 할 수도 있다.
따라서, 이 흐름도의 블록들이나 단계들은 특정 기능들을 수행하는 수단들의 조합, 특정 기능들을 수행하는 단계들의 조합, 및 특정 기능들을 수행하는 프로그램 명령 수단들을 지원할 수 있다. 또한, 이 흐름도의 하나 이상의 블록들이나 단계들, 및 이 흐름도의 블록들이나 단계들의 조합들이 특정된 기능들이나 단계들을 수행하는 특수 목적의 하드웨어 기반 컴퓨터 시스템들이나, 특수 용도의 하드웨어 및 컴퓨터 명령들의 조합에 의해 구현될 수 있다는 것을 알아야 한다.
이와 관련하여, 가령 도 7에 도시된 것과 같은 입력 순서와 무관한 입력 문자 메커니즘을 제공하는 방법의 일 실시예는, 기입되고 있는 한 문자의 일부에 해 당하는 한 구성요소를 포함하는 입력을 수신함에 있어, 상기 구성요소에 해당하는 상기 문자의 일부에 기초하여 상기 구성요소를 입력하는 순서와 무관하게 수신하는 단계로서, 상기 입력을 수신하는 것은 적어도 한 어근을 수신하는 것을 포함하는 단계(700 단계), 상기 수신된 어근에 적어도 일부 기초하여 기입되고 있는 문자의 적어도 한 후보 문자를 검색하는 단계(710 단계), 및 상기 적어도 한 후보 문자를 포함하는 후보 문자들의 선택옵션을 사용자에게 제공하는 단계(720 단계)를 포함한다.
어떤 실시예들에서, 이 방법은 도 7에서 점선으로 보여지는 몇몇 예들인 추가 동작 옵션들을 포함할 수 있다. 동작 옵션들은 임의의 순서 및/또는 서로간, 그리고 다른 여러 대안적 실시예들에 따른 동작들과의 다양한 조합을 통해 수행될 수 있다. 그로써, 710 단계에서 기입되는 문자에 대한 적어도 한 후보 문자를 검색하는 단계는 그 구성요소를 포함하는 적어도 한 후보 문자를 검색하는 단계를 포함할 수 있다. 어떤 예들에 있어서, 이 방법은 후보 문자들의 선택옵션으로부터 기입되는 문자에 해당하는 한 후보 문자의 사용자 선택사항을 수신하는 단계를 더 포함할 수 있다. 다른 예들에서, 이 방법은 적어도 한 어근이나 획을 포함하는 수신된 구성요소의 타입에 적어도 일부 기반하여 후보 문자들의 선택옵션을 업데이트하는 단계를 또한 포함한다. 어떤 예들에 있어서, 이 방법은 추가적으로 적어도 한 후보 문자를 후보 문자들의 선택옵션과 비교하여 그 적어도 한 후보 문자에 적어도 일부 기초하여 후보 문자들의 선택옵션으로부터 적어도 한 개의 문자를 제거하도록 할 수 있다. 다른 예들에 있어서, 이 방법은 기입되고 있는 문자의 다른 일부에 해당하는 한 구성요소를 포함하는 입력을 수신함에 있어, 그 구성요소에 해당하는 문자의 상기 다른 일부에 기초하여 구성요소를 입력하는 순서와 무관하게 수신하는 단계를 더 포함할 수 있다. 어떤 상황들에 있어서, 기입되고 있는 문자의 다른 일부에 해당하는 한 구성요소를 포함하는 입력을 수신함에 있어, 그 구성요소에 해당하는 문자의 상기 일부에 기초하여 상기 구성요소를 입력하는 순서와 무관하게 수신되는 단계는, 적어도 한 획을 수신하는 단계를 포함할 수 있다. 이 방법은 추가적으로, 후보 문자들의 선택옵션으로부터, 수신된 적어도 한 획을 포함하는 문자를 식별하는 단계를 포함한다.
전형적인 일 실시예에서, 상기 도 7의 방법을 수행하기 위한 기기는 상술한 단계들 (700-720) 중 일부나 그 각각을 수행하도록 구성된 프로세서 (가령, 프로세서(70))를 포함할 수 있다. 프로세서는 이를테면, 하드웨어 구현 로직 기능들을 수행하거나, 저장된 명령어들을 실행하거나, 상기 단계들 각각을 수행하기 위한 알고리즘들을 실행함으로써 그 단계들 (700-720)을 수행하도록 구성될 수 잇다. 이와 달리, 상기 기기가 상술한 단계들 각각을 수행하는 수단들을 포함할 수도 있다. 이와 관련해, 전형적 일 실시예에 따르면, 단계들(700-720)을 수행하기 위한 수단들의 예들에는, 프로세서(70), 문자 엔진(78) (이것은 결합 엔진(88), 어근 엔진(80) 및/또는 획 입력 엔진(92)을 포함할 수 있음), 및/또는 상술한 바와 같은 정보를 처리하기 위해 프로세서(70)에 의해 실행되는 알고리즘 등을 포함할 수 있다.
상기 내용 및 관련 도면들에 제시된 개시사항들의 이익을 향유하는 본 발명 이 속하는 분야의 업자라면, 여기 개시된 본 발명의 여러 변형예들 및 다른 실시예들 또한 쉽게 고안할 수 있을 것이다. 따라서, 본 발명은 개시된 특정 실시예들에만 국한되는 것이 아니며 그 변형예들 및 다른 실시예들 또한 첨부된 청구항들의 범위 안에 포함될 수 있다는 것을 알아야 한다. 또한, 상기 내용 및 관련 도면들이 요소들 및/또는 기능들의 어떤 전형적 조합의 맥락에서 전형적 실시예들을 기술하였지만, 첨부된 청구항들의 범위에서 벗어나지 않은 채 다른 조합의 요소들 및/또는 기능들 역시 다른 대안적 실시예들에 의해 제공될 수 있다는 것을 예상할 수 있을 것이다. 이와 관련하여, 이를테면, 위에서 명확히 설명된 것과는 다른 요소들 및/또는 기능들의 조합 또한, 첨부된 청구항들 중 일부에서 기술될 수 있는 것으로서 고려되고 있다. 여기서 특정 용어들이 언급되었지만, 이들은 한정할 목적으로서가 아닌 일반적인 서술적 맥락에서 언급된 것일 뿐이다.
도 1은 본 발명의 전형적 일 실시예에 따른 모바일 단말의 개략적 블록도이다.
도 2는 본 발명의 전형적 일 실시예에 따라 입력 순서와 무관한 문자 입력 메커니즘을 제공하는 기기의 개략적 블록도이다.
도 3은 본 발명의 전형적 일 실시예에 따라 입력 순서와 무관한 문자 입력 메커니즘을 제공하는 전형적인 구조다.
도 4는 본 발명의 전형적 일 실시예에 따라 입력 순서와 무관한 문자 입력 메커니즘을 제공하는 사용자 인터페이스 디스플레이의 예를 도시한 것이다.
도 5a-5c는 본 발명의 전형적 일 실시예에 따라, 입력 순서와 무관한 문자 입력 메커니즘의 전형적 방법을 제공하는 사용자 인터페이스 디스플레이들을 도시한 것이다.
도 6은 확장된 입력 이벤트 기능에 대한 전형적 실시예를 도시한 것이다.
도 7은 본 발명의 전형적 일 실시예에 따라 입력 순서와 무관한 입력 문자 메커니즘을 제공하는 전형적 방법에 따른 흐름도이다.

Claims (26)

  1. 사용자에 의해 기입되고 있는 문자의 일부에 해당하는 구성요소를 포함한 입력을 수신함에 있어, 상기 구성요소에 해당하는 상기 문자의 상기 일부에 기초하여 상기 구성요소를 입력하는 순서와 무관하게 상기 입력을 수신하는 단계;
    상기 수신된 구성요소에 적어도 일부 기초하여, 상기 기입되고 있는 문자의 적어도 한 후보 문자를 검색하는 단계; 및
    상기 적어도 한 후보 문자를 포함하는 후보 문자들의 선택옵션 (selection)을 상기 사용자에게 제공하는 단계를 포함하고,
    상기 입력을 수신하는 단계는 적어도 한 개의 어근 (rascal)을 수신하는 단계를 포함함을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 기입되고 있는 문자의 적어도 한 후보 문자를 검색하는 단계는, 상기 구성요소를 포함하는 적어도 한 후보 문자를 검색하는 단계를 포함함을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 수신된 구성요소의 타입에 적어도 일부 근거하여 상기 후보 문자들의 선택옵션을 업데이트하는 단계를 더 포함하고, 상기 수신된 구성요소의 타입은 한 어근이나 한 획 중 적어도 하나를 포함함을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 적어도 한 후보 문자를 상기 후보 문자들의 선택옵션과 비교하여, 상기 적어도 한 후보 문자에 적어도 일부 기초하여 상기 후보 문자들의 선택옵션으로부터 적어도 한 문자를 제거하도록 하는 단계를 더 포함함을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 기입되고 있는 문자의 다른 일부에 해당하는 구성요소를 포함한 입력을 수신함에 있어, 상기 구성요소에 해당하는 상기 문자의 상기 다른 일부에 기초하여 상기 구성요소를 입력하는 순서와 무관하게 상기 입력을 수신하는 단계를 더 포함함을 특징으로 하는 방법.
  6. 제5항에 있어서, 상기 기입되고 있는 문자의 상기 다른 일부에 해당하는 구성요소를 포함한 입력을 수신함에 있어, 상기 구성요소에 해당하는 상기 문자의 상기 다른 일부에 기초하여 상기 구성요소를 입력하는 순서와 무관하게 상기 입력을 수신하는 단계는, 적어도 한 획을 수신하는 단계를 포함함을 특징으로 하는 방법.
  7. 제6항에 있어서,
    상기 후보 문자들의 선택옵션으로부터, 상기 수신된 적어도 한 획을 포함하는 문자를 식별하는 단계를 더 포함함을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 기입되고 있는 문자에 해당하는 상기 후보 문자들의 선택 옵션으로부터 한 후보 문자의 사용자 선택사항을 수신하는 단계를 더 포함함을 특징으로 하는 방법.
  9. 컴퓨터 실행가능 프로그램 코드 명령들을 저장하는 적어도 한 컴퓨터 판독가능 저장 매체를 구비한 컴퓨터 프로그램 제품에 있어서,
    상기 컴퓨터 프로그램 코드 명령들은,
    사용자에 의해 기입되고 있는 문자의 일부에 해당하는 구성요소를 포함한 입력을 수신함에 있어, 상기 구성요소에 해당하는 상기 문자의 상기 일부에 기초하여 상기 구성요소를 입력하는 순서와 무관하게 상기 입력을 수신하는 프로그램 코드 명령들;
    상기 수신된 구성요소에 적어도 일부 기초하여, 상기 기입되고 있는 문자의 적어도 한 후보 문자를 검색하는 프로그램 코드 명령들; 및
    상기 적어도 한 후보 문자를 포함하는 후보 문자들의 선택옵션 (selection)을 상기 사용자에게 제공하도록 하는 프로그램 코드 명령들을 포함하고,
    상기 입력을 수신하는 동작은, 적어도 한 개의 어근 (rascal)을 수신하는 동작을 포함함을 특징으로 하는 컴퓨터 프로그램 제품.
  10. 제9항에 있어서, 상기 기입되고 있는 문자의 적어도 한 후보 문자를 검색하는 프로그램 코드 명령들은, 상기 구성요소를 포함하는 적어도 한 후보 문자를 검색하는 명령들을 포함함을 특징으로 하는 컴퓨터 프로그램 제품.
  11. 제9항에 있어서,
    상기 수신된 구성요소의 타입에 적어도 일부 근거하여 상기 후보 문자들의 선택옵션을 업데이트하기 위한 프로그램 코드 명령들을 더 포함하고, 상기 수신된 구성요소의 타입은 한 어근이나 한 획 중 적어도 하나를 포함함을 특징으로 하는 컴퓨터 프로그램 제품.
  12. 제11항에 있어서,
    상기 적어도 한 후보 문자를 상기 후보 문자들의 선택옵션과 비교하여, 상기 적어도 한 후보 문자에 적어도 일부 기초하여 상기 후보 문자들의 선택옵션으로부터 적어도 한 문자를 제거하도록 하는 프로그램 코드 명령들을 더 포함함을 특징으로 하는 컴퓨터 프로그램 제품.
  13. 제9항에 있어서,
    상기 기입되고 있는 문자의 다른 일부에 해당하는 구성요소를 포함한 입력을 수신함에 있어, 상기 구성요소에 해당하는 상기 문자의 상기 다른 일부에 기초하여 상기 구성요소를 입력하는 순서와 무관하게 상기 입력을 수신하는 프로그램 코드 부분들을 더 포함함을 특징으로 하는 컴퓨터 프로그램 제품.
  14. 제13항에 있어서, 상기 기입되고 있는 문자의 상기 다른 일부에 해당하는 구성요소를 포함한 입력을 수신함에 있어, 상기 구성요소에 해당하는 상기 문자의 상기 다른 일부에 기초하여 상기 구성요소를 입력하는 순서와 무관하게 상기 입력을 수신하는 프로그램 코드 부분들은, 적어도 한 획을 수신하는 동작을 포함함을 특징으로 하는 컴퓨터 프로그램 제품.
  15. 제14항에 있어서,
    상기 후보 문자들의 선택옵션으로부터, 상기 수신된 적어도 한 획을 포함하는 문자를 식별하기 위한 프로그램 코드 명령들을 더 포함함을 특징으로 하는 컴퓨터 프로그램 제품.
  16. 제9항에 있어서,
    상기 기입되고 있는 문자에 해당하는 상기 후보 문자들의 선택 옵션으로부터 한 후보 문자의 사용자 선택사항을 수신하기 위한 프로그램 코드 명령들을 더 포함함을 특징으로 하는 컴퓨터 프로그램 제품.
  17. 기입되고 있는 문자의 일부에 해당하는 구성요소를 포함한 입력을 수신함에 있어, 상기 구성요소에 해당하는 상기 문자의 일부에 기초하여 상기 구성요소를 입 력하는 순서와 무관하게 상기 입력을 수신하고; 상기 수신된 구성요소에 적어도 일부 기초하여, 상기 기입되고 있는 문자의 적어도 한 후보 문자를 검색하고; 상기 적어도 한 후보 문자를 포함하는 후보 문자들의 선택옵션 (selection)을 상기 사용자에게 제공하도록 구성된 프로세서를 포함하고,
    상기 프로세서는 적어도 한 개의 어근 (rascal)을 수신함으로써 입력을 수신하도록 구성됨을 특징으로 하는 기기.
  18. 제17항에 있어서, 상기 프로세서는, 상기 구성요소를 포함하는 적어도 한 후보 문자를 검색함으로써, 상기 기입되고 있는 문자의 적어도 한 후보 문자를 검색하도록 구성됨을 특징으로 하는 기기.
  19. 제18항에 있어서, 상기 프로세서는, 상기 수신된 구성요소의 타입에 적어도 일부 근거하여 상기 후보 문자들의 선택옵션을 업데이트하도록 추가 구성되고, 상기 수신된 구성요소의 타입은 한 어근이나 한 획 중 적어도 하나를 포함함을 특징으로 하는 기기.
  20. 제17항에 있어서, 상기 프로세서는, 상기 적어도 한 후보 문자를 상기 후보 문자들의 선택옵션과 비교하여, 상기 적어도 한 후보 문자에 적어도 일부 기초하여 상기 후보 문자들의 선택옵션으로부터 적어도 한 문자를 제거하도록 추가 구성됨을 특징으로 하는 기기.
  21. 제17항에 있어서, 상기 프로세서는, 상기 기입되고 있는 문자의 다른 일부에 해당하는 구성요소를 포함한 입력을 수신함에 있어, 상기 구성요소에 해당하는 상기 문자의 상기 다른 일부에 기초하여 상기 구성요소를 입력하는 순서와 무관하게 상기 입력을 수신하도록 추가 구성됨을 특징으로 하는 기기.
  22. 제21항에 있어서, 상기 프로세서는, 상기 기입되고 있는 문자의 상기 다른 일부에 해당하는 구성요소를 포함한 입력을 수신함에 있어, 상기 구성요소에 해당하는 상기 문자의 상기 다른 일부에 기초하여 상기 구성요소를 입력하는 순서와 무관하게 상기 입력을 수신하도록 추가 구성되고, 상기 수신하는 입력은 적어도 한 획임을 특징으로 하는 기기.
  23. 제22항에 있어서, 상기 프로세서는, 상기 후보 문자들의 선택옵션으로부터, 상기 수신된 적어도 한 획을 포함하는 문자를 식별하도록 추가 구성됨을 특징으로 하는 기기.
  24. 제17항에 있어서, 상기 프로세서는, 상기 기입되고 있는 문자에 해당하는 상기 후보 문자들의 선택 옵션으로부터 한 후보 문자의 사용자 선택사항을 수신하도록 추가 구성됨을 특징으로 하는 기기.
  25. 컴퓨터 판독가능 매체에 저장된 명령들에 따라 생성되는 사용자 인터페이스에 있어서,
    한 기하학적 모양을 규정한 후 키들의 그룹화를 지원하도록 구성된 키패드를 포함하고,
    상기 키패드는, 각각의 키가 한 문자의 일부에 해당하는 한 구성요소와 결부된 기능을 제공하도록 구성된 복수의 키들을 포함하고,
    상기 키들의 그룹화는 문자의 일부에 해당하는 구성요소와 결부된 기능에 적어도 일부 근거함을 특징으로 하는 사용자 인터페이스.
  26. 제25항에 있어서, 상기 키패드의 인접 키들은 문자, 단어 또는 문장 중 적어도 하나를 형성함을 특징으로 하는 사용자 인터페이스.
KR1020090122367A 2008-12-11 2009-12-10 입력 순서와 무관한 문자 입력 메커니즘을 제공하는 방법, 기기 및 컴퓨터 프로그램 제품 KR101130206B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/332,955 2008-12-11
US12/332,955 US20100149190A1 (en) 2008-12-11 2008-12-11 Method, apparatus and computer program product for providing an input order independent character input mechanism

Publications (2)

Publication Number Publication Date
KR20100067629A true KR20100067629A (ko) 2010-06-21
KR101130206B1 KR101130206B1 (ko) 2012-03-30

Family

ID=42239954

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090122367A KR101130206B1 (ko) 2008-12-11 2009-12-10 입력 순서와 무관한 문자 입력 메커니즘을 제공하는 방법, 기기 및 컴퓨터 프로그램 제품

Country Status (6)

Country Link
US (1) US20100149190A1 (ko)
JP (2) JP2010140475A (ko)
KR (1) KR101130206B1 (ko)
CN (1) CN101825984A (ko)
SG (1) SG162657A1 (ko)
TW (1) TW201027394A (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8407243B2 (en) * 2011-02-28 2013-03-26 Sony Corporation Device and methods for presenting a scrollable user interface
US9342155B2 (en) * 2011-03-31 2016-05-17 Nokia Technologies Oy Character entry apparatus and associated methods
US10241670B2 (en) * 2011-03-31 2019-03-26 Nokia Technologies Oy Character entry apparatus and associated methods
US9274609B2 (en) 2012-07-23 2016-03-01 Mingyan Xie Inputting radical on touch screen device
KR101449376B1 (ko) * 2014-03-31 2014-10-10 정창수 컴퓨터의 한자입력 장치 및 한자입력 방법
CN112882629B (zh) * 2019-11-29 2023-07-04 北京搜狗科技发展有限公司 一种输入方法、装置和电子设备

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04352216A (ja) * 1991-05-30 1992-12-07 Canon Inc 情報処理装置および情報処理方法
US5586198A (en) * 1993-08-24 1996-12-17 Lakritz; David Method and apparatus for identifying characters in ideographic alphabet
US5893133A (en) * 1995-08-16 1999-04-06 International Business Machines Corporation Keyboard for a system and method for processing Chinese language text
JPH11110379A (ja) * 1997-09-30 1999-04-23 Sanyo Electric Co Ltd 情報検索方法及びその装置
JP2000057133A (ja) 1998-08-07 2000-02-25 Toshiba Corp 入力予測装置、入力予測方法及び入力予測プログラムを記録した記録媒体
US6801659B1 (en) * 1999-01-04 2004-10-05 Zi Technology Corporation Ltd. Text input system for ideographic and nonideographic languages
US7293231B1 (en) * 1999-03-18 2007-11-06 British Columbia Ltd. Data entry for personal computing devices
AUPR270201A0 (en) * 2001-01-25 2001-02-22 Easykeys Limited Character generation system
US7013258B1 (en) * 2001-03-07 2006-03-14 Lenovo (Singapore) Pte. Ltd. System and method for accelerating Chinese text input
US6966031B1 (en) * 2001-07-10 2005-11-15 Hai Shum Method of organizing and accessing Chinese words
US20090040184A9 (en) * 2001-10-04 2009-02-12 Infogation Corporation Information entry mechanism
EP1355225A1 (en) * 2002-04-15 2003-10-22 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Method and device for inputting chinese characters on a hand-held electronic device
US7199786B2 (en) * 2002-11-29 2007-04-03 Daniel Suraqui Reduced keyboards system using unistroke input and having automatic disambiguating and a recognition method using said system
CN1515985A (zh) * 2003-01-08 2004-07-28 时空***有限公司 数字信息处理装置及输入汉字的方法
US20050057512A1 (en) * 2003-07-17 2005-03-17 Min-Wen Du Browsing based Chinese input method
US20050027534A1 (en) * 2003-07-30 2005-02-03 Meurs Pim Van Phonetic and stroke input methods of Chinese characters and phrases
US20050114825A1 (en) * 2003-11-24 2005-05-26 International Business Machines Corporation Laptop computer including a touch-sensitive display and method of driving the laptop computer
US8334837B2 (en) * 2004-11-10 2012-12-18 Nokia Corporation Method for displaying approached interaction areas
US7889927B2 (en) * 2005-03-14 2011-02-15 Roger Dunn Chinese character search method and apparatus thereof
US20060293890A1 (en) * 2005-06-28 2006-12-28 Avaya Technology Corp. Speech recognition assisted autocompletion of composite characters
JP4639124B2 (ja) * 2005-08-23 2011-02-23 キヤノン株式会社 文字入力補助方法及び情報処理装置
JP4675265B2 (ja) * 2006-03-09 2011-04-20 Kddi株式会社 声調及び筆画によって入力文字を決定する携帯端末及びプログラム
EP2095267A4 (en) * 2006-12-18 2013-01-23 Semantic Compaction Sys DEVICE, METHOD AND COMPUTER-READABLE DATA CARRIER FOR SELECTING AND SPENDING CHINESE FONT SIGNS
US20080180283A1 (en) * 2007-01-31 2008-07-31 Sony Ericsson Mobile Communications Ab System and method of cross media input for chinese character input in electronic equipment
US20080303793A1 (en) * 2007-06-05 2008-12-11 Microsoft Corporation On-screen keyboard
US9275019B2 (en) * 2007-12-21 2016-03-01 Sap Se System and method for performing Unicode matching

Also Published As

Publication number Publication date
CN101825984A (zh) 2010-09-08
KR101130206B1 (ko) 2012-03-30
TW201027394A (en) 2010-07-16
JP2010140475A (ja) 2010-06-24
SG162657A1 (en) 2010-07-29
JP2013149273A (ja) 2013-08-01
US20100149190A1 (en) 2010-06-17

Similar Documents

Publication Publication Date Title
US9508028B2 (en) Converting text strings into number strings, such as via a touchscreen input
RU2589873C2 (ru) Способ и устройство обработки ввода
US20100131447A1 (en) Method, Apparatus and Computer Program Product for Providing an Adaptive Word Completion Mechanism
JP5372148B2 (ja) モバイルデバイス上で日本語テキストを処理する方法およびシステム
US20080294982A1 (en) Providing relevant text auto-completions
US20090198691A1 (en) Device and method for providing fast phrase input
KR101130206B1 (ko) 입력 순서와 무관한 문자 입력 메커니즘을 제공하는 방법, 기기 및 컴퓨터 프로그램 제품
WO2008065549A1 (en) Input prediction
JP2002333948A (ja) 文字選択方法及び文字選択装置
WO2014190795A1 (en) Method and device for searching for contact object, and storage medium
US10152473B2 (en) English input method and input device
JP3722359B2 (ja) 文字入力システム及び通信端末
US20090327880A1 (en) Text input
US8972241B2 (en) Electronic device and method for a bidirectional context-based text disambiguation
JP2007108971A (ja) 携帯端末における検索方法および検索装置
KR20180125237A (ko) 모바일 단말기의 이모티콘 입력방법, 그 방법을 위한 소프트웨어를 저장하는 소프트웨어 분배 서버
JP6221275B2 (ja) 文字入力用のプログラムおよび文字入力装置
KR102356788B1 (ko) 키패드를 이용한 키워드 검색 방법 및 장치
JP2010257201A (ja) 入力予測装置、携帯端末、入力予測方法およびプログラム
KR102219728B1 (ko) 키패드를 이용한 키워드 검색 방법 및 장치
CA2821787C (en) Electronic device and method for a bidirectional context-based text disambiguation
CN116360606A (zh) 一种生僻字输入方法、装置、存储介质、产品及电子设备
CN116226330A (zh) 特殊字符识别方法、装置、电子设备与计算机存储介质
JP2004362496A (ja) 単語登録装置、単語登録方法及び単語登録プログラム
EP2660728A1 (en) Electronic device and method for a bidirectional context-based text disambiguation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee