KR101484582B1 - 문자열 대체 - Google Patents

문자열 대체 Download PDF

Info

Publication number
KR101484582B1
KR101484582B1 KR20140024228A KR20140024228A KR101484582B1 KR 101484582 B1 KR101484582 B1 KR 101484582B1 KR 20140024228 A KR20140024228 A KR 20140024228A KR 20140024228 A KR20140024228 A KR 20140024228A KR 101484582 B1 KR101484582 B1 KR 101484582B1
Authority
KR
South Korea
Prior art keywords
gesture
location
string
indication
text
Prior art date
Application number
KR20140024228A
Other languages
English (en)
Other versions
KR20140108176A (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 KR20140108176A publication Critical patent/KR20140108176A/ko
Application granted granted Critical
Publication of KR101484582B1 publication Critical patent/KR101484582B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs

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)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

일 예에서, 방법이 제시되는바, 이 방법은 텍스트 디스플레이 영역 및 그래픽 키보드를 포함하는 그래픽 사용자 인터페이스를 프레즌스-감지 디스플레이에서의 디스플레이를 위해 출력하는 것을 포함한다. 이 방법은 또한, 텍스트 디스플레이 영역 내의 위치에서 검출된 제 1 제스처의 표시를 수신하는 것과, 그리고 텍스트 디스플레이 영역 내의 위치에 적어도 부분적으로 근거하여, 텍스트 디스플레이 영역에 포함되는 문자열의 적어도 일부분을 선택하는 것을 포함한다. 이 방법은 또한, 그래픽 키보드의 적어도 하나의 키를 선택하기 위한 제 2 제스처의 적어도 일부분의 표시를 제 1 제스처가 프레즌스-감지 디스플레이에서 검출되는 동안 수신하는 것과, 그리고 적어도 제 2 제스처의 종료의 표시를 수신함에 응답하여 문자열의 일부분을 대체하기 위해 텍스트 디스플레이 영역 내에서의 디스플레이를 위한 대체 문자열을 출력하는 것을 포함한다.

Description

문자열 대체{CHARACTER STRING REPLACEMENT}
일반적으로, 본 개시내용은 디스플레이되는 문자열(character string)의 적어도 일부분을 대체(replace)하기 위해 대체 문자열(replacement character string)을 출력하기 위한 기법에 관한 것이다.
일부 컴퓨팅 디바이스(예를 들어, 모바일 전화기, 태블릿 컴퓨터 등)은 프레즌스-감지 디스플레이(presence-sensitive display)(예를 들어, 스크린)를 사용하여 텍스트(text)를 입력하기 위한 그래픽 사용자 인터페이스(graphical user interface)의 일부로서 그래픽 키보드(graphical keyboard)를 제공할 수 있다. 그래픽 키보드는 컴퓨팅 디바이스의 사용자로 하여금 (예를 들어, 이메일(e-mail), 텍스트 메시지, 혹은 문서 등을 위한) 텍스트를 입력할 수 있게 한다. 예컨대, 컴퓨팅 디바이스의 프레즌스-감지 디스플레이는 사용자로 하여금 프레즌스-감지 디스플레이에서 디스플레이되는 키들을 표시(indicating)함으로써(예를 들어, 탭핑(tapping))함으로써) 데이터를 입력할 수 있게 하는 그래픽 키보드(혹은 "소프트(soft)" 키보드)를 출력할 수 있다.
그래픽 키보드는 사용자로 하여금 텍스트의 하나 이상의 부분들을 삭제 및/또는 대체할 수 있게 한다. 예컨대, 일부 예들에서, 사용자는 텍스트의 문자들을 삭제하기 위해 그래픽 키보드에 포함된 백스페이스 키(backspace key) 혹은 딜리이트 키(delete key)를 반복적으로 선택할 수 있다. 어떤 기법들은 사용자로 하여금텍스트의 일부분(예를 들어, 단어)을 선택할 수 있게 하고, 그래픽 키보드에서 혹은 그래픽 키보드에서 근처에서 제스처를 제공함으로써 대체 텍스트(replacement text)를 입력할 수 있게 한다. 그러나, 이러한 예들에서, 사용자는 텍스트의 크기가 사용자의 입력 매체와 비교해(예를 들어, 사용자의 손가락의 크기에 비해) 작은 경우 텍스트의 일부분을 정확하게 선택하는 것이 어렵다는 것을 경험할 수 있다. 더욱이, 이러한 기법을 사용하는 경우, 사용자는 전형적으로, 추가적인 텍스트를 문장의 끝에 삽입하기 전에, 커서(cursor) 혹은 캐럿(carat)의 위치를 바꾸기 위해 컴퓨팅 디바이스에 추가적인 입력(예를 들어, 후속의 터치 입력)을 제공해야할 필요가 있을 수 있다. 이처럼, 그래픽 키보드를 사용하는 경우 문자들을 삭제 및/또는 대체하는 것은 어려울 수 있으며, 사용자가 컴퓨팅 디바이스와 상호대화할 수 있는 속도를 감소시킬 수 있다.
일 예에서, 방법이 제공되며, 이 방법은, 텍스트 디스플레이 영역(text display region) 및 그래픽 키보드(graphical keyboard)를 포함하는 그래픽 사용자 인터페이스(graphical user interface)를 컴퓨팅 디바이스(computing device)에 의해 프레즌스-감지 디스플레이(presence-sensitive display)에서의 디스플레이를 위해 출력하는 것과, 그리고 텍스트 디스플레이 영역 내의 위치에 있는 프레즌스-감지 디스플레이에서 검출된 제 1 제스처(gesture)의 표시를 컴퓨팅 디바이스에 의해 수신하는 것을 포함한다. 이 방법은 또한, 텍스트 디스플레이 영역 내의 위치에 적어도 부분적으로 근거하여, 문자열(character string)의 적어도 일부분을 컴퓨팅 디바이스에 의해 선택하는 것과, 그래픽 키보드의 적어도 하나의 키(key)를 선택하기 위한 제 2 제스처의 적어도 일부분의 표시를 제 1 제스처가 프레즌스-감지 디스플레이에서 검출되는 동안 컴퓨팅 디바이스에서 수신하는 것과, 그리고 적어도 제 2 제스처의 종료의 표시를 수신함에 응답하여 문자열의 일부분을 대체하기 위해 텍스트 디스플레이 영역 내에서의 디스플레이를 위한 대체 문자열(replacement character string)을 컴퓨팅 디바이스에 의해 출력하는 것을 포함한다. 대체 문자열은 적어도 하나의 키에 적어도 부분적으로 근거할 수 있다.
또 다른 예에서, 명령들이 인코딩(encoding)되어 있는 컴퓨터 판독가능 저장 매체가 제공되며, 여기서 명령들은 실행시 컴퓨팅 디바이스의 적어도 하나의 프로세서로 하여금, 텍스트 디스플레이 영역 및 그래픽 키보드를 포함하는 그래픽 사용자 인터페이스를 프레즌스-감지 디스플레이에서의 디스플레이를 위해 출력하는 것과, 텍스트 디스플레이 영역 내의 위치에 있는 프레즌스-감지 디스플레이에서 검출된 제 1 제스처의 표시를 수신하는 것과; 그리고 텍스트 디스플레이 영역 내의 위치에 적어도 부분적으로 근거하여, 문자열의 적어도 일부분을 선택하는 것을 수행하도록 한다. 이러한 컴퓨터 판독가능 저장 매체는 또한, 실행시 컴퓨팅 디바이스의 적어도 하나의 프로세서로 하여금, 그래픽 키보드의 적어도 하나의 키를 선택하기 위한 제 2 제스처의 적어도 일부분의 표시를 제 1 제스처가 프레즌스-감지 디스플레이에서 검출되는 동안 수신하는 것과, 그리고 적어도 제 2 제스처의 종료의 표시를 수신함에 응답하여 문자열의 일부분을 대체하기 위해 텍스트 디스플레이 영역 내에서의 디스플레이를 위한 대체 문자열을 출력하는 것을 수행하도록 하는 명령들로 인코딩되며, 여기서 대체 문자열은 적어도 하나의 키에 적어도 부분적으로 근거한다.
또 다른 예에서, 디바이스가 제공되며, 이 디바이스는 적어도 하나의 프로세서와, 프레즌스-감지 디스플레이와, 그리고 적어도 하나의 프로세서에 의해 동작가능한 적어도 하나의 모듈을 포함하며, 여기서 적어도 하나의 프로세서에 의해 적어도 하나의 모듈은, 텍스트 디스플레이 영역 및 그래픽 키보드를 포함하는 그래픽 사용자 인터페이스를 프레즌스-감지 디스플레이에서의 디스플레이를 위해 출력하는 것과, 텍스트 디스플레이 영역 내의 위치에 있는 프레즌스-감지 디스플레이에서 검출된 제 1 제스처의 표시를 수신하는 것과, 그리고 텍스트 디스플레이 영역 내의 위치에 적어도 부분적으로 근거하여, 문자열의 적어도 일부분을 선택하는 것을 수행하도록 동작가능하다. 적어도 하나의 프로세서에 의해 적어도 하나의 모듈은 또한, 그래픽 키보드의 적어도 하나의 키를 선택하기 위한 제 2 제스처의 적어도 일부분의 표시를 제 1 제스처가 프레즌스-감지 디스플레이에서 검출되는 동안 수신하는 것과, 그리고 적어도 제 2 제스처의 종료의 표시를 수신함에 응답하여 문자열의 일부분을 대체하기 위해 텍스트 디스플레이 영역 내에서의 디스플레이를 위한 대체 문자열을 출력하는 것을 수행하도록 동작가능하며, 여기서 대체 문자열은 적어도 하나의 키에 적어도 부분적으로 근거한다.
본 개시내용의 하나 이상의 예들의 세부사항은 첨부되는 도면 및 아래의 상세한 설명에서 제시된다. 다른 특징, 목적 및 장점은 이러한 설명 및 도면으로 명백하게 될 것이며 아울러 본원의 특허청구범위로부터 명백하게 될 것이다.
도 1은 본 개시내용의 하나 이상의 기법들에 따른, 디스플레이되는 문자열의 적어도 일부분을 대체하기 위한 대체 문자열을 출력하기 위해 사용될 수 있는 예시적인 컴퓨팅 디바이스를 나타내는 블록도이다.
도 2는 본 개시내용의 하나 이상의 기법들에 따른, 도 1에서 제시되는 바와 같은 컴퓨팅 디바이스의 일 예의 세부사항을 더 상세히 예시하는 블록도이다.
도 3은 본 개시내용의 하나 이상의 기법들에 따른, 도 1에서 제시되는 바와 같은 컴퓨팅 디바이스의 일 예의 세부사항을 더 상세히 예시하는 블록도이다.
도 4는 본 개시내용의 하나 이상의 기법들에 따른, 도 1에서 제시되는 바와 같은 컴퓨팅 디바이스의 일 예의 세부사항을 더 상세히 예시하는 블록도이다.
도 5는 본 개시내용의 하나 이상의 기법들에 따른, 디스플레이되는 문자열의 적어도 일부분을 대체하기 위해 대체 문자열을 출력하는 컴퓨팅 디바이스의 예시적인 동작들을 나타내는 흐름도이다.
도 6은 본 개시내용의 하나 이상의 기법들에 따른, 원격 디바이스에서의 디스플레이를 위해 그래픽 콘텐츠를 출력하는 예시적인 컴퓨팅 디바이스를 나타낸 블록도이다.
일반적으로, 본 개시내용은 디스플레이되는 문자열의 적어도 일부분을 대체하기 위해 대체 문자열을 출력하기 위한 기법에 관한 것이다. 일부 예들에서, 그래픽 키보드를 디스플레이하는 프레즌스-감지 디스플레이는 또한 제스처들을 검출할 수 있다. 프레즌스-감지 디스플레이(예를 들어, 터치-감지 스크린)는 프레즌스-감지 디스플레이에서 수행되거나 혹은 프레즌스-감지 디스플레이 가까이에서 수행되는 제스처 형태의 사용자 입력을 검출함으로써 사용자로 하여금 텍스트를 입력할 수 있게 한다. 특정 예들에서, 사용자는 프레즌스-감지 디스플레이에서 혹은 프레즌스-감지 디스플레이 가까이에서 하나 이상의 제스처를 수행함으로써 일련의 텍스트, 예를 들어, 단어를 입력할 수 있다. 예를 들어, 사용자는 그래픽 키보드의 키들과 관련된 하나 이상의 문자들을 순차적으로 선택하기 위해 프레즌스-감지 디스플레이에서 혹은 프레즌스-감지 디스플레이 가까이에서 하나 이상의 터치 제스처를 수행할 수 있다.
종래에, 사용자는 프레즌스-감지 디스플레이에서 혹은 프레즌스-감지 디스플레이 가까이에서 하나 이상의 제스처를 수행함으로써 문자들 중 하나 이상의 문자를 삭제할 수 있다. 예를 들어, 사용자는 문자를 삭제하기 위해 그래픽 키보드에 포함되는 백스페이스 키 혹은 딜리이트 키를 반복적으로 선택할 수 있다. 백스페이스 키의 각각의 선택은 텍스트에 포함된 단일 문자를 순차적으로 삭제할 수 있다. 그러나, 이러한 종래의 기법은 삭제하거나 혹은 대체하기를 원하는 텍스트의 일부분에 포함된 문자보다 더 많은 문자들이 삭제되게 할 수 있다. 예를 들어, 이러한 기법을 사용하여, 사용자는 텍스트의 원하는 부분(예를 들어, 하나 이상의 단어들, 단어에 포함된 하나 이상의 문자들, 등)이 삭제될 때까지 컴퓨팅 디바이스로 하여금 일련의 텍스트 내에 포함된 문자들을 순차적으로 삭제하도록 하는 백스페이스 키를 반복적으로 선택할 수 있다. 그러나, 이러한 순차적 삭제는 삭제되기를 원하지 않는 문자들(예를 들어 삭제되기를 원하는 문자들에 인접한 하나 이상의 문자들)의 삭제가 일어나게 할 수 있다.
본 명세서에서 설명되는 기법들은, 프레즌스-감지 디스플레이에서 혹은 프레즌스-감지 디스플레이 가까이에서 수행되는 하나 이상의 제스처를 사용하여 사용자가 대체 텍스트를 입력할 때의 정확성 및 용이성을 향상시킬 수 있다. 본 개시내용의 다양한 기법들에 따르면, 컴퓨팅 디바이스는 텍스트 디스플레이 영역 및 그래픽 키보드를 포함하는 그래픽 사용자 인터페이스(Graphical User Interface, GUI)를 (예를 들어, 프레즌스-감지 디스플레이에서의) 디스플레이를 위해 출력할 수 있다. 컴퓨팅 디바이스는 텍스트 디스플레이 영역 내의 위치에서 검출된 제 1 제스처의 표시를 수신할 수 있다. 텍스트 디스플레이 영역 내의 위치에 적어도 부분적으로 근거하여, 컴퓨팅 디바이스 텍스트 디스플레이 영역에 포함되는 문자열의 적어도 일부분을 선택할 수 있다. 예를 들어, 컴퓨팅 디바이스는 텍스트 디스플레이 영역 내에 포함되는 텍스트의 단어와 관련된 프레즌스-감지 디스플레이의 위치에서 검출된 터치 제스처의 표시를 수신할 수 있다. 이에 응답하여, 컴퓨팅 디바이스는 텍스트 디스플레이 영역에 포함되는 텍스트의 단어를 선택할 수 있다.
제 1 제스처가 프레즌스-감지 디스플레이에서 검출되는 동안, 컴퓨팅 디바이스는 그래픽 키보드의 적어도 하나의 키를 선택하기 위한 제 2 제스처의 적어도 하나의 일부분의 표시를 수신할 수 있다. 컴퓨팅 디바이스가 제스처-기반의 그래픽 키보드를 출력하는 때와 같은, 특정 예들에서, 제 2 제스처는 그래픽 키보드 내에 포함된 키들의 그룹을 선택하기 위한 연속적인 모션 제스처(motion gesture)를 포함할 수 있다. 일부 예들에서, 컴퓨팅 디바이스는 복수의 터치 입력들의 표시를 수신할 수 있는바, 복수의 터치 입력들 각각은 그래픽 키보드 내에 포함된 개개의 키를 선택하기 위한 것이다(예를 들어, 탭핑(tapping)). 컴퓨팅 디바이스는 그래픽 키보드의 적어도 하나의 선택된 키와 관련된 적어도 하나의 문자에 적어도 부분적으로 근거하여 대체 문자열을 결정할 수 있다.
컴퓨팅 디바이스는 텍스트 디스플레이 영역 내에 포함된 문자열의 선택된 부분(예를 들어, 단어)을 대체하기 위한 대체 문자열을 (예를 들어, 프레즌스-감지 디스플레이에서의) 디스플레이를 위해 출력할 수 있다. 특정 예들에서, 컴퓨팅 디바이스는 제 1 제스처(즉, 텍스트 디스플레이 영역 내에 포함된 문자열을 선택하기 위한 제 1 제스처)의 종료의 표시를 수신하는 것에 응답하여 대체 문자열을 출력할 수 있다. 이러한 방식으로, 컴퓨팅 디바이스는 컴퓨팅 디바이스의 사용자로 하여금 디스플레이되는 문자열의 일부분을 선택할 수 있게 하고 그리고 사용자가 대체될 문자열을 선택하기 위한 제스처 입력을 유지하는 동안 대체 문자열을 선택하기 위한 제스처 입력(예를 들어, 하나 이상의 탭 제스처(tap gestures) 및/또는 스와이프 제스처(swipe gesture)와 같은 것)을 빠르게 제공할 수 있게 한다. 이처럼, 본 명세서에서 설명되는 기법들은 그래픽 키보드를 사용하여 대체 문자열을 선택함으로써 사용자가 디스플레이되는 텍스트의 일부분을 대체할 할 때의 용이성을 향상시킬 수 있다.
더욱이, 특정 예들에서, 컴퓨팅 디바이스는 대체 문자열의 출력에 응답하여 (예를 들어, 텍스트 삽입 커서 혹은 캐럿에 대응하는) 텍스트 삽입 위치를 업데이트할 수 있다. 예를 들어, 대체 문자열의 출력에 응답하여, 컴퓨팅 디바이스는 텍스트 삽입 위치를 텍스트의 그룹의 끝에 대응하도록 업데이트할 수 있다. 이러한 방식으로, 본 개시내용의 기법들은 사용자로 하여금 디스플레이되는 텍스트의 일부분을 효율적으로 대체할 수 있게 한다. 더욱이, 본 기법들은 사용자로 하여금, 텍스트 삽입 위치를 이전 위치(예를 들어, 텍스트의 라인의 끝)로 위치변경시키는 제스처 입력을 제공함이 없이, 이전 텍스트 삽입 위치(예를 들어, 텍스트의 라인의 끝)에서의 텍스트 입력을 위한 후속 제스처 입력을 제공할 수 있게 한다. 이처럼, 본 명세서에서 설명되는 기법들에 따르면, 컴퓨팅 디바이스는 사용자가 그래픽 키보드를 사용하여 텍스트를 입력하기 위해 컴퓨팅 디바이스와 상호대화할 때의 속도를 향상시킬 수 있고, 이에 따라 컴퓨팅 디바이스의 유용성(usability)이 향상되게 된다.
도 1은 본 개시내용의 하나 이상의 기법들에 따른, 디스플레이되는 문자열의 적어도 일부분을 대체하기 위한 대체 문자열을 사용자 입력에 응답하여 출력하는 예시적인 컴퓨팅 디바이스(2)를 나타내는 블록도이다. 일부 예들에서, 컴퓨팅 디바이스(2)는 사용자(12)와 관련될 수 있다. 컴퓨팅 디바이스와 관련된 사용자는 다양한 사용자 입력을 컴퓨팅 디바이스에 제공함으로써 컴퓨팅 디바이스와 상호대화할 수 있다.
컴퓨팅 디바이스(2)의 예들은, (스마트폰을 포함하는) 모바일 전화기와 같은 휴대용 혹은 모바일 디바이스들, 랩탑 컴퓨터들, 데스크탑 컴퓨터들, 태블릿 컴퓨터들, 스마트 텔레비젼 플랫폼(smart television platform)들, 카메라들, 개인 휴대정보 단말기(Personal Digital Assistant, PDA)들, 서버들, 메인프레임(mainframe)들, 하나 이상의 프로세서들, 등을 포함할 수 있지만, 이러한 것으로만 한정되는 것은 아니다. 도 1의 예에서 제시되는 바와 같이, 컴퓨팅 디바이스(2)는 태블릿 컴퓨터일 수 있다. 컴퓨팅 디바이스(2)는, 일부 예들에서, 사용자 인터페이스(User Interface, UI) 디바이스(4), UI 모듈(6), 제스처 모듈(gesture module)(8), 그리고 문자 대체 모듈(character replacement module)(10)을 포함할 수 있다. 본 개시내용의 기법들을 구현하는 컴퓨팅 디바이스(2)의 다른 예들은 도 1에서 제시되지 않은 추가적인 컴포넌트들을 포함할 수 있다.
컴퓨팅 디바이스(2)는 UI 디바이스(4)를 포함할 수 있다. 일부 예들에서, UI 디바이스(4)는 촉각적 입력, 청각적 입력, 혹은 시각적 입력을 수신하도록 구성될 수 있다. 도 1에 제시된 바와 같이, UI 디바이스(4)는 터치-감지 및/또는 프레즌스-감지 디스플레이를 포함할 수 있거나 혹은 입력을 수신하기 위한 임의의 다른 타입의 디바이스를 포함할 수 있다. UI 디바이스(4)는 그래픽 사용자 인터페이스(GUI)와 같은 콘텐츠를 디스플레이를 위해 출력할 수 있다. 도 1의 예에서, UI 디바이스(4)는 그래픽 사용자 인터페이스를 디스플레이할 수 있는 프레즌스-감지 디스플레이일 수 있으며, 프레즌스-감지 디스플레이에서 혹은 프레즌스-감지 디스플레이 가까이에서 용량성 검출, 유도성 검출 및/또는 광학 검출을 사용하여 사용자(12)로부터 입력을 수신할 수 있다.
도 1에서 제시되는 바와 같이, 컴퓨팅 디바이스(2)는 UI 모듈(6)을 포함할 수 있다. UI 모듈(6)은 사용자 입력과 같은 입력을 수신하기 위한 하나 이상의 기능들을 수행할 수 있고, 이러한 입력을 제스처 모듈(8) 및/또는 문자 대체 모듈(10)과 같은 컴퓨팅 디바이스(2)와 관련된 다른 컴포넌트들에 전송하는 하나 이상의 기능들을 수행할 수 있다. 예를 들어, UI 모듈(6)은 UI 디바이스(4)에서 사용자(12)에 의해 수행된 제스처를 결정할 수 있다. UI 모듈(6)은 또한, 제스처 모듈(8) 및/또는 문자 대체 모듈(10)과 같은 컴퓨팅 디바이스(2)와 관련된 컴포넌트들로부터 데이터를 수신할 수 있다. 데이터를 사용하여, UI 모듈(6)은 UI 디바이스(4)와 같은 컴퓨팅 디바이스(2)와 관련된 다른 컴포넌트들로 하여금 데이터에 근거하는 출력을 제공하도록 할 수 있다. 예를 들어, UI 모듈(6)은 문자 대체 모듈(10)로부터 데이터를 수신할 수 있고, 문자 대체 모듈(10)은 UI 디바이스(4)로 하여금 GUI(14)의 텍스트 디스플레이 영역(16)에서 정보를 디스플레이하도록 한다.
UI 모듈(6)은 다양한 방식으로 구현될 수 있다. 예를 들어, UI 모듈(6)은 다운로드가능한 혹은 사전에 설치된 애플리케이션 혹은 "앱(app)"으로서 구현될 수 있다. 또 다른 예에서, UI 모듈(6)은 컴퓨팅 디바이스(2)의 하드웨어 유닛의 일부로서 구현될 수 있다. 또 다른 예에서, UI 모듈(6)은 컴퓨팅 디바이스(2)의 오퍼레이팅 시스템(operating system)의 일부로서 구현될 수 있다.
컴퓨팅 디바이스(2)는, 일부 예들에서, 제스처 모듈(8)을 포함한다. 제스처 모듈(8)은 본 명세서에서 설명되는 기법들에 따른, 컴퓨팅 디바이스(2) 상에서의 다양한 동작들을 수행하는 기능(예를 들어, GUI(14)의 텍스트 디스플레이 영역 내에 포함되는 문자열의 적어도 일부분을 선택하는 기능)을 포함할 수 있다. 제스처 모듈(8)은 다양한 방식으로 구현될 수 있다. 예를 들어, 제스처 모듈(8)은 다운로드가능한 혹은 사전에 설치된 애플리케이션 혹은 "앱"으로서 구현될 수 있다. 또 다른 예에서, 제스처 모듈(8)은 컴퓨팅 디바이스(2)의 하드웨어 유닛의 일부로서 구현될 수 있다. 또 다른 예에서, 제스처 모듈(8)은 컴퓨팅 디바이스(2)의 오퍼레이팅 시스템의 일부로서 구현될 수 있다.
제스처 모듈(8)은 UI 모듈(6)과 같은 컴퓨팅 디바이스(2)와 관련된 컴포넌트들로부터 데이터를 수신할 수 있다. 예를 들어, 제스처 모듈(8)은 UI 모듈(6)로부터 제스처 데이터를 수신할 수 있고, UI 모듈(6)은 제스처 모듈(8)로 하여금 제스처 데이터로부터 텍스트를 결정하도록 한다. 일부 예들에서, 제스처 모듈(8)은 UI 모듈(6)로부터 수신된 정보에 근거하여, 터치된 혹은 사용자 제스처에 응답하여 검출된 UI 디바이스(4)의 하나 이상의 위치를 결정한다. 제스처 모듈(8)은 또한, UI 모듈(6) 및/또는 문자 대체 모듈(10)과 같은 컴퓨팅 디바이스(2)와 관련된 컴포넌트들에 데이터를 전송할 수 있다.
컴퓨팅 디바이스(2)는, 특정 예들에서, 문자 대체 모듈(10)을 포함한다. 문자 대체 모듈(10)은 본 명세서에서 설명되는 기법들에 따른, 컴퓨팅 디바이스(2) 상에서의 다양한 동작들을 수행하는 기능(예를 들어, GUI(14)의 텍스트 디스플레이 영역(16) 내에 포함되는 문자열의 적어도 일부분을 대체하기 위해 대체 문자열을 출력하는 기능)을 포함할 수 있다. 문자 대체 모듈(10)은 다양한 방식으로 구현될 수 있다. 예를 들어, 문자 대체 모듈(10)은 다운로드가능한 혹은 사전에 설치된 애플리케이션 혹은 "앱"으로서 구현될 수 있다. 또 다른 예에서, 문자 대체 모듈(10)은 컴퓨팅 디바이스(2)의 하드웨어 유닛의 일부로서 구현될 수 있다. 또 다른 예에서, 문자 대체 모듈(10)은 컴퓨팅 디바이스(2)의 오퍼레이팅 시스템의 일부로서 구현될 수 있다.
문자 대체 모듈(10)은 컴퓨팅 디바이스(2)와 관련된 컴포넌트들(예를 들어, 제스처 모듈(8)과 같은 것)로부터 데이터를 수신할 수 있다. 예를 들어, 문자 대체 모듈(10)은 제스처 모듈(8)로부터 제스처 데이터를 수신할 수 있고, 제스처 모듈(8)은 문자 대체 모듈(10)로 하여금 GUI(14)에 포함되는 문자열의 적어도 일부분을 선택하도록 한다. 문자 대체 모듈(10)은 또한 UI 모듈(6) 및/또는 제스처 모듈(8)과 같은 컴퓨팅 디바이스(2)와 관련된 컴포넌트들에 데이터를 전송할 수 있다. 예를 들어, 문자 대체 모듈(10)은 제스처 데이터로부터 결정된 텍스트를 UI 모듈(6)에 전송할 수 있고, UI 모듈(6)은 UI 디바이스(4)로 하여금 GUI(14)를 디스플레이하도록 한다.
도 1에서 제시되는 바와 같이, GUI(14)는 UI 모듈(6)에 의해 발생되는 사용자 인터페이스일 수 있으며, 이것은 사용자(12)로 하여금 컴퓨팅 디바이스(2)와 상호대화할 수 있게 한다. GUI(14)는 그래픽 콘텐츠를 포함할 수 있다. 그래픽 콘텐츠는 일반적으로, 텍스트, 영상, 동영상의 그룹, 등을 포함할 수 있다. 도 1에서 제시되는 바와 같이, 그래픽 콘텐츠는 텍스트 디스플레이 영역(16) 및 그래픽 키보드(18)를 포함할 수 있다. 그래픽 키보드(18)는 복수의 키들, 예를 들어, "I" 키(28) 및 "S" 키(34)를 포함할 수 있다. 일부 예들에서, 그래픽 키보드(18)에 포함되는 복수의 키들 각각은 단일 문자를 나타낸다. 다른 예들에서, 그래픽 키보드(18)에 포함되는 복수의 키들 중 하나 이상의 키는 복수의 모드들에 근거하여 선택되는 문자들의 그룹을 나타낸다. 그래픽 키보드(18)는 선택가능한 키들의 정돈된 세트로서 UI 디바이스(4)에 의해 디스플레이될 수 있다. 키들은 문자 세트(예를 들어, 영어 알파벳의 글자들)로부터의 단일 문자를 나타낼 수 있거나, 혹은 문자들의 조합을 나타낼 수 있다. 그래픽 키보드의 일 예는 종래의 "쿼티(QWERTY)" 키보드 레이아웃을 포함할 수 있다. 다른 예들은 이와는 다른 언어에 대한 문자, 다른 문자 세트, 혹은 다른 문자 레이아웃을 포함할 수 있다. 도 1의 예에서 제시되는 바와 같이, 그래픽 키보드(18)는 문자 키들과 아울러 다른 기능을 제공하는 다양한 키들(예를 들어, "?123" 키)을 제공하는 영어에 대한 종래의 "쿼티" 키보드 레이아웃 버전을 포함한다.
일부 예들에서, 텍스트 디스플레이 영역(16)은 예를 들어, 텍스트-메시지, 문서, 이메일 메시지, 웹 브라우저 등에 포함되는 문자들 혹은 다른 그래픽 콘텐츠를 포함할 수 있다. 예를 들어, 텍스트 디스플레이 영역(16)은 UI 디바이스(4)에서 수행되는 제스처들을 통해 사용자(12)에 의해 선택되는 문자들 혹은 다른 그래픽 콘텐츠를 포함할 수 있다.
도 1의 예에서 제시되는 바와 같이, 텍스트 디스플레이 영역(16)은 문자들 "This is a"를 포함하는 문자열(20)을 포함할 수 있다. 문자열은 하나 이상의 문자들을 포함할 수 있는바, 예를 들어, 글자 문자들(letter characters), 숫자 문자들(number characters), 공백 구획 문자들(space delimiter characters), 및 구분 문자들(punctuation characters)(예를 들어, 마침표(period), 쉼표(comma), 세미콜론(semicolon), 아포스트로피(apostrophe), 콜론(colon), 의문 부호(question mark), 감탄 부호 문자들(exclamation point characters) 등)을 포함할 수 있지만 이러한 것으로만 한정되는 것은 아니다. 예를 들어, 문자열(20)의 예시된 사례는 글자 문자들과 공백 구획 문자들을 포함하고 있지만, 특정 예들에 있어서, 문자열은 다른 타입의 문자들(예를 들어, 숫자, 기호, 구분 문자 등과 같은 것)을 포함할 수 있다.
UI 모듈(6)은 텍스트 디스플레이 영역(16)의 위치와 관련된 텍스트 삽입 위치를 결정한다. 텍스트 삽입 위치는 선택된 텍스트(예를 들어, 그래픽 키보드(18)를 사용하여 선택된 하나 이상의 문자들)를 포함하는 텍스트 디스플레이 영역(16)의 위치에 대응할 수 있다. 예를 들어, 제스처 모듈(8)은 그래픽 키보드(18)의 하나 이상의 키들을 선택하는 UI 디바이스(4)(예를 들어, 프레즌스-감지 디스플레이)에서 검출된 하나 이상의 제스처 입력들의 표시를 수신할 수 있다. UI 모듈(6)은 예를 들어, 텍스트 삽입 위치를 텍스트의 라인의 끝에 대응하는 텍스트 디스플레이 영역(16)의 위치로서 결정할 수 있다. 일부 예들에서, 텍스트의 라인의 끝은 화이트스페이스(whitespace)(예를 들어, 눈에 보이지 않는 후속의 문자들) 전에 있는 마지막으로 눈에 보이는 문자 다음에 오는 말단 문자 위치를 말할 수 있다. UI 모듈(6)은 선택된 문자를 텍스트 삽입 위치에서 디스플레이할 수 있다. 선택된 문자를 텍스트 삽입 위치에서 디스플레이하는 것에 응답하여, UI 모듈(6)은 텍스트 삽입 위치를 텍스트 디스플레이 영역(16)의 다른 위치(예를 들어, 새롭게 디스플레이되는 문자 다음에 오는 텍스트 디스플레이 영역(16)의 위치)에 대응하도록 업데이트할 수 있다. 이러한 방식으로, UI 모듈(6)은 사용자로 하여금 예를 들어, 이메일, 텍스트 메시지, 혹은 다른 문자-기반 메시지 및/또는 문서를 작성하기 위해 텍스트의 문자들을 순차적으로 선택하는 제스처 입력을 제공할 수 있게 한다.
특정 예들에서, UI 모듈(6)은 텍스트 삽입 위치의 시각적 표시를 텍스트 디스플레이 영역(16)에서의 디스플레이를 위해 출력할 수 있다. 예를 들어, 도 1에서 예시되는 바와 같이, UI 모듈(6)은 텍스트 삽입 위치(예를 들어, 문자열(20)의 끝)에 대응하는 텍스트 디스플레이 영역(16)의 위치에서 커서(24)를 출력할 수 있다. 그러나, 도 1의 예에서 커서로서 제시되고 있지만, 본 개시내용의 기법들은 이러한 것으로만 한정되지 않는다. 예를 들어, UI 모듈(6)은 캐럿, 포인터, 텍스트 디스플레이 영역(16)의 하이라이트(highlight)된 부분 등으로서 텍스트 삽입 위치의 시각적 표시를 출력할 수 있다. 일반적으로, UI 모듈(6)은 새롭게 선택된 텍스트가 디스플레이될 텍스트 디스플레이 영역(16)의 위치를 사용자로 하여금 인식할 수 있게 하는 텍스트 삽입 위치의 임의의 표시를 출력할 수 있다. 특정 예들에서, UI 모듈(6)은 텍스트 삽입 위치의 표시를 출력하지 않을 수 있다.
제스처 모듈(8)은 텍스트 디스플레이 영역(16) 내의 위치에서 검출된 입력 유닛(예를 들어, 손가락, 펜(pen), 스타일러스(stylus) 등)의 표시를 수신할 수 있다. 예를 들어, 도 1에서 예시되는 바와 같이, 제스처 모듈(8)은 텍스트 디스플레이 영역(16)의 위치(26)에서 검출된 제 1 입력 유닛(27)(예를 들어, 사용자(12)의 손가락)의 표시를 수신할 수 있다. 문자 대체 모듈(10)은 (예를 들어, 위치(26)에서 검출된 터치 제스처에 대응하는) 위치(26)에 적어도 부분적으로 근거하여, 문자열(20)의 적어도 일부분을 선택할 수 있다. 예를 들어, 예시된 바와 같이, 문자 대체 모듈(10)은 텍스트 디스플레이 영역(16)의 위치(26)에서 제 1 입력 유닛(27)을 검출하는 것에 적어도 부분적으로 근거하여 문자열(20)의 일부분(22)을 선택할 수 있다. 특정 예들에서, 문자 대체 모듈(10)은 그 일부분(22)을 문자열(20)에 포함된 단어로서 선택할 수 있다. 예를 들어, 문자 대체 모듈(10)은 단어를 디스플레이하는 텍스트 디스플레이 영역(16)의 위치를 결정할 수 있다. 단어는 예를 들어, 공백 구획 문자 및 구분 문자 중 하나 이상에 의해 경계가 정해지는 (예컨대, 사전과 같은) 언어 모델에 포함되는 문자들의 시퀀스를 포함할 수 있다. 예를 들어, 도 1의 예에서와 같이, 단어는 영어로 포함되는 문자들 "it"을 포함할 수 있다.
문자 대체 모듈(10)은 일부분(22)을 디스플레이하는 텍스트 디스플레이 영역(16)의 위치와 위치(26) 간의 거리에 적어도 부분적으로 근거하여 일부분(22)(예를 들어, 단어 "it")을 선택할 수 있다. 예를 들어, 도 1의 예에서와 같이, 문자 대체 모듈(10)은 일부분(22)을 디스플레이하는 텍스트 디스플레이 영역(16)의 위치(예를 들어, 단어 "it"을 디스플레이하는 텍스트 디스플레이 영역(16)의 해당 영역의 중심(centroid))와 위치(26) 간의 거리(예를 들어, 유클리드 거리(Euclidian distance))를 결정할 수 있다. 일부 예들에서, 문자 대체 모듈(10)은 일부분(22)을 디스플레이하는 텍스트 디스플레이 영역(16)의 위치와 위치(26) 간의 결정된 거리를 임계 거리와 비교할 수 있다. 문자 대체 모듈(10)은 일부분(22)을 디스플레이하는 텍스트 디스플레이 영역(16)의 위치와 위치(26) 간의 거리가 임계 거리를 만족시키는지를 결정할 수 있다(예를 들어, 결정된 거리가 임계 거리보다 작을 때(혹은 동일할 때), 그 결정된 거리가 임계 거리를 만족시킨다고 결정할 수 있음). 결정된 거리가 임계 거리를 만족시킨다는 결정에 응답하여, 문자 대체 모듈(10)은 일부분(22)을 선택할 수 있다.
특정 예들에서, 문자 대체 모듈(10)은 복수의 거리들을 결정할 수 있는바, 복수의 거리들 각각은 문자열(20)의 각각의 부분과 위치(26) 간의 각각의 차이에 대응한다. 예를 들어, 문자 대체 모듈(10)은 일부분(22)(즉, 본 예에서는 단어 "it")을 디스플레이하는 텍스트 디스플레이 영역(16)의 위치와 위치(26) 간의 제 1 거리를 결정할 수 있다. 추가적으로 문자 대체 모듈(10)은 단어 "This"를 디스플레이하는 텍스트 디스플레이 영역(16)의 위치와 위치(26) 간의 제 2 거리를 결정할 수 있다. 유사하게, 문자 대체 모듈(10)은 단어 "a"를 디스플레이하는 텍스트 디스플레이 영역(16)의 위치와 위치(26) 간의 제 3 거리를 결정할 수 있다. 문자 대체 모듈(10)은 각각의 거리들을 비교할 수 있고, 이러한 비교에 적어도 부분적으로 근거하여 문자열(20)의 일부분을 선택할 수 있다. 예를 들어, 문자 대체 모듈(10)은 결정된 거리들의 세트 중 최소치에 대응하는 문자열(20)의 일부분을 선택할 수 있다. 예를 들어, 도 1의 예에서와 같이, 문자 대체 모듈(10)은 일부분(22)을 디스플레이하는 텍스트 디스플레이 영역(16)의 위치와 위치(26) 간의 거리가 단어 "this"와 단어 "a"를 각각 디스플레이하는 텍스트 디스플레이 영역(16)의 위치들과 위치(26) 간의 거리들 각각보다 더 작은지를 결정할 수 있다.
제스처 모듈(8)은, 제 1 제스처가 위치(26)에서 검출되는 동안, 그래픽 키보드(18)를 디스플레이하는 UI 디바이스(4)의 위치에서 검출된 제 2 제스처의 적어도 일부분의 표시를 수신할 수 있다. 즉, 제스처 모듈(8)은 텍스트 디스플레이 영역(16)의 위치(예를 들어, 위치(26))에서 검출된 제 1 입력 유닛(27)의 표시를 수신할 수 있다. 제 1 입력 유닛(27)이 텍스트 디스플레이 영역(16)의 위치에서 검출되는 동안, 제스처 모듈(8)은 그래픽 키보드(18)의 키에 대응하는 UI 디바이스(4)의 위치에서 검출된 제 2 입력 유닛(37)(예를 들어, 사용자(12)의 또 다른 손가락)의 표시를 수신할 수 있다.
일부 예들에서, 제스처 모듈(8)은, 텍스트 디스플레이 영역(16)의 위치에서 검출된 제 1 입력 유닛(27)의 표시를 수신하기 전에, 그래픽 키보드(18)의 키에 대응하는 UI 디바이스(4)의 위치에서 검출된 제 2 입력 유닛(37)의 표시를 수신할 수 있다. 특정 예들에서, 제스처 모듈(8)은, 그래픽 키보드(18)의 키에 대응하는 UI 디바이스(4)의 위치에서 검출된 제 2 입력 유닛(37)의 표시를 수신하기 전에, 텍스트 디스플레이 영역(16)의 위치에서 검출된 제 1 입력 유닛(27)의 표시를 수신할 수 있다. 이러한 방식으로, 제스처 모듈(8)은 멀티-터치 제스처의 표시를 수신할 수 있는바, 멀티-터치 제스처는, 텍스트 디스플레이 영역(16) 내의 UI 디바이스(4)의 위치에서 검출된 제 1 입력 유닛과, 그리고 그래픽 키보드(18) 내의 영역에 대응하는 UI 디바이스(4)의 위치에서 검출된 제 2 입력 유닛 모두를 포함한다. 특정 예들에서, 제스처 모듈(8)은, 20밀리초(milliseconds), 100밀리초, 200밀리초 혹은 다른 임계 시간량보다 큰(혹은 동일한) 시간 주기와 같은, 임계치를 만족시키는 시간 주기 동안 제 1 입력 유닛과 제 2 입력 유닛 모두가 UI 디바이스(4)의 위치에서 검출되었다는 결정에 응답하여 이러한 멀티-터치 제스처를 결정할 수 있다. 일부 예들에서, 제스처 모듈(8)은 제 1 입력 유닛과 제 2 입력 유닛이 UI 디바이스(4)에서 검출되는 순서에 상관없이 멀티-터치 제스처가 수신되었다고 결정할 수 있다. 즉, 본 개시내용의 기법들은 컴퓨팅 디바이스가, 텍스트 디스플레이 영역(16)에 대응하는 위치에서 검출된 제스처 입력의 표시와 그래픽 키보드(18)에 대응하는 위치에서 검출된 제스처 입력의 표시를 수신하는 특정 시퀀스로만 한정되는 것으로서 해석돼서는 안 된다.
도 1에서 예시되는 바와 같이, 제스처 모듈(8)은 제 1 입력 유닛(27)이 위치(26)에서 검출되는 동안 제스처(32)의 적어도 일부분의 표시를 수신할 수 있다. 제스처(32)는 그래픽 키보드(18)의 제 1 위치(30)로부터 그래픽 키보드(18)의 제 2 위치(36)로 움직이는 모션(motion)을 포함할 수 있다. 제스처 모듈(8)은 제스처(32)의 수신된 표시에 적어도 부분적으로 근거하여 그래픽 키보드(18)의 하나 이상의 키들을 선택할 수 있다. 예를 들어, 제스처 모듈(8)은 제 1 위치(30)로부터 제 2 위치(36)로의 제스처(32)의 수신된 표시에 적어도 부분적으로 근거하여 "I" 키(28) 및 "S" 키(34)를 선택할 수 있다.
문자 대체 모듈(10)은 그래픽 키보드의 선택된 키들과 관련된 하나 이상의 문자들에 적어도 부분적으로 근거하여 대체 문자열을 결정할 수 있다. 예를 들어, 도 1의 예에서와 같이, 문자 대체 모듈(10)은 "I" 키(28)와 관련된 문자 "i" 및 "S" 키(34)와 관련된 문자 "s"에 적어도 부분적으로 근거하여 대체 문자열 "is"를 결정할 수 있다. 아래에서 더 상세히 설명되는 바와 같이, 특정 예들에서, 문자 대체 모듈(10)은 하나 이상의 후보 대체 문자열들을 결정할 수 있고, 하나 이상의 후보 대체 문자열들 중 하나를 선택하는 제스처 입력의 수신된 표시에 적어도 부분적으로 근거하여 대체 문자열을 결정할 수 있다.
문자 대체 모듈(10)은 문자열의 선택된 부분을 대체하기 위해 텍스트 디스플레이 영역(16) 내에서의 디스플레이를 위한 대체 문자열을 출력할 수 있다. 예를 들어, 도 1의 예에서, 문자 대체 모듈(10)은 문자열(20)의 일부분(22)(즉, 문자들 "it"을 포함하는 문자열)을 대체하기 위해 텍스트 디스플레이 영역(16)에서의 디스플레이를 위한 대체 문자열 "is"를 출력할 수 있다. 즉, 문자 대체 모듈(10)은 문자열(20)의 일부분(22)을 디스플레이하는 텍스트 디스플레이 영역(16)의 위치에 대응하는 텍스트 디스플레이 영역(16)의 위치에서의 디스플레이를 위한 대체 문자열 "is"를 출력할 수 있다. 추가적으로, 문자 대체 모듈(10)은 UI 모듈(6)로 하여금 텍스트 디스플레이 영역(16)에서의 디스플레이를 위한 일부분(22)을 출력하는 것을 멈추도록 할 수 있고, 이에 따라 대체 문자열 "is"가 텍스트 디스플레이 영역(16)에서의 디스플레이를 위해 출력되게 되고 일부분(22)(예를 들어, 도 1의 예에서 문자열 "it")은 텍스트 디스플레이 영역(16)에서의 디스플레이를 위해 이제 더 이상 출력되지 않게 된다.
일부 예들에서, 문자 대체 모듈(10)은, 제 1 제스처(예를 들어, 위치(26)에서 검출된 제 1 터치 제스처)의 종료의 표시를 수신함에 응답하여 문자열(20)의 일부분(22)을 대체하기 위해 대체 문자열을 출력할 수 있다. 제 1 제스처의 종료는 위치(26)에서의 제 1 입력 유닛(27)의 비-검출(non-detection)의 표시에 대응할 수 있다. 예를 들어, 사용자(12)가 UI 디바이스(4)로부터 자신의 손가락을 들어올릴 때, 제스처 모듈(8)은 제 1 입력 유닛(27)이 UI 디바이스(4)의 위치(26)에서 이제 더 이상 검출되지 않는다는 표시를 수신할 수 있다. 이에 응답하여, 제스처 모듈(8)은 문자 대체 모듈(10)로 하여금 텍스트 디스플레이 영역(16)에서의 디스플레이를 위한 대체 문자열을 출력하도록 할 수 있다. 이러한 방식으로, 본 명세서에서 설명되는 기법들은 사용자로 하여금 대체 문자열을 선택하는 제스처 입력(예를 들어, 스와이프 제스처와 같은 연속적인 모션 제스처)을 효율적으로 제공할 수 있게 함과 아울러 컴퓨팅 디바이스로 하여금 텍스트 디스플레이 영역에서의 디스플레이를 위한 대체 문자열을 출력하도록 할 수 있다.
또 다른 예로서, 문자 대체 모듈(10)은, 적어도 제 2 제스처(예를 들어, 대체 문자열과 관련된 하나 이상의 키들을 선택하는 제 2 제스처)의 종료의 표시를 수신함에 응답하여 문자열(20)의 일부분(22)을 대체하기 위해 대체 문자열을 출력할 수 있다. 즉, 특정 예들에서, 제스처 모듈(8)은, 제 1 입력 유닛(27)이 위치(26)에서 검출되는 동안 제스처(32)의 적어도 일부분의 표시를 수신할 수 있다. 일부 예들에서, 제 1 입력 유닛(27)이 위치(26)에서 검출되는 동안 제스처(32)의 수신된 적어도 일부분의 수신된 표시는 트리거링 이벤트(triggering event)인 것으로 고려될 수 있다. 즉, 특정 예들에서, 트리거링 이벤트는, 텍스트 디스플레이 영역 내에서 검출되는 터치 다운 이벤트(touch down event)와 (텍스트 디스플레이 영역에서의 입력 디바이스에 대한 터치 업 이벤트(touch up event)가 수신되기 전에) 후속하여 그 다음에 일어나는 그래픽 키보드 영역 내에서 검출되는 제 2 터치 다운 이벤트를 포함할 수 있다. 특정 예들에서, 트리거링 이벤트는 헬드 더블 탭 제스처(held double tap gesture)를 포함할 수 있다. 예를 들어, 헬드 더블 탭 제스처를 포함하는 트리거링 이벤트는, 텍스트 디스플레이 영역 내에서 검출되는 제 1 터치 다운 이벤트, 후속하여 그 다음에 일어나는 텍스트 디스플레이 영역 내에서 검출되는 터치 업 이벤트, 후속하여 그 다음에 일어나는 텍스트 디스플레이 영역 내에서 검출되는 제 2 터치 다운 이벤트(예컨대, 헬드 더블 탭), 후속하여 그 다음에 일어나는 그래픽 키보드 영역 내에서 검출되는 제 3 터치 다운 이벤트를 포함할 수 있다. 특정 예들에서, 제스처 모듈(8)은, 제 1 터치 다운 이벤트, 터치 업 이벤트, 그리고 제 2 터치 다운 이벤트가 임계 지속 시간(threshold time duration)(예컨대, 0.5초, 1초, 혹은 다른 임계 지속 시간) 내에서 각각 검출되는 경우와 같이, 헬드 더블 탭 트리거링 이벤트가 만족되는지를 결정할 수 있다.
특정 예들에서, 문자 대체 모듈(10)은 트리거링 이벤트를 수신함에 응답하여 문자열 대체 모드(예를 들어, 동작 상태)를 개시시킬 수 있다. 일부 예들에서, 문자 대체 모듈(10)이 문자열 대체 모드의 인스턴스(instance) 내에서 동작하는 동안, 문자열 대체 모듈(10)은, 이전의 텍스트 삽입 위치에서(예를 들어, 텍스트의 라인의 끝에서) 삽입될 텍스트를 결정하는 것이 아니라, 디스플레이되는 텍스트의 선택된 부분을 대체하기 위해 대체 문자열을 결정할 수 있다. 특정 예들에서, 문자 대체 모듈(10)은 텍스트 디스플레이 영역(16)(예를 들어, 위치(26))에서 검출된 제스처의 종료의 표시를 수신함에 응답하여 문자열 대체 모드를 빠져나올 수 있다. 일부 예들에서, 문자 대체 모듈(10)은 문자열 대체 모드에서 동작하지 않고, UI 모듈(6)이 텍스트 디스플레이 영역(16)에 포함되는 텍스트의 말단 위치에서와 같은 커서 위치에서 후속적으로 그 선택된 텍스트를 출력할 수 있다.
제스처(32)의 일부분의 표시를 수신한 이후, 제스처(32)의 종료의 표시(예를 들어, UI 디바이스(4)에서의 제 2 입력 유닛(37)의 비-검출의 표시)를 수신하기 전에, 제스처 모듈(8)은 UI 디바이스(4)에서의 제 1 입력 유닛(27)의 비-검출의 표시를 수신할 수 있다. 이러한 예에서, 문자 대체 모듈(10)은 제스처(32)의 수신된 표시에 적어도 부분적으로 근거하여 대체 문자열을 결정할 수 있고, 제스처(32)의 종료의 표시를 수신함에 응답하여 텍스트 디스플레이 영역(16)에서의 디스플레이를 위한 대체 문자열을 출력할 수 있다. 이러한 방식으로, 컴퓨팅 디바이스(2)는 사용자로 하여금, 적어도 동시에 일어나는 텍스트 디스플레이 영역(16)의 위치에서의 터치 입력과 그래픽 키보드(18)와 관련된 UI 디바이스(4)의 위치에서의 터치 입력을 포함하는 멀티-터치 제스처 입력을 제공함으로써 대체 문자열의 선택을 개시시키도록 할 수 있다. 더욱이, 제스처(32)(예를 들어, 그래픽 키보드(18)의 하나 이상의 키들을 선택하는 제스처)의 종료의 표시를 수신함에 응답하여 대체 문자열을 출력함으로써, 컴퓨팅 디바이스(2)는 사용자로 하여금, 대체될 문자열의 일부분을 선택하는 제스처 입력을 유지하도록 함이 없이(예를 들어, UI 디바이스(4)의 위치(26)에서 터치 제스처 입력을 유지하도록 함이 없이) 대체 문자열을 선택하는 제스처 입력을 제공할 수 있게 한다.
마찬가지로, 본 개시내용의 기법들은 사용자로 하여금, 대체 문자열의 선택을 개시시키는 멀티-터치 제스처 입력을 제공할 수 있게 하고, 이후, 대체될 문자열의 일부분을 선택하는 제스처 입력을 유지하도록 함이 없이 대체 문자열을 선택하는 복수의 터치 제스처들을 제공할 수 있게 한다. 즉, 도 1의 예가 그래픽 키보드(18)의 하나 이상의 키들을 선택하는 연속적인 모션 제스처(예를 들어, 스와이프 제스처)를 포함하는 제스처(32)에 관해 예시되었지만, 본 개시내용의 기법들이 이러한 것으로만 한정되는 것은 아니다. 예컨대, 특정 예들에서, 제스처 모듈(8)은, 대체 문자열의 선택을 개시시키는 제 1 입력 유닛(27)이 위치(26)에서 검출되는 동안, 그래픽 키보드(18)의 키와 관련된 UI 디바이스(4)의 위치에서 검출되는 적어도 터치 제스처의 표시를 수신할 수 있다. 이후, 제스처 모듈(8)은 그래픽 키보드(18)의 위치들에서 검출되는 복수의 터치 입력들을 수신할 수 있는바, 복수의 터치 입력들 각각은 그래픽 키보드(18)의 키를 선택하기 위한 것이다. 이러한 예에서, 문자 대체 모듈(10)은 그래픽 키보드(18)의 선택된 키들과 관련된 문자들에 적어도 부분적으로 근거하여 대체 문자열을 결정할 수 있다. 문자 대체 모듈(10)은 GUI(14)의 선택가능한 요소(예를 들어, 그래픽 키보드(18)의 키, 후보 대체 문자열, 혹은 GUI(14)의 다른 선택가능한 요소)와 관련된 UI 디바이스(4)의 위치에서 검출되는 제스처의 표시를 수신함에 응답하여, 텍스트 디스플레이 영역(16)에서의 디스플레이를 위한 대체 문자열을 출력할 수 있다.
예를 들어, 제스처 모듈(8)은 (예컨대, 제 1 입력 유닛(27)을 사용하는) 텍스트 디스플레이 영역(16)의 위치(26)에서 검출된 제스처의 표시를 수신할 수 있다. 제 1 입력 유닛(27)이 위치(26)에서 검출되는 동안, 제스처 모듈(8)은 "I" 키(28)를 선택하는 그래픽 키보드(18)의 제 1 위치(30)에서 검출되는 제 2 제스처(예를 들어, 탭 제스처)의 표시를 수신할 수 있다. 이후, 제스처 모듈(8)은 "S" 키(34)를 선택하는 제 2 위치(36)에서 검출되는 제 3 제스처(예를 들어, 탭 제스처)의 표시를 수신할 수 있다. 특정 예들에서, 제스처 모듈(8)은, 문자열(20)의 일부분(22)을 선택하는 위치(26)에서 검출되는 제 1 제스처의 종료의 표시를 수신한 이후에 (예를 들어, "S" 키(34)를 선택하는) 제 3 제스처의 표시를 수신할 수 있다. 문자 대체 모듈(10)은 "I" 키(28)와 "S" 키(34)를 각각 선택하는 제 2 제스처와 제 3 제스처의 수신된 표시들에 적어도 부분적으로 근거하여 대체 문자열을 결정할 수 있다. 이러한 예들에서, 문자 대체 모듈(10)은, 그래픽 키보드(18)의 키(예를 들어, 엔터 키(enter key), 스페이스 키(space key), 등)와 관련된 UI 디바이스(4)의 위치에서 검출되는 제스처의 종료의 표시를 수신함에 응답하여, 텍스트 디스플레이 영역(16)에서의 디스플레이를 위한 대체 문자열을 출력할 수 있다. 예컨대, 문자 대체 모듈(10)은 그래픽 키보드(18)의 스페이스 키(즉, 공백 구획 문자와 관련된 그래픽 키보드(18)의 키)와 관련된 UI 디바이스(4)의 위치에서 검출되는 제스처의 표시를 수신함에 응답하여 대체 문자열을 출력할 수 있다.
특정 예들에서, 문자 대체 모듈(10)은 그래픽 키보드(18)의 구분문자 키(예를 들어, 마침표 키(period key), 쉼표 키(comma key), 콜론 키(colon key) 등)와 관련된 UI 디바이스(4)의 위치에서 검출되는 제스처의 표시를 수신함에 응답하여 대체 문자열을 출력할 수 있다. 아래에서 더 상세히 설명되는 바와 같이, 일부 예들에서, 문자 대체 모듈(10)은 하나 이상의 후보 대체 문자열을 GUI(14)에서의 디스플레이를 위해 출력할 수 있다. 이러한 예들에서, 문자 대체 모듈(10)은 하나 이상의 후보 대체 문자열들 중 하나와 관련된 UI 디바이스(4)의 위치에서 검출되는 제스처의 표시를 수신함에 응답하여 대체 문자열을 출력할 수 있다.
이러한 방식으로, 컴퓨팅 디바이스(2)는 사용자로 하여금, 적어도 텍스트 디스플레이 영역(16) 내의 UI 디바이스(4)의 위치에서의 터치 제스처와 그래픽 키보드(18)와 관련된 UI 디바이스(4)의 위치에서의 터치 제스처를 포함하는 멀티-터치 입력을 제공함으로써 대체 문자열의 선택을 개시시키도록 할 수 있다. GUI(14)의 선택가능한 요소(예를 들어, 그래픽 키보드(18)의 스페이스 키)와 관련된 UI 디바이스(4)의 위치에서 검출된 제스처 입력의 표시를 수신함에 응답하여 대체 문자열을 출력함으로써, 컴퓨팅 디바이스(2)는 사용자로 하여금, 대체될 문자열의 일부분(예를 들어, 일부분(22))을 선택하는 제스처 입력을 유지하도록 함이 없이 대체 문자열을 선택하는 제스처 입력을 제공할 수 있게 한다. 이처럼, 본 명세서에서 설명되는 기법들에 따르면, 컴퓨팅 디바이스(2)는 사용자로 하여금 두 개의 입력 디바이스들(예를 들어, 두 개의 손가락들)을 사용하여 대체 문자열의 선택을 개시시키도록 할 수 있으며, 이후 양쪽 입력 디바이스들(예를 들어, 양쪽 손가락들)을 사용하여 그래픽 키보드(18)의 키들을 선택하는 복수의 터치 입력들을 제공하도록 할 수 있다.
특정 예들에서, 문자 대체 모듈(10)은 UI 모듈(6)로 하여금 텍스트 디스플레이 영역(16) 내에서의 디스플레이를 위한 대체 문자열을 출력하는 것에 응답하여 텍스트 삽입 위치를 업데이트하도록 할 수 있다. 예를 들어, 제스처 모듈(8)은 텍스트 디스플레이 영역(16)의 텍스트 삽입 위치를 텍스트 디스플레이 영역(16)의 제 1 텍스트 삽입 위치로서 결정할 수 있다. 도 1에서 예시되는 바와 같이, 제스처 모듈(8)은 제 1 텍스트 삽입 위치를 텍스트의 라인의 끝(예를 들어, 문자열(20)의 끝)과 관련된 텍스트 디스플레이 영역(16)의 위치로서 결정할 수 있다. 특정 예들에서, UI 모듈(6)은 제 1 텍스트 삽입 위치를 시각적으로 표시하기 위해 그래픽 표시자(예를 들어, 커서(24))를 출력할 수 있다.
제스처 모듈(8)은 텍스트 디스플레이 영역(16)의 위치(26)에서 검출된 제스처의 표시를 수신할 수 있다. 예시되는 바와 같이, 위치(26)는 제 1 텍스트 삽입 위치와는 다른 텍스트 디스플레이 영역(16)의 상이한 위치일 수 있다. 위치(26)에서 검출되는 제스처의 표시를 수신함에 응답하여, 제스처 모듈(8)은 텍스트 삽입 위치를 위치(26)(예를 들어, 제 2 텍스트 삽입 위치)에 대응하도록 업데이트할 수 있다. 예를 들어, 문자 대체 모듈(10)은 위치(26)에서 검출된 제스처의 수신된 표시에 적어도 부분적으로 근거하여 문자열(20)의 일부분(22)을 선택할 수 있다. 이에 응답하여, 제스처 모듈(8)은 텍스트 삽입 위치를 일부분(22)과 관련된 텍스트 디스플레이 영역의 위치(예를 들어, 일부분의 첫 번째 문자(즉, 일부분(22)의 문자열 "it"에 포함된 문자 "i")에 대응하는 위치)에 대응하도록 업데이트할 수 있다. 특정 예들에서, 제스처 모듈(8)은 UI 모듈(6)로 하여금 업데이트된 텍스트 삽입 위치(예를 들어, 제 2 텍스트 삽입 위치)에 대응하는 텍스트 디스플레이 영역(16)의 위치에서 커서(24)를 디스플레이하도록 할 수 있다. 다른 예들에서, 제스처 모듈(8)은 UI 모듈(6)로 하여금 업데이트된 텍스트 삽입 위치에 대응하는 위치에서 커서(24)를 디스플레이하지 않도록 할 수 있다. 또 다른 예들에서, UI 모듈(6)은 커서(24)를 디스플레이하지 않을 수 있다. 이러한 예들에서, 제스처 모듈(8)은 텍스트 삽입 위치를 결정할 수 있지만, UI 모듈(6)로 하여금 텍스트 삽입 위치의 시각적 표시(예를 들어, 커서(24))를 출력하지 않도록 할 수 있다.
일부 예들에서, 텍스트 디스플레이 영역(16)에서의 디스플레이를 위한 대체 문자열을 출력하는 것에 응답하여, 문자 대체 모듈(10)은 제스처 모듈(8)로 하여금 텍스트 삽입 위치를 다른 텍스트 삽입 위치에 대응하도록 업데이트하게 할 수 있다. 예를 들어, 도 1의 예에서, 문자 대체 모듈(10)은 제스처 모듈(8)로 하여금 텍스트 삽입 위치를 문자열(20)의 끝에 대응하도록 업데이트하게 할 수 있다. 일부 예들에서, 제스처 모듈(8)은, 예컨대, UI 모듈(6)로 하여금 문자열(20)의 끝에 커서(24)를 디스플레이하도록 함으로써, UI 모듈(6)로 하여금 업데이트된 텍스트 삽입 위치의 시각적 표시를 디스플레이하도록 할 수 있다. 이처럼, 컴퓨팅 디바이스(2)는 사용자(예를 들어, 사용자(12))로 하여금 디스플레이되는 문자열의 일부분을 효율적으로 대체할 수 있도록 하고, 아울러 텍스트 삽입 위치를 문자열의 끝으로 위치변경시키는 후속 제스처 입력을 제공하도록 사용자에게 요구함이 없이 문자열의 끝에서 텍스트를 입력하기 위한 제스처 입력을 계속 제공할 수 있도록 한다.
본 개시내용의 기법들은, 사용자가 그래픽 키보드를 사용하여 텍스트를 선택하기 위해 컴퓨팅 디바이스와 상호대화할 때의 용이성 및 효율을 증가시킬 수 있다. 이에 따라, 본 명세서에서 설명되는 기법들은, 예를 들어, 이메일, 텍스트 메시지, 혹은 다른 문자-기반 메시지 및/또는 문서를 작성하기 위해, 컴퓨팅 디바이스의 그래픽 키보드를 사용하여 텍스트를 입력하는 사용자 경험을 증진시킬 수 있다.
도 2는 본 개시내용의 하나 이상의 기법들에 따른, 도 1에서 제시되는 바와 같은 컴퓨팅 디바이스(2)의 일 예의 세부사항을 더 상세히 예시하는 블록도이다. 도 2는 컴퓨팅 디바이스(2)의 단지 일 특정 예를 나타내며, 컴퓨팅 디바이스(2)의 다른 많은 예들이 다른 예들에서 사용될 수 있다.
도 2의 특정 예에 제시되는 바와 같이, 컴퓨팅 디바이스(2)는, UI 디바이스(4), 하나 이상의 프로세서들(40), 하나 이상의 입력 디바이스들(42), 하나 이상의 통신 유닛들(44), 하나 이상의 출력 디바이스들(46), 그리고 하나 이상의 저장 디바이스들(48)을 포함한다. 예시되는 바와 같이, 컴퓨팅 디바이스(2)는, 컴퓨팅 디바이스(2)에 의해 실행가능한, UI 모듈(6), 제스처 모듈(8), 문자 대체 모듈(10), 그리고 오퍼레이팅 시스템(52)을 더 포함한다. 컴포넌트들(4, 40, 42, 44, 46, 및 48) 각각은 컴포넌트간 통신을 위해 (물리적으로, 통신가능하게, 그리고/또는 동작가능하게) 상호연결될 수 있다. 일부 예들에서, 통신 채널들(50)은 시스템 버스, 네트워크 연결, 프로세스간 통신 데이터 구조, 혹은 데이터를 전달하기 위한 임의의 다른 채널을 포함할 수 있다. 도 2에서 일 예로서, 컴포넌트들(4, 40, 42, 44, 46, 및 48)은 하나 이상의 통신 채널들(50)에 의해 결합될 수 있다. 제스처 모듈(8), UI 모듈(6), 문자 대체 모듈(10), 그리고 오퍼레이팅 시스템(52)은 또한, 서로 정보를 전달할 수 있을 뿐만 아니라 컴퓨팅 디바이스(2)의 다른 컴포넌트들과 정보를 전달할 수 있다.
일 예에서, 하나 이상의 프로세서들(40)은 컴퓨팅 디바이스(2) 내에서의 실행을 위한 명령들을 프로세싱하도록 그리고/또는 기능을 구현하도록 구성된다. 예를 들어, 하나 이상의 프로세서들(40)은 하나 이상의 저장 디바이스들(48)에 저장된 명령들을 프로세싱할 수 있다. 하나 이상의 프로세서들(40)의 예들은, 마이크로프로세서(microprocessor), 제어기, 디지털 신호 프로세서(Digital Signal Processor, DSP), 애플리케이션 특정 집적 회로(Application Apecific Integrated Circuit, ASIC), 현장 프로그래밍가능 게이트 어레이(Field Programmable Gate Array, FPGA), 혹은 등가의 개별적 혹은 통합된 로직 회로 중 어느 하나 혹은 그 이상을 포함할 수 있다.
하나 이상의 저장 디바이스들(48)은 동작 동안 컴퓨팅 디바이스(2) 내에서 정보를 저장하도록 구성될 수 있다. 하나 이상의 저장 디바이스들(48)은, 일부 예들에서, 컴퓨터-판독가능 저장 매체로서 설명될 수 있다. 일부 예들에서, 하나 이상의 저장 디바이스들(48)은 일시적 메모리일 수 있는바, 이것의 의미는 하나 이상의 저장 디바이스들(48)의 주목적이 장기간 저장을 위한 것이 아님을 나타낸다. 하나 이상의 저장 디바이스들(48)은, 일부 예들에서, 휘발성 메모리로서 설명될 수 있는바, 이것의 의미는 컴퓨터가 턴오프(turn off)되는 경우 하나 이상의 저장 디바이스들(48)이 그 저장된 콘텐츠를 유지하지 않음을 나타낸다. 휘발성 메모리들의 예들은, 랜덤 액세스 메모리(Random Access Memories, RAM), 다이나믹 랜덤 액세스 메모리(Dynamic Random Access Memories, DRAM), 스태틱 랜덤 액세스 메모리(Static Random Access Memories, SRAM), 그리고 종래에 알려진 다른 형태의 휘발성 메모리를 포함한다. 일부 예들에서, 하나 이상의 저장 디바이스들(48)은 하나 이상의 프로세서들(40)에 의한 실행을 위한 프로그램 명령들을 저장하는데 사용될 수 있다. 하나 이상의 저장 디바이스들(48)은, 예를 들어, 프로그램 실행 동안 정보를 일시적으로 저장하기 위해 컴퓨팅 디바이스(2) 상에서 실행되는 소프트웨어 혹은 애플리케이션들(예를 들어, UI 모듈(6), 제스처 모듈(8) 및 문자 대체 모듈(10))에 의해 사용될 수 있다.
하나 이상의 저장 디바이스들(48)은 또한, 일부 예들에서, 하나 이상의 컴퓨터-판독가능 저장 매체들을 포함한다. 하나 이상의 저장 디바이스들(48)은 휘발성 메모리보다 더 많은 양의 정보를 저장하도록 구성될 수 있다. 하나 이상의 저장 디바이스들(48)은 또한, 정보를 장기간 저장하도록 구성될 수 있다. 일부 예들에서, 하나 이상의 저장 디바이스들(48)은 비휘발성 저장 소자들을 포함한다. 이러한 비휘발성 저장 소자들의 예들은 자기 하드 디스크, 광학 디스크, 플로피 디스크, 플래시 메모리, 혹은 여러 형태의 전기적으로 프로그래밍가능한 메모리(electrically programmable memories, EPROM) 혹은 전기적으로 소거가능하고 프로그래밍가능한 메모리(electrically erasable and programmable memories, EEPROM)를 포함한다.
일부 예들에서, 하나 이상의 저장 디바이스들(48)은 하나 이상의 프로세서들(40), UI 모듈(6), 제스처 모듈(8) 및 문자 대체 모듈(10)로 하여금 하나 이상의 프로세서들(40), UI 모듈(6), 제스처 모듈(8) 및 문자 대체 모듈(10)에 속하는 다양한 기능들을 수행하도록 하는 하나 이상의 명령들을 저장할 수 있다. 도 2에서는 개별적인 컴포넌트들로서 제시되고 있지만, 일부 예들에서, UI 모듈(6), 제스처 모듈(8) 및 문자 대체 모듈(10) 중 하나 이상은 동일한 모듈의 일부분일 수 있다. 일부 예들에서, UI 모듈(6), 제스처 모듈(8), 문자 대체 모듈(10) 및 하나 이상의 프로세서들(40) 중 하나 이상은 공통 하드웨어 유닛으로 형성될 수 있다. 일부 경우에 있어서, UI 모듈(6), 제스처 모듈(8) 및 문자 대체 모듈(10) 중 하나 이상은 하나 이상의 프로세서들(40) 상에서 실행되는 소프트웨어 및/또는 펌웨어 유닛들일 수 있다. 일반적으로, UI 모듈(6), 제스처 모듈(8) 및 문자 대체 모듈(10)은 설명 및 예시의 용이함을 위해 개별적으로 제시되었다. 그러나, 이러한 예시 및 설명이 UI 모듈(6), 제스처 모듈(8) 및 문자 대체 모듈(10)이 반드시 개별적으로 구현됨을 시사하는 것으로서 해석돼서는 안 된다(하지만, 일부 예들에서는 개별적으로 구현될 수 있음). 또한, 특정 예들에서, 하나 이상의 프로세서들(40)은 UI 모듈(6), 제스처 모듈(8) 및 문자 대체 모듈(10) 중 하나 이상을 포함할 수 있다.
컴퓨팅 디바이스(2)는, 일부 예들에서, 또한 하나 이상의 통신 유닛들(44)을 포함한다. 컴퓨팅 디바이스(2)는, 일 예에서, 하나 이상의 무선 네트워크들과 같은 하나 이상의 네트워크들을 통해 외부 디바이스들과 통신하기 위해 하나 이상의 통신 유닛들(44)을 이용한다. 하나 이상의 통신 유닛들(44)은, 이더넷 카드(Ethernet card)와 같은 네트워크 인터페이스 카드, 광학 송수신기, 무선 주파수 송수신기, 혹은 정보를 송수신할 수 있는 임의의 다른 타입의 디바이스일 수 있다. 이러한 네트워크 인터페이스들의 다른 예들은, 블루투스(Bluetooth), 3G 및 WiFi 무선 컴퓨팅 디바이스들, 뿐만 아니라 범용 직렬 버스(Universal Serial Bus, USB)를 포함할 수 있다. 일부 예들에서, 컴퓨팅 디바이스(2)는, 또 다른 컴퓨팅 디바이스와 같은 외부 디바이스와 무선으로 통신하기 위해 하나 이상의 통신 유닛들(44)을 이용한다.
컴퓨팅 디바이스(2)는, 일 예에서, 또한 하나 이상의 입력 디바이스들(42)을 포함한다. 하나 이상의 입력 디바이스들(42)은, 일부 예들에서, 촉각적 혹은 오디오 혹은 비디오 피드백을 통해 사용자로부터의 입력을 수신하도록 구성될 수 있다. 하나 이상의 입력 디바이스들(42)의 예들은 프레즌스-감지 디스플레이, 마우스, 키보드, 음성 응답 시스템, 비디오 카메라, 마이크로폰, 혹은 사용자로부터의 입력을 검출하기 위한 임의의 다른 타입의 디바이스를 포함한다. 일부 예들에서, 프레즌스-감지 디스플레이는 터치-감지 스크린을 포함한다.
하나 이상의 출력 디바이스들(46)은, 촉각적 혹은 오디오 혹은 비디오 자극들을 사용하여 사용자에게 출력을 제공하도록 구성될 수 있다. 하나 이상의 출력 디바이스들(46)은, 예를 들어, 프레즌스-감지 디스플레이, 터치-감지 디스플레이, 사운드 카드, 비디오 그래픽 어댑터 카드(video graphics adapter card), 또는 인간 혹은 머신(machines)에게 이해가능한 적절한 형태로 신호를 변환시키는 임의의 다른 타입의 디바이스를 포함할 수 있다. 하나 이상의 출력 디바이스들(46)의 추가적 예들은, 스피커, 음극선관(Cathode Ray Tube, CRT) 모니터, 액정 디스플레이(Liquid Crystal Display, LCD), 혹은 사용자에게 이해될 수 있는 출력을 발생시킬 수 있는 임의의 다른 타입의 디바이스를 포함한다. 일부 예들에서, UI 디바이스(4)는 하나 이상의 입력 디바이스들(42) 및/또는 하나 이상의 출력 디바이스들(46)의 기능을 포함할 수 있다.
일부 예들에서, 컴퓨팅 디바이스(2)의 UID(4)는 입력 디바이스들(42) 및/또는 출력 디바이스들(46)의 기능을 포함할 수 있다. 도 2의 예에서, UID(4)는 프레즌스-감지 스크린일 수 있거나 프레즌스-감지 스크린을 포함할 수 있다. 일부 예들에서, 프레즌스-감지 스크린은 프레즌스-감지 스크린에서의 오브젝트 및/또는 프레즌스-감지 스크린 가까이 있는 오브젝트를 검출할 수 있다. 하나의 예시적 범위로서, 프레즌스-감지 스크린은, 프레즌스-감지 스크린의 2인치 혹은 이보다 작은 인치 내에 있는 오브젝트(예를 들어, 손가락 혹은 스타일러스)를 검출할 수 있다. 프레즌스-감지 스크린은 오브젝트가 검출된 프레즌스-감지 스크린의 위치(예를 들어, (x,y) 좌표)를 결정할 수 있다. 또 다른 예시적 범위로서, 프레즌스-감지 스크린은, 프레즌스-감지 스크린으로부터 6인치 혹은 이보다 작은 인치만큼 떨어져 있는 오브젝트를 검출할 수 있고, 다른 예시적 범위가 또한 가능하다. 프레즌스-감지 스크린은, 용량성, 유도성 및/또는 광학 인식 기법들을 사용하여 사용자의 손가락에 의해 선택된 스크린의 위치를 결정할 수 있다. 일부 예들에서, 프레즌스-감지 스크린은 출력 디바이스(46)에 관하여 설명된 바와 같이, 촉각적 혹은 오디오 혹은 비디오 자극들을 사용하여 사용자에게 출력을 제공한다. 도 2의 예에서, UID(4)는 사용자 인터페이스(예를 들어, 도 1의 사용자 인터페이스(14))를 제시함과 아울러 컴퓨팅 디바이스(2) 상에서 실행되는 다양한 다른 기능들 및 애플리케이션들을 UID(4)의 프레즌스-감지 스크린에서 제시한다.
컴퓨팅 디바이스(2)는 오퍼레이팅 시스템(52)을 포함할 수 있다. 오퍼레이팅 시스템(52)은, 일부 예들에서, 컴퓨팅 디바이스(2)의 컴포넌트들의 동작을 제어한다. 예를 들어, 오퍼레이팅 시스템(52)은, 일 예에서, UI 모듈(6), 제스처 모듈(8) 및 문자 대체 모듈(10)이 하나 이상의 프로세서들(40), UI 디바이스(4), 하나 이상의 저장 디바이스들(48), 하나 이상의 입력 디바이스들(42), 하나 이상의 출력 디바이스들(46) 및 하나 이상의 통신 유닛들(44)과 통신하는 것을 용이하게 한다.
UI 모듈(6), 제스처 모듈(8) 및 문자 대체 모듈(10)은, 특정 예들에서, 컴퓨팅 디바이스(2)에 의해 실행가능한 프로그램 명령들 및/또는 데이터를 포함할 수 있다. 예를 들어, UI 모듈(6), 제스처 모듈(8) 및 문자 대체 모듈(10)은 컴퓨팅 디바이스(2)로 하여금 본 개시내용에서 설명되는 동작들과 행동들 중 하나 이상을 수행하도록 하는 명령들을 포함할 수 있다.
본 개시내용의 기법들이 이제 도 2에 관하여 더 설명된다. 일 예에서, UI 모듈(6)은 텍스트 디스플레이 영역 및 그래픽 키보드를 포함하는 그래픽 사용자 인터페이스를 UI 디바이스(4)에서의 디스플레이를 위해 출력할 수 있다(예를 들어, 프레즌스-감지 디스플레이에 출력할 수 있음). 예컨대, UI 모듈(6)은 UI 디바이스(4)에서의 디스플레이를 위해 GUI(14)를 출력할 수 있다. GUI(14)는 텍스트 디스플레이 영역(16) 및 그래픽 키보드(18)를 포함할 수 있다. 제스처 모듈(8)은 텍스트 디스플레이 영역 내의 위치에 있는 프레즌스-감지 디스플레이에서 검출된 제 1 제스처의 표시를 수신할 수 있다. 예를 들어, 제스처 모듈(8)은 텍스트 디스플레이 영역 내의 위치(26)에 있는 UI 디바이스(4)에서 검출된 제 1 제스처의 표시를 수신할 수 있다. 문자 대체 모듈(10)은, 텍스트 디스플레이 영역 내의 위치에 적어도 부분적으로 근거하여, 텍스트 디스플레이 영역에 포함되는 문자열의 적어도 일부분을 선택할 수 있다. 예를 들어, UI 모듈(6)은 텍스트 디스플레이 영역(16)에서의 디스플레이를 위한 문자열(20)(예를 들어, 문자열 "This is a")을 출력할 수 있다. 문자 대체 모듈(10)은 일부분(22)(예를 들어, 문자열 "it"을 포함하는 문자열(20)의 일부분)을 선택할 수 있다. 문자 대체 모듈(10)은 위치(26)에서의 제 1 제스처의 수신된 표시에 적어도 부분적으로 근거하여 일부분(22)을 선택할 수 있다. 예를 들어, 문자 대체 모듈(10)은 일부분(22)을 디스플레이하는 텍스트 디스플레이 영역(16)의 위치와 위치(26) 간의 결정된 거리에 적어도 부분적으로 근거하여 일부분(22)을 선택할 수 있다.
제스처 모듈(8)은, 제 1 제스처가 프레즌스-감지 디스플레이에서 검출되는 동안, 그래픽 키보드의 적어도 하나의 키를 선택하기 위한 제 2 제스처의 적어도 일부분의 표시를 수신할 수 있다. 예를 들어, 제스처 모듈(8)은, 제 1 입력 유닛(27)이 UI 디바이스(4)의 위치(26)에서 검출되는 동안, 그래픽 키보드(18)의 "I" 키(28)와 "S" 키(34)를 선택하기 위한 제스처(32)의 적어도 일부분의 표시를 수신할 수 있다. 문자 대체 모듈(10)은 적어도 제 2 제스처의 종료의 표시를 수신함에 응답하여 문자열의 일부분을 대체하기 위해 텍스트 디스플레이 영역 내에서의 디스플레이를 위한 대체 문자열을 출력할 수 있다. 대체 문자열은 적어도 하나의 키에 적어도 부분적으로 근거할 수 있다. 예를 들어, 문자 대체 모듈(10)은 "I" 키(28)와 "S" 키(34)에 적어도 부분적으로 근거하여 대체 문자열 "is"를 결정할 수 있다. 문자 대체 모듈(10)은 텍스트 디스플레이 영역(16)에서의 디스플레이를 위한 대체 문자열 "is"를 출력할 수 있다. 특정 예들에서, 문자 대체 모듈(10)은 제 2 제스처(즉, 그래픽 키보드(18)의 적어도 하나의 키를 선택하기 위한 제 2 제스처)의 종료의 표시를 수신함에 응답하여 대체 문자열을 출력할 수 있다. 일부 예들에서, 문자 대체 모듈(10)은 제 1 제스처(즉, 문자열의 일부분을 선택하기 위한 제 1 제스처)의 종료의 표시를 수신함에 응답하여 대체 문자열을 출력할 수 있다. 특정 예들에서, 문자 대체 모듈(10)은 제 1 제스처의 종료의 표시와 제 2 제스처의 종료의 표시를 수신함에 응답하여 대체 문자열을 출력할 수 있다.
도 2에서 예시되는 바와 같이, 컴퓨팅 디바이스(2)는, 일부 예들에서, 언어 모델(language model)(54)을 포함한다. 언어 모델(54)은 어휘목록(lexicon)을 포함할 수 있다. 일부 예들에서, 어휘목록은 단어들의 나열(listing)을 포함할 수 있고, 나열된 단어들에 관한 추가적인 정보를 포함할 수 있다. 어휘목록은, 어레이(array), 리스트(list), 트리(tree), 혹은 다른 데이터 구조들 중 하나 이상과 같은, 하나 이상의 데이터 구조들에 의해 나타내질 수 있다. 예를 들어, 언어 모델(54)은 트리 데이터 구조(trie data structure)로 저장된 어휘목록을 포함할 수 있다. 특정 예들에서, 언어 모델(54)은 컴퓨팅 디바이스(2) 상에 설치된 미리 정의된 어구들의 그룹을 포함할 수 있다. 다른 예들에서, 언어 모델(54)은 어휘목록들의 복수의 소스들을 포함할 수 있는바, 이들은 컴퓨팅 디바이스(2)에서 저장될 수 있거나 혹은 하나 이상의 통신 유닛들(44)을 통해 컴퓨팅 디바이스(2)에 액세스가능한 하나 이상의 원격 컴퓨팅 디바이스들에서 저장될 수 있다.
일부 예들에서, 언어 모델(54)은 컴퓨팅 디바이스(2)의 펌웨어에서 구현될 수 있다. 언어 모델(54)은, n-그램 언어 모델들(n-gram language models)과 같은 언어 모델 빈도 정보를 포함할 수 있다. n-그램 언어 모델은 시퀀스 형태의 이전 아이템(item)들에 근거하여 아이템들의 연속적인 시퀀스로 아이템
Figure 112014020190449-pat00001
(글자, 단어, 구분 문자, 혹은 다른 구획문자)에 대한 확률 분포(즉,
Figure 112014020190449-pat00002
)를 제공할 수 있다. 예를 들어, 바이그램 언어 모델(bigram language model)(n=2인 n-그램 모델)은 글자 "s"가 글자 "i" 뒤에 올 확률을 제공할 수 있다. 또 다른 예로서, 바이그램 언어 모델은 단어 "is"가 단어 "this" 뒤에 올 확률을 제공할 수 있다. 또 다른 예로서, 트리그램 언어 모델(trigram language model)(n=3인 n-그램 모델)은 단어 "a"가 단어들의 시퀀스 "that is" 뒤에 올 확률을 제공할 수 있다. 일부 예들에서, 언어 모델(54)은 통합된 언어 모델 빈도 정보를 갖는 어휘목록 트리를 포함한다. 예를 들어, 어휘목록 트리의 각각의 노드는 글자의 표현 및 확률 값을 포함할 수 있다.
특정 예들에서, 문자 대체 모듈(10)은 언어 모델(54)에 적어도 부분적으로 근거하여 대체 문자열을 결정할 수 있다. 예를 들어, 문자 대체 모듈(10)은 언어 모델(54)에 포함된 언어 정보와 그래픽 키보드(18)의 선택된 키들과 관련된 문자들에 근거하여 후보 대체 문자열을 결정할 수 있다. 예를 들어, 문자 대체 모듈(10)은 대체 문자열이, 영어와 같은, 어휘목록에 포함되어 있는지의 결정에 근거하여 대체 문자열을 결정할 수 있다. 일부 예들에서, 문자 대체 모듈(10)은 언어 모델(54) 및 그래픽 키보드(18)의 선택된 키들에 적어도 부분적으로 근거하여 하나 이상의 후보 대체 문자열들을 결정할 수 있다. 예를 들어, "I" 키(28)를 선택하기 위한 제스처 입력의 표시를 수신함에 응답하여, 문자 대체 모듈(10)은 (언어 모델(54)의 어휘목록에 포함된 단어들을 형성하는) 글자 "I"로 시작하는 문자열들을 포함하는 하나 이상의 후보 대체 문자열을 결정할 수 있다. 마찬가지로, "S" 키(34)를 선택하기 위한 제스처 입력의 표시를 수신함에 응답하여, 문자 대체 모듈(10)은 (언어 모델(54)의 어휘목록에 포함된 단어들을 형성하는) 글자들 "is"로 시작하는 문자열들을 포함하는 하나 이상의 후보 대체 문자열을 결정할 수 있다. 예를 들어, 문자 대체 모듈(10)은 문자열 "is"(예를 들어, 영어로 포함되는 단어 "is"), 문자열 "isn't", 문자열 "island" 혹은 다른 후보 대체 문자열들을 포함하는 하나 이상의 이러한 후보 대체 문자열들을 결정할 수 있다.
일부 예들에서, 아래에서 더 상세히 설명되는 바와 같이, 문자 대체 모듈(10)은 UI 모듈(6)로 하여금 GUI(14)에서의 디스플레이를 위한 후보 대체 문자열들 중 하나 이상을 출력하도록 할 수 있다. 특정 예들에서, 문자 대체 모듈(10)은 언어 모델(54)에 포함된 단어-빈도 정보에 적어도 부분적으로 근거하여 GUI(14)에서의 디스플레이를 위한 하나 이상의 후보 대체 문자열들을 결정할 수 있다. 예를 들어, 문자 대체 모듈(10)은, 언어 모델(54)에 포함된 단어-빈도 정보에 근거하여, 단어 "isn't"가 단어 "island"보다 어휘목록(예를 들어, 영어)에서 더 빈번하게 사용되는 단어라고 결정할 수 있다. 이러한 예에서, 문자 대체 모듈(10)은, 단어 "isn't"가 어휘목록에서 더 빈번하게 사용되는 단어라는 결정에 근거하여, UI 모듈(6)로 하여금 단어 "island" 대신 단어 "isn't"를 GUI(14)에서의 디스플레이를 위해 출력하도록 할 수 있다. 특정 예들에서, 문자 대체 모듈(10)은 UI 모듈(6)로 하여금 복수의 후보 대체 문자열들(예를 들어, 두 개의 후보 대체 문자열들, 세 개의 후보 대체 문자열들, 다섯 개의 후보 대체 문자열들, 혹은 다른 개수의 후보 대체 문자열들)을 출력하도록 할 수 있다. 일부 예들에서, 문자 대체 모듈(10)은 UI 모듈(6)로 하여금 "n"개의 가장 빈번하게 사용되는 후보 대체 문자열들을 출력하도록 할 수 있는바, 여기서 "n"은 후보 대체 문자열들의 미리 정해진 수를 나타낸다(예를 들어, 세 개의 후보 대체 문자열들).
도 3은 본 개시내용의 하나 이상의 기법들에 따른, 도 1에서 제시되는 바와 같은 컴퓨팅 디바이스(2)의 일 예의 세부사항을 더 상세히 예시하는 블록도이다. 도 3에서 예시되는 바와 같이, UI 모듈(6)은 텍스트 디스플레이 영역(60)과 그래픽 키보드(62)를 포함하는 GUI를 디스플레이(예를 들어, UI 디바이스(4))를 위해 출력할 수 있다. 제스처 모듈(8)은 텍스트 디스플레이 영역(60)의 제 1 위치(66)에서 검출된 제 1 제스처의 표시를 수신할 수 있다. 문자 대체 모듈(10)은 제 1 위치(66)에 적어도 부분적으로 근거하여 텍스트 디스플레이 영역(60)에 포함된 문자열의 적어도 일부분을 선택할 수 있다. 예를 들어, 도 3의 예에서와 같이, 문자 대체 모듈(10)은 디스플레이된 문자열의 일부분, 즉 문자들 "it"을 포함하는 일부분을 선택할 수 있다. 일부 예들에서, 도 3에서 예시되는 바와 같이, 문자 대체 모듈(10)은 UI 모듈(6)로 하여금 문자열의 선택된 부분의 시각적 표시(예를 들어, 문자열의 선택된 부분의 시각적인 강조(highlighting), 밑줄긋기(underlining), 굵게 하기(bolding), 색조 변경(color change) 등)를 출력하도록 할 수 있다. 도 3에서 예시되는 바와 같이, 위치(66)에서 검출된 제 1 제스처의 표시를 수신함에 응답하여 제스처 모듈(8)은 텍스트 삽입 위치를 위치(66)에 대응하도록 업데이트할 수 있다. 예를 들어, 제스처 모듈(8)은 텍스트 삽입 위치를 문자열의 선택된 부분을 디스플레이하는 텍스트 디스플레이 영역(60)의 위치에 대응하도록 업데이트할 수 있다. 제스처 모듈(8)은 UI 모듈(6)로 하여금 텍스트 삽입 위치에 대응하는 텍스트 디스플레이 영역(60)의 위치에서 커서(64)를 출력하도록 할 수 있다.
제스처 모듈(8)은, 제 1 제스처가 UI 디바이스(4)의 위치(66)에서 검출되는 동안, 그래픽 키보드(62)의 적어도 하나의 키를 선택하기 위한 제 2 제스처의 적어도 일부분의 표시를 수신할 수 있다. 예를 들어, 제스처 모듈(8)은 그래픽 키보드(62)의 "I" 키(69)를 선택하기 위한 위치(68)에서 검출되는 터치 제스처의 표시를 수신할 수 있다. 문자 대체 모듈(10)은 선택된 "I" 키(69)에 적어도 부분적으로 근거하여 하나 이상의 후보 문자 대체열들을 결정할 수 있다. 예를 들어, 문자 대체 모듈(10)은 (언어 모델(54)의 어휘목록에 포함된 단어들을 형성하는) 글자 "I"로 시작하는 문자열들을 포함하는 하나 이상의 후보 대체 문자열들을 결정할 수 있다. 특정 예들에서, 문자 대체 모듈(10)은 UI 모듈(6)로 하여금 GUI에서의 디스플레이를 위한 후보 대체 문자열들 중 하나 이상을 출력하도록 할 수 있다. 예를 들어, 예시되는 바와 같이, 문자 대체 모듈(10)은 문자열들 "in", "is", 및 "if"를 포함하는 후보 대체 문자열들을 결정할 수 있다.
문자 대체 모듈(10)은 UI 모듈(6)로 하여금, 예를 들어, 텍스트 제안 영역들(70, 72, 및 74)에서, GUI에서의 디스플레이를 위한 후보 대체 문자열들 중 하나 이상을 출력하도록 할 수 있다. 특정 예들에서, 그리고 대체 문자열의 선택을 개시하도록 하는 제스처 입력의 표시를 수신함에 응답하여, 문자 대체 모듈(10)은 UI 모듈(6)로 하여금 텍스트 제안 영역들(70-74)을 디스플레이하기 위해 사용되는 UI 디바이스(4)의 영역의 넓이를 증가시키도록 할 수 있다. 예를 들어, 대체 문자열의 선택을 개시하도록 하는 제스처 입력을 수신함에 응답하여, 문자 대체 모듈(6)은 UI 모듈(6)로 하여금, 대체 문자열 선택이 개시되지 않는 동작의 인스턴스들 동안, 텍스트 디스플레이 영역(60)을 디스플레이하는 UI 디바이스(4)의 영역에서 텍스트 제안 영역들(70-74)을 출력하도록 할 수 있다. 특정 예들에서, 텍스트 제안 영역들(70-74)에서의 디스플레이를 위한 후보 대체 문자열들을 출력하는 것에 추가하여, 문자 대체 모듈(10)은 UI 모듈(6)로 하여금 문자열의 선택 부분 앞에 오는 그리고/또는 뒤에 오는, 문자열에 포함되는 단어들을 출력하도록 할 수 있다.
제스처 모듈(8)은 하나 이상의 후보 대체 문자열들 중 하나를 선택하기 위한 제스처 입력의 표시를 수신할 수 있다. 도 3에서 예시되는 바와 같이, 제스처 모듈(8)은 UI 디바이스(4)의 위치(76), 즉 텍스트 제안 영역(72)에 대응하는 위치(76)에서 검출된 터치 제스처의 표시를 수신할 수 있다. 이러한 예에서, 문자 대체 모듈(10)은 선택된 텍스트 제안 영역과 관련된 후보 문자열을 선택할 수 있다. 이에 응답하여, 문자 대체 모듈(10)은 UI 모듈(6)로 하여금 텍스트 디스플레이 영역(60)에서의 디스플레이를 위해 그 선택된 대체 문자열을 출력하도록 할 수 있다. 추가적으로, 도 3에서 예시되는 바와 같이, 제스처 모듈(8)은 텍스트 삽입 위치를 문자열의 끝에 있는 위치에 대응하도록 업데이트할 수 있다.
도 4는 본 개시내용의 하나 이상의 기법들에 따른, 도 1에서 제시되는 바와 같은 컴퓨팅 디바이스(2)의 일 예의 세부사항을 더 상세히 예시하는 블록도이다. 도 4에서 예시되는 바와 같이, UI 모듈(6)은 텍스트 디스플레이 영역(80)과 그래픽 키보드(82)를 포함하는 GUI를 디스플레이를 위해 (예를 들어, UI 디바이스(4)에서) 출력할 수 있다 UI 모듈(6)은 텍스트 디스플레이 영역(80)에서의 디스플레이를 위한 문자열(예를 들어, 예시된 문자열 "This it a")을 출력할 수 있다. 제스처 모듈(8)은 텍스트 디스플레이 영역(80) 내의 UI 디바이스(4)의 위치에서(예컨대, 위치(84)에서) 검출된 제 1 제스처의 표시를 수신할 수 있다. 문자 대체 모듈(10)은 위치(84)에 적어도 부분적으로 근거하여 문자열의 적어도 일부분을 선택할 수 있다.
일부 예들에서, 문자 대체 모듈(10)은 문자열의 하나 이상의 일부분들과 위치(84) 간의 결정된 거리에 적어도 부분적으로 근거하여 문자열의 일부분을 선택할 수 있다. 예를 들어, 문자 대체 모듈(10)은 문자열에 포함된 단어 "it"과 관련된 UI 디바이스(4)의 위치(예를 들어, 단어 "it"을 디스플레이하는 텍스트 디스플레이 영역(80)의 해당 영역의 중심)와 위치(84) 간의 제 1 거리(96)를 결정할 수 있다. 마찬가지로, 문자 대체 모듈(10)은 문자열에 포함된 단어 "this"와 관련된 UI 디바이스(4)의 위치와 위치(84) 간의 제 2 거리(98)를 결정할 수 있다. 일부 예들에서, 문자 대체 모듈(10)은 제 1 거리(96)와 제 2 거리(98)의 비교에 적어도 부분적으로 근거하여 문자열의 일부분을 선택할 수 있다. 예를 들어, 문자 대체 모듈(10)은 제 1 거리(96)가 제 2 거리(98)보다 작은지를 결정할 수 있다. 이에 응답하여, 문자 대체 모듈(10)은 디스플레이되는 문자열의 일부분 "it"을 선택할 수 있다.
일부 예들에서, 문자 대체 모듈(10)은 그래픽 키보드(82)의 하나 이상의 키들을 선택하기 위한 수신된 제스처 입력에 적어도 부분적으로 근거하여 문자열의 일부분을 선택할 수 있다. 도 4에서 예시되는 바와 같이, 제스처 모듈(8)은, 제 1 제스처가 텍스트 디스플레이 영역(80)의 위치(84)에서 검출되는 동안, 그래픽 키보드(82)의 적어도 하나의 키를 선택하기 위한 제스처(86)의 적어도 일부분의 표시를 수신할 수 있다. 제스처(86)는 "I" 키(92)를 선택하기 위한 제 1 위치(88)로부터 "S" 키(94)를 선택하기 위한 제 2 위치로의 입력 유닛(예를 들어, 손가락, 펜, 스타일러스 등)의 움직임(motion)을 포함할 수 있다. 문자 대체 모듈(10)은 제스처(86)의 수신된 표시에 적어도 부분적으로 근거하여 문자열의 일부분을 선택할 수 있다.
일 예로서, 문자 대체 모듈(10)은 대체 문자열의 선택을 개시시키는 제스처 입력을 수신한 이후 선택된 그래픽 키보드(82)의 키들의 개수를 결정할 수 있다. 문자 대체 모듈(10)은 문자열의 일부분(예를 들어, 단어)에 포함된 문자들의 개수와 선택된 키들의 개수를 비교할 수 있고, 이러한 비교에 적어도 부분적으로 근거하여 문자열의 일부분을 선택할 수 있다. 예를 들어, 제스처 모듈(8)은 제스처(86)의 수신된 표시에 적어도 부분적으로 근거하여 그래픽 키보드(82)의 두 개의 키(즉, "I" 키(92) 및 "S" 키(94))를 선택할 수 있다. 문자 대체 모듈(10)은 문자열의 일부분(예를 들어, 단어 "this"를 포함하는 문자열의 일부분)에 포함된 문자들(즉, 네 개의 문자들)의 개수를 선택된 키들의 개수(즉, 본 예에서는 두 개)와 비교할 수 있다. 마찬가지로, 문자 대체 모듈(10)은 단어 "it"을 포함하는 문자열의 일부분에 포함된 문자들(즉, 두 개의 문자들)의 개수를 선택된 키들의 개수(즉, 두 개)와 비교할 수 있다. 문자 대체 모듈(10)은 선택된 키들의 개수가 단어 "this"에서의 문자들의 개수보다는 단어 "it"에서의 문자들의 개수와 더 가깝게 매칭된다고 결정할 수 있다. 이에 응답하여, 문자 대체 모듈(10)은 대체를 위한 단어 "it"을 포함하는 문자열의 일부분을 선택할 수 있다.
일부 예들에서, 문자 대체 모듈(10)은 그래픽 키보드(82)의 선택된 키들과 관련된 하나 이상의 문자들을 문자열의 일부분에 포함된 하나 이상의 문자들과 비교하는 것에 적어도 부분적으로 근거하여 문자열의 일부분을 선택할 수 있다. 예를 들어, 문자 대체 모듈(10)은, 단어 "it"이 글자 "i"로 시작하고 있고 "I" 키(92)는 제스처(86)에 근거하여 선택된 첫 번째 키라는 결정에 근거하여, 단어 "it"을 포함하는 디스플레이되는 문자열의 일부분을 선택할 수 있다.
특정 예들에서, 문자 대체 모듈(10)은 다음과 같은 것의 조합에 근거하여, 즉, 문자열의 일부분과 위치(84) 간의 거리; 그래픽 키보드(82)의 선택된 키들의 개수를 문자열의 일부분에 포함된 문자들의 개수와 비교하는 것; 그리고 그래픽 키보드(82)의 선택된 키들과 관련된 하나 이상의 문자들을 문자열의 일부분에 포함된 하나 이상의 문자들과 비교하는 것의 조합에 근거하여, 문자열의 일부분을 선택할 수 있다. 예를 들어, 문자 대체 모듈(10)은, 거리, 문자들의 개수, 그리고 문자들의 유사성을 조합시켜 결정을 행한 것에 근거하여 문자열의 둘 이상의 부분들 각각에 대한 점수(score)를 결정할 수 있다. 특정 예들에서, 문자 대체 모듈(10)은 이러한 점수들의 비교에 근거하여, 예를 들어, 가장 높은 점수에 대응하는 문자열의 일부분을 선택함으로써, 문자열의 일부분을 선택할 수 있다(예를 들어, 높은 점수가 문자열의 일부분에 대한 상관성(correlation) 증가에 대응하는 그러한 예들에 있어서). 낮은 점수가 문자열의 일부분에 대한 상관성 증가에 대응하는 경우와 같은 경우, 특정 예들에서, 문자 대체 모듈(10)은 가장 낮은 점수에 대응하는 문자열의 일부분을 선택할 수 있다.
이러한 방식으로, 본 개시내용의 실시형태들은 컴퓨팅 디바이스로 하여금 컴퓨팅 디바이스가 문자열의 일부분을 선택할 때의 정확성을 향상시킬 수 있게 한다. 이처럼, 본 명세서에서 설명되는 기법들은 사용자가, 디스플레이되는 문자열의 일부분을 선택하고 선택된 부분을 대체하기 위한 대체 문자열을 선택하는 제스처 입력을 제공하기 위해 컴퓨팅 디바이스와 상호대화할 때의 용이성을 향상시킬 수 있다.
도 5는 본 개시내용의 하나 이상의 기법들에 따른, 디스플레이되는 문자열의 적어도 일부분을 대체하기 위해 대체 문자열을 출력하는 컴퓨팅 디바이스의 예시적인 동작들을 나타내는 흐름도이다. 오로지 예시적 목적으로, 도 1 및 도 2에서 제시되는 바와 같은 컴퓨팅 디바이스(2)와 관련시켜 예시적인 동작들이 아래에서 설명된다.
컴퓨팅 디바이스(2)는 텍스트 디스플레이 영역 및 그래픽 키보드를 포함하는 그래픽 사용자 인터페이스를 프레즌스-감지 디스플레이에서의 디스플레이를 위해 출력할 수 있다(단계(100)). 예를 들어, 하나 이상의 프로세서들(40) 상에서 실행되는 UI 모듈(6)은 UI 디바이스(4)(예를 들어, 프레즌스-감지 디스플레이)에서의 디스플레이를 위해, 텍스트 디스플레이 영역(16) 및 그래픽 키보드(18)를 포함하는 GUI(14)를 출력할 수 있다. 일 예로서, UI 모듈(6)은 텍스트 디스플레이 영역(16)에서의 디스플레이를 위해, 문자들의 열 "This it a"를 포함하는 문자열(22)을 출력할 수 있다. 컴퓨팅 디바이스(2)는 텍스트 디스플레이 영역 내의 위치에 있는 프레즌스-감지 디스플레이에서 검출된 제 1 제스처의 표시를 수신할 수 있다(단계(102)). 예를 들어, 제스처 모듈(8)은 텍스트 디스플레이 영역(16)의 위치(26)에서 검출된 제 1 제스처의 표시를 수신할 수 있다.
컴퓨팅 디바이스(2)는 텍스트 디스플레이 영역 내의 위치에 적어도 부분적으로 근거하여, 텍스트 디스플레이 영역에 포함되는 문자열의 적어도 일부분을 선택할 수 있다(단계(104)). 예를 들어, 문자 대체 모듈(10)은 문자열(20)의 일부분(22), 즉 문자들 "it"을 포함하는 일부분(22)을 선택할 수 있다. 컴퓨팅 디바이스(2)는,제 1 제스처가 프레즌스-감지 디스플레이에서 검출되는 동안, 그래픽 키보드의 적어도 하나의 키를 선택하기 위한 제 2 제스처의 적어도 일부분의 표시를 수신할 수 있다(단계(106)). 예를 들어, 제스처 모듈(8)은 "I" 키(28)를 선택하기 위한 제 1 위치(30)로부터 "S" 키(34)를 선택하기 위한 제 2 위치(36)로의 움직임을 포함하는 제스처(32)의 적어도 일부분의 표시를 수신할 수 있다.
컴퓨팅 디바이스(2)는 적어도 제 2 제스처의 종료의 표시를 수신함에 응답하여 문자열의 일부분을 대체하기 위해 텍스트 디스플레이 영역 내에서의 디스플레이를 위한 대체 문자열을 출력할 수 있다(단계(108)). 대체 문자열은 적어도 하나의 키에 적어도 부분적으로 근거할 수 있다. 예를 들어, 컴퓨팅 디바이스(2)는 "I" 키(28) 및 "S" 키(34)를 선택하기 위한 제스처(32)의 수신된 표시에 적어도 부분적으로 근거하여 문자들 "is"를 포함하는 대체 문자열을 결정할 수 있다. 문자 대체 모듈(10)은 UI 모듈(6)로 하여금, 적어도 제 2 제스처의 종료의 표시를 수신함에 응답하여, 텍스트 디스플레이 영역(16)에서의 디스플레이를 위한 대체 문자열 "is"를 출력하도록 할 수 있다.
일 예에서, 텍스트 디스플레이 영역 내의 제 1 위치는 텍스트 삽입 위치를 포함하고, 텍스트 디스플레이 영역 내의 위치에 있는 프레즌스-감지 디스플레이에서 검출된 제 1 제스처의 표시를 수신하는 것은 텍스트 디스플레이 영역 내의 제 2 위치에 있는 프레즌스-감지 디스플레이에서 검출된 상기 제 1 제스처의 표시를 수신하는 것을 포함하고, 여기서 제 2 위치와 제 1 위치는 서로 다르며, 이러한 동작들은 또한, 텍스트 디스플레이 영역 내의 제 2 위치에 있는 프레즌스-감지 디스플레이에서 검출된 제 1 제스처의 표시를 수신하는 것에 응답하여, 컴퓨팅 디바이스(2)에 의해 텍스트 삽입 위치를 제 2 위치에 대응하도록 업데이트하는 것을 포함하고, 그리고 텍스트 디스플레이 영역 내에서의 디스플레이를 위한 대체 문자열을 출력함에 응답하여 컴퓨팅 디바이스(2)에 의해 텍스트 삽입 위치를 제 1 위치로 업데이트하는 것을 포함한다. 일 예에서, 제 1 위치는 문자열의 끝에 있는 위치에 대응한다.
일 예에서, 텍스트 삽입 위치를 제 1 위치로 업데이트하는 것은 또한, 컴퓨팅 디바이스(2)에 의해 제 1 제스처의 종료의 표시를 수신하는 것에 응답하여 일어난다. 일 예에서, 텍스트 디스플레이 영역 내에서의 디스플레이를 위한 대체 문자열을 출력하는 것은 또한, 컴퓨팅 디바이스(2)에 의해 제 1 제스처의 종료의 표시를 수신하는 것에 응답하여 일어난다. 일 예에서, 문자열의 일부분은 공백 구획 문자와 구분 문자 중 하나 이상에 의해 경계가 정해지는 하나 이상의 문자들을 포함한다.
일 예에서, 그래픽 키보드의 적어도 하나의 키를 선택하기 위한 제 2 제스처의 적어도 일부분의 표시를 수신하는 것은, 그래픽 키보드의 제 1 키를 선택하기 위한 제 2 제스처의 적어도 일부분의 표시를 수신하는 것을 포함하고, 이러한 동작들은 또한, 그래픽 키보드의 제 2 키를 선택하기 위해 프레즌스-감지 디스플레이에서 검출된 제 3 제스처의 표시를 컴퓨팅 디바이스(2)에 의해 수신하는 것을 포함한다. 이러한 예에서, 문자열의 일부분을 대체하기 위해 대체 문자열을 출력하는 것은 또한, 컴퓨팅 디바이스(2)에 의해 적어도 제 3 제스처의 종료의 표시를 수신하는 것에 응답하여 일어난다.
일 예에서, 그래픽 키보드의 제 2 키를 선택하기 위해 프레즌스-감지 디스플레이에서 검출된 제 3 제스처의 표시를 수신하는 것은, 제 1 제스처가 프레즌스-감지 디스플레이에서 검출되는 동안 제 3 제스처의 표시를 수신하는 것을 포함한다. 일 예에서, 그래픽 키보드의 제 2 키는 공백 구획 문자와 관련된 그래픽 키보드의 키를 포함한다. 일 예에서, 그래픽 키보드의 제 2 키는 구분 문자와 관련된 그래픽 키보드의 키를 포함한다.
일 예에서, 그래픽 키보드의 적어도 하나의 키를 선택하기 위한 제 2 제스처의 적어도 일부분의 표시를 수신하는 것은: 그래픽 키보드의 제 1 키를 선택하기 위한 제 2 제스처의 제 1 부분의 표시를 제 1 제스처가 프레즌스-감지 디스플레이에서 검출되는 동안 컴퓨팅 디바이스(2)에 의해 수신하는 것과; 그리고 그래픽 키보드의 제 2 키를 선택하기 위해 제 2 제스처의 제 2 부분의 표시를 컴퓨팅 디바이스(2)에 의해 수신하는 것을 포함한다. 이러한 예에서, 제 2 제스처는 프레즌스-감지 디스플레이에서 검출되는 연속적인 모션 제스처를 포함하고, 대체 문자열은 제 1 키와 관련된 제 1 문자 및 제 2 키와 관련된 제 2 문자에 적어도 부분적으로 근거한다. 일 예에서, 그래픽 키보드의 제 2 키를 선택하기 위해 제 2 제스처의 제 2 부분의 표시를 수신하는 것은, 제 1 제스처가 프레즌스-감지 디스플레이에서 검출되는 동안 제 2 제스처의 제 2 부분을 수신하는 것을 포함한다.
일 예에서, 이러한 동작들은 또한, 적어도 하나의 키에 적어도 부분적으로 근거하여 컴퓨팅 디바이스(2)에 의해 하나 이상의 후보 단어들을 결정하는 것과; 하나 이상의 후보 단어들을 컴퓨팅 디바이스(2)에 의해 프레즌스-감지 디스플레이에서의 디스플레이를 위해 그래픽 사용자 인터페이스 내에 출력하는 것과; 그리고 프레즌스-감지 디스플레이에서 검출된 제 3 제스처의 표시를 컴퓨팅 디바이스(2)에 의해 수신하는 것을 포함하고, 여기서 제 3 제스처는 하나 이상의 후보 단어들 중 하나를 선택된 후보 단어로서 선택하기 위한 것이다. 이러한 예에서, 문자열의 일부분을 대체하기 위해 대체 문자열을 출력하는 것은 문자열의 일부분을 대체하기 위해 그 선택된 후보 단어를 출력하는 것을 포함한다.
일 예에서, 텍스트 디스플레이 영역에 포함되는 문자열은 두 개 이상의 단어들을 포함하고, 텍스트 디스플레이 영역 내의 위치에 있는 프레즌스-감지 디스플레이에서 검출된 제 1 제스처의 표시를 수신하는 것은, 텍스트 디스플레이 영역 내의 제 1 위치에 있는 프레즌스-감지 디스플레이에서 검출된 제 1 제스처의 표시를 수신하는 것을 포함하고, 문자열의 적어도 일부분을 선택하는 것은 또한: 제 1 위치와 두 개 이상의 단어들 중 제 1 단어와 관련된 제 2 위치 간의 제 1 거리를 컴퓨팅 디바이스(2)에 의해 결정하는 것과; 제 1 위치와 두 개 이상의 단어들 중 제 2 단어와 관련된 제 3 위치 간의 제 2 거리를 컴퓨팅 디바이스(2)에 의해 결정하는 것과; 그리고 제 1 거리와 제 2 거리의 비교에 적어도 부분적으로 근거하여 컴퓨팅 디바이스(2)에 의해 두 개 이상의 단어들 중 제 1 단어를 문자열의 일부분으로서 선택하는 것을 포함한다.
일 예에서, 두 개 이상의 단어들 중 제 1 단어를 문자열의 일부분으로서 선택하는 것은 또한, 제 1 거리가 제 2 거리보다 작다는 컴퓨팅 디바이스(2)에 의한 결정에 적어도 부분적으로 근거하여 두 개 이상의 단어들 중 제 1 단어를 문자열의 일부분으로서 선택하는 것을 포함한다. 일 예에서, 두 개 이상의 단어들 중 제 1 단어를 문자열의 일부분으로서 선택하는 것은 또한, 그래픽 키보드의 적어도 하나의 키에 적어도 부분적으로 근거하여 두 개 이상의 단어들 중 제 1 단어를 문자열의 일부분으로서 선택하는 것을 포함한다. 일 예에서, 그래픽 키보드의 적어도 하나의 키에 적어도 부분적으로 근거하여 두 개 이상의 단어들 중 제 1 단어를 문자열의 일부분으로서 선택하는 것은, 두 개 이상의 단어들 중 제 1 단어에 포함된 문자들의 개수를 적어도 하나의 키의 키들의 개수와 비교하는 것에 적어도 부분적으로 근거하여 두 개 이상의 단어들 중 제 1 단어를 문자열의 일부분으로서 선택하는 것을 포함한다. 일 예에서, 두 개 이상의 단어들 중 제 1 단어를 문자열의 일부분으로서 선택하는 것은 또한, 두 개 이상의 단어들 중 제 1 단어의 적어도 하나의 문자가 적어도 하나의 키 중 적어도 하나의 키와 관련된 문자에 대응한다는 컴퓨팅 디바이스(2)에 의한 결정에 근거하여 두 개 이상의 단어들 중 제 1 단어를 문자열의 일부분으로서 선택하는 것을 포함한다.
도 6은 본 개시내용의 하나 이상의 기법들에 따른, 원격 디바이스에서의 디스플레이를 위해 그래픽 콘텐츠를 출력하는 예시적인 컴퓨팅 디바이스를 나타낸 블록도이다. 그래픽 콘텐츠는 일반적으로, 텍스트, 영상, 동영상의 그룹, 등과 같은 디스플레이를 위해 출력될 수 있는 임의의 시각적 정보를 포함할 수 있다. 도 6에 제시되는 예는, 컴퓨팅 디바이스(110), 프레즌스-감지 디스플레이(114), 통신 유닛(116), 프로젝터(projector)(126), 프로젝터 스크린(projector screen)(128), 태블릿 디바이스(tablet device)(132) 그리고 시각적 디스플레이 디바이스(visual display device)(136)를 포함한다. 독립형 컴퓨팅 디바이스로서 도 1 및 도 2에서 예시적으로 제시되고 있지만, 컴퓨팅-디바이스는 일반적으로, 소프트웨어 명령들을 실행하기 위한 프로세서 혹은 다른 적절한 컴퓨팅 환경을 포함하는 임의의 컴포넌트 또는 시스템일 수 있고, 예를 들어, 프레즌스-감지 디스플레이를 포함할 필요가 없을 수도 있다.
도 6의 예에서 제시되는 바와 같이, 컴퓨팅 디바이스(110)는 도 2에서의 프로세서(40)에 관하여 설명된 바와 같은 기능을 포함하는 프로세서일 수 있다. 이러한 예들에서, 컴퓨팅 디바이스(110)는 통신 채널(112A)에 의해 프레즌스-감지 디스플레이(114)에 동작가능하게 결합될 수 있는바, 여기서 통신 채널(112A)은 시스템 버스 혹은 다른 적절한 연결일 수 있다. 컴퓨팅 디바이스(110)는 또한 통신 채널(112B)에 의해 아래에서 더 설명되는 바와 같은 통신 유닛(116)에 동작가능하게 결합될 수 있는바, 여기서 통신 채널(112B)도 또한 시스템 버스 혹은 다른 적절한 연결일 수 있다. 예시적으로 도 6에서는 개별적으로 제시되고 있지만, 컴퓨팅 디바이스(110)는 임의 개수의 하나 이상의 통신 채널들에 의해 프레즌스-감지 디스플레이(114) 및 통신 유닛(116)에 동작가능하게 결합될 수 있다.
도 1 및 도 2에서 앞서 예시된 바와 같은 다른 예들에서, 컴퓨팅 디바이스(110)는 (스마트폰을 포함하는) 모바일 전화기와 같은 휴대용 혹은 모바일 디바이스, 랩탑 컴퓨터들, 등일 수 있다. 일부 예들에서, 컴퓨팅 디바이스(110)는 데스크탑 컴퓨터들, 태블릿 컴퓨터들, 스마트 텔레비젼 플랫폼들, 카메라들, 개인 휴대정보 단말기(PDA)들, 서버들, 메인프레임들, 등일 수 있다.
도 6에서 제시되는 바와 같이, 컴퓨팅 디바이스(110)는 또한 통신 유닛(116)을 포함할 수 있고 그리고/또는 통신 유닛(116)과 동작가능하게 결합될 수 있다. 통신 유닛(116)은 도 2에서 설명된 바와 같은 통신 유닛(44)의 기능을 포함할 수 있다. 통신 유닛(116)의 예들은, 네트워크 인터페이스 카드, 이더넷 카드, 광학 송수신기, 무선 주파수 송수신기, 혹은 정보를 전송하고 수신할 수 있는 임의의 다른 타입의 디바이스일 수 있다. 이러한 통신 유닛들의 다른 예들은, 블루투스, 3G 및 WiFi 무선기기, 범용 직렬 버스(USB) 인터페이스 등을 포함할 수 있다. 컴퓨팅 디바이스(110)는 또한, 하나 이상의 다른 디바이스들을 포함할 수 있고 그리고/또는 하나 이상의 다른 디바이스들과 동작가능하게 결합될 수 있는바, 이러한 하나 이상의 다른 디바이스들은, 예를 들어, 입력 디바이스들, 출력 디바이스들, 메모리, 저장 디바이스들 등이며, 이들은 간결한 예시적 설명을 위해 도 6에서는 제시되지 않았다.
도 6은 또한 프로젝터(126) 및 프로젝터 스크린(128)을 예시한다. 이러한 프로젝션 디바이스들(projection devices)의 다른 예들은 전자 화이트보드들(electronic whiteboards), 홀로그래픽 디스플레이 디바이스들(holographic display devices), 그리고 그래픽 콘텐츠를 디스플레이하기 위한 임의의 다른 적절한 디바이스들을 포함할 수 있다. 프로젝터(126) 및 프로젝터 스크린(128)은 각각의 디바이스들로 하여금 컴퓨팅 디바이스(110)와 통신할 수 있도록 하는 하나 이상의 통신 유닛들을 포함할 수 있다. 일부 예들에서, 하나 이상의 통신 유닛들은 프로젝터(126)와 프로젝터 스크린(128) 간의 통신을 가능하게 할 수 있다. 프로젝터(126)는 그래픽 콘텐츠를 포함하는 데이터를 컴퓨팅 디바이스(110)로부터 수신할 수 있다. 프로젝터(126)는, 데이터를 수신하는 것에 응답하여, 그래픽 콘텐츠를 프로젝터 스크린(128) 상에 프로젝트(project)할 수 있다. 일부 예들에서, 프로젝터(126)는 프로젝터 스크린에서의 하나 이상의 사용자 입력들(예를 들어, 연속적인 제스처들, 멀티-터치 제스처들, 단일-터치 제스처들, 등)을 광학 인식 기법 혹은 다른 적절한 기법들을 사용하여 결정할 수 있고, 그리고 이러한 사용자 입력의 표시들을 하나 이상의 통신 유닛들을 사용하여 컴퓨팅 디바이스(110)에 전송할 수 있다.
프로젝터 스크린(128)은, 일부 예들에서, 프레즌스-감지 디스플레이(130)를 포함할 수 있다. 프레즌스-감지 디스플레이(130)는 본 개시내용에서 설명된 바와 같은 UI 디바이스(4)의 기능 모두 혹은 이러한 기능의 서브세트를 포함할 수 있다. 일부 예들에서, 프레즌스-감지 디스플레이(130)는 추가적인 기능을 포함할 수 있다. 프로젝터 스크린(128)(예를 들어, 전자 화이트보드)은 컴퓨팅 디바이스(110)로부터 데이터를 수신할 수 있고 그래픽 콘텐츠를 디스플레이할 수 있다. 일부 예들에서, 프레즌스-감지 디스플레이(130)는 프로젝터 스크린(128)에서의 하나 이상의 사용자 입력들(예를 들어, 연속적인 제스처들, 멀티-터치 제스처들, 단일-터치 제스처들, 등)을 용량성, 유도성 및/또는 광학 인식 기법들을 사용하여 결정할 수 있고, 그리고 이러한 사용자 입력의 표시들을 하나 이상의 통신 유닛들을 사용하여 컴퓨팅 디바이스(110)에 전송할 수 있다.
도 6은 또한, 태블릿 디바이스(132) 및 시각적 디스플레이 디바이스(136)를 예시한다. 태블릿 디바이스(132) 및 시각적 디스플레이 디바이스(136) 각각은 컴퓨팅 능력 및 연결 능력을 포함할 수 있다. 태블릿 디바이스(132)의 예들은, 전자책-리더 디바이스들(e-reader devices), 컨버터블 노트북 디바이스들(convertible notebook devices), 하이브리드 슬레이트 디바이스들(hybrid slate devices) 등을 포함할 수 있다. 시각적 디스플레이 디바이스(136)의 예들은 텔레비젼들, 컴퓨터 모니터들, 등을 포함할 수 있다. 도 6에서 제시되는 바와 같이, 태블릿 디바이스(132)는 프레즌스-감지 디스플레이(134)를 포함할 수 있다. 시각적 디스플레이 디바이스(136)는 프레즌스-감지 디스플레이(138)를 포함할 수 있다. 프레즌스-감지 디스플레이들(134, 138)은 본 개시내용에서 설명된 바와 같은 UI 디바이스(4)의 기능 모두 혹은 이러한 기능의 서브세트를 포함할 수 있다. 일부 예들에서, 프레즌스-감지 디스플레이들(134, 138)은 추가적인 기능을 포함할 수 있다. 임의의 경우에 있어, 예를 들어, 프레즌스-감지 디스플레이(138)는 컴퓨팅 디바이스(110)로부터 데이터를 수신할 수 있고 그래픽 콘텐츠를 디스플레이할 수 있다. 일부 예들에서, 프레즌스-감지 디스플레이(138)는 프로젝터 스크린에서의 하나 이상의 사용자 입력들(예를 들어, 연속적인 제스처들, 멀티-터치 제스처들, 단일-터치 제스처들, 등)을 용량성, 유도성 및/또는 광학 인식 기법들을 사용하여 결정할 수 있고, 그리고 이러한 사용자 입력의 표시들을 하나 이상의 통신 유닛들을 사용하여 컴퓨팅 디바이스(110)에 전송할 수 있다.
앞서 설명된 바와 같이, 일부 예들에서, 컴퓨팅 디바이스(110)는 프레즌스-감지 디스플레이(114)에서의 디스플레이를 위한 그래픽 콘텐츠를 출력할 수 있는바, 여기서 프레즌스-감지 디스플레이(114)는 시스템 버스 혹은 다른 적절한 통신 채널에 의해 컴퓨팅 디바이스(110)에 결합된다. 컴퓨팅 디바이스(110)는 또한, 프로젝터(126), 프로젝터 스크린(128), 태블릿 디바이스(132) 및 시각적 디스플레이 디바이스(136)와 같은 하나 이상의 원격 디바이스에서의 디스플레이를 위한 그래픽 콘텐츠를 출력할 수 있다. 예를 들어, 컴퓨팅 디바이스(110)는 본 개시내용의 기법들에 따른, 그래픽 콘텐츠를 발생 및/또는 수정하는 하나 이상의 명령들을 실행시킬 수 있다. 컴퓨팅 디바이스(110)는 그래픽 콘텐츠를 포함하는 데이터를 컴퓨팅 디바이스(110)의 통신 유닛, 예컨대 통신 유닛(116)에 출력할 수 있다. 통신 유닛(116)은 이러한 데이터를 원격 디바이스들 중 하나 이상의 원격 디바이스(예를 들어, 프로젝터(126), 프로젝터 스크린(128), 태블릿 디바이스(132) 및/또는 시각적 디스플레이 디바이스(136)와 같은 것)에 전송할 수 있다. 이러한 방식으로, 프로세서(102)는 원격 디바이스들 중 하나 이상의 원격 디바이스에서의 디스플레이를 위한 그래픽 콘텐츠를 출력할 수 있다. 일부 예들에서, 원격 디바이스들 중 하나 이상의 원격 디바이스는 각각의 원격 디바이스들에 동작가능하게 결합된 그리고/또는 각각의 원격 디바이스들에 포함된 프레즌스-감지 디스플레이에서 그래픽 콘텐츠를 출력할 수 있다.
일부 예들에서, 컴퓨팅 디바이스(110)는 컴퓨팅 디바이스(110)에 동작가능하게 결합된 프레즌스-감지 디스플레이(114)에서 그래픽 콘텐츠를 출력하지 않을 수 있다. 다른 예들에서, 컴퓨팅 디바이스(110)는 통신 채널(112A)에 의해 컴퓨팅 디바이스(110)에 결합된 프레즌스-감지 디스플레이(114)에서 그리고 하나 이상의 원격 디바이스들에서 모두 디스플레이를 위한 그래픽 콘텐츠를 출력할 수 있다. 이러한 예들에서, 그래픽 콘텐츠는 각각의 디바이스에서 실질적으로 동시에 디스플레이될 수 있다. 예를 들어, 그래픽 콘텐츠를 포함하는 데이터를 원격 디바이스에 전송하기 위해서 통신 레이턴시(communication latency)에 의한 어떤 지연이 일어날 수 있다. 일부 예들에서, 컴퓨팅 디바이스(110)에 의해 발생되고 프레즌스-감지 디스플레이(114)에서의 디스플레이를 위해 출력된 그래픽 콘텐츠는 하나 이상의 원격 디바이스들에서의 디스플레이를 위해 출력된 그래픽 콘텐츠 디스플레이와는 서로 다른 것일 수 있다.
컴퓨팅 디바이스(110)는 임의의 적절한 통신 기법들을 사용하여 데이터를 전송하고 수신할 수 있다. 예를 들어, 컴퓨팅 디바이스(110)는 네트워크 링크(network link)(118A)를 사용하여 외부 네트워크(122)에 동작가능하게 결합될 수 있다. 도 6에서 예시되는 원격 디바이스들 각각은 각각의 네트워크 링크들(118B, 118C, 및 118D) 중 하나의 네트워크 링크에 의해 네트워크 외부 네트워크(122)에 동작가능하게 결합될 수 있다. 외부 네트워크(122)는, 네트워크 허브들(network hubs), 네트워크 스위치들(network switchs), 네트워크 라우터들(network routers), 등을 포함할 수 있는바, 이들은 동작가능하게 상호-결합되어 도 6에서 예시되는 원격 디바이스들과 컴퓨팅 디바이스(110) 간의 정보의 교환을 제공하게 된다. 일부 예들에서, 네트워크 링크들(118A 내지 118D)은 이더넷, ATM 혹은 다른 네트워크 연결들일 수 있다. 이러한 연결들은 무선 연결 및/또는 유선 연결일 수 있다.
일부 예들에서, 컴퓨팅 디바이스(110)는 다이렉트 디바이스 통신(direct device communication)(124)을 사용하여, 도 6에 포함된 원격 디바이스들 중 하나 이상의 원격 디바이스에 동작가능하게 결합될 수 있다. 다이렉트 디바이스 통신(124)은 컴퓨팅 디바이스(110)가 유선 통신 혹은 무선 통신을 사용하여 원격 디바이스와 직접적으로 데이터의 전송 및 수신을 행할 때 사용하는 통신을 포함할 수 있다. 즉, 다이렉트 디바이스 통신(124)의 일부 예들에서, 컴퓨팅 디바이스(110)에 의해 전송되는 데이터는 원격 디바이스에서 수신되기 전에 하나 이상의 추가적인 디바이스에 의해 포워딩(forwarding)되지 않을 수 있는바, 그 반대의 경우도 마찬가지다. 다이렉트 디바이스 통신(124)의 예들은 블루투스, 근거리 무선 통신(Near-Field Communication), 범용 직렬 버스, WiFi, 적외선 등을 포함할 수 있다. 도 6에서 예시되는 원격 디바이스들 중 하나 이상의 원격 디바이스는 통신 링크들(120A 내지 120D)에 의해 컴퓨팅 디바이스(110)와 동작가능하게 결합될 수 있다. 일부 예들에서, 통신 링크들(118A 내지 118AD)은 블루투스, 근거리 무선 통신, 범용 직렬 버스, WiFi, 적외선 등을 사용하는 연결일 수 있다. 이러한 연결은 무선 연결 및/또는 유선 연결일 수 있다.
본 개시내용의 기법들에 따르면, 컴퓨팅 디바이스(110)는 외부 네트워크(122)를 사용하여 시각적 디스플레이 디바이스(136)에 동작가능하게 결합될 수 있다. 컴퓨팅 디바이스(110)는 텍스트 디스플레이 영역 및 그래픽 키보드를 포함하는 그래픽 사용자 인터페이스를 프레즌스-감지 디스플레이(138)에서의 디스플레이를 위해 출력할 수 있다. 예를 들어, 컴퓨팅 디바이스(110)는 그래픽 사용자 인터페이스의 표현을 포함하는 데이터를 통신 유닛(116)에 전송할 수 있다. 통신 유닛(116)은 그래픽 사용자 인터페이스의 표현을 포함하는 데이터를 외부 네트워크(122)를 사용하여 시각적 디스플레이 디바이스(136)에 전송할 수 있다. 시각적 디스플레이 디바이스(136)는, 외부 네트워크(122)를 사용하여 이러한 데이터를 수신함에 응답하여, 프레즌스-감지 디스플레이(138)로 하여금 그래픽 사용자 인터페이스를 출력하도록 할 수 있다. 사용자가 텍스트 디스플레이 영역 내의 위치에 있는 프레즌스-감지 디스플레이(138)에서 검출되는 제 1 제스처를 수행하는 것에 응답하여, 시각적 디스플레이 디바이스(136)는 제 1 제스처의 표시를 외부 네트워크(122)를 사용하여 컴퓨팅 디바이스(110)에 전송할 수 있다. 통신 유닛(116)은 제 1 제스처의 표시를 수신할 수 있고 제 1 제스처의 표시를 컴퓨팅 디바이스(110)에 전송할 수 있다. 마찬가지로, 제 1 제스처가 프레즌스-감지 디스플레이(138)에서 검출되는 동안, 사용자가, 그래픽 키보드의 적어도 하나의 키를 선택하기 위한 프레즌스-감지 디스플레이(138)에서 검출되는 제 2 제스처의 적어도 일부분을 수행하는 것에 응답하여, 시각적 디스플레이 디바이스(136)는 제 2 제스처의 표시를 외부 네트워크(122)를 사용하여 컴퓨팅 디바이스(110)에 전송할 수 있다. 통신 유닛(116)은 제 2 제스처의 표시를 수신할 수 있고 제 2 제스처의 표시를 컴퓨팅 디바이스(110)에 전송할 수 있다.
컴퓨팅 디바이스(110)는, 텍스트 디스플레이 영역 내의 위치에 적어도 부분적으로 근거하여, 텍스트 디스플레이 영역에 포함되는 문자열의 적어도 일부분을 선택할 수 있다. 컴퓨팅 디바이스(110)는, 적어도 제 2 제스처의 종료의 표시를 수신하는 것에 응답하여 그리고 그래픽 키보드의 적어도 하나의 키에 적어도 부분적으로 근거하여, 문자열의 일부분을 대체하기 위해 텍스트 디스플레이 영역 내에서의 디스플레이를 위한 대체 문자열을 출력할 수 있다. 컴퓨팅 디바이스(110)는 후보 문자열을 포함하는 데이터를 통신 유닛(116)에 전송할 수 있고, 통신 유닛(116)은 또한 이러한 데이터를 외부 네트워크(122)를 사용하여 시각적 디스플레이 디바이스(136)에 전송한다. 데이터를 수신하는 것에 응답하여, 시각적 디스플레이 디바이스(136)는 프레즌스-감지 디스플레이(138)로 하여금 후보 문자열을 디스플레이하도록 할 수 있다. 이러한 방식으로, 컴퓨팅 디바이스(110)는 본 개시내용의 기법들에 따라, 프레즌스-감지 디스플레이(138)에서의 디스플레이를 위한 후보 단어를 출력할 수 있다.
예시 1(Example 1): 방법이 제공되며, 이 방법은, 텍스트 디스플레이 영역(text display region) 및 그래픽 키보드(graphical keyboard)를 포함하는 그래픽 사용자 인터페이스(graphical user interface)를 컴퓨팅 디바이스(computing device)에 의해 프레즌스 감지 디스플레이(presence-sensitive display)에서의 디스플레이를 위해 출력하는 단계와; 상기 텍스트 디스플레이 영역 내의 위치에 있는 상기 프레즌스 감지 디스플레이에서 검출된 제 1 제스처(gesture)의 표시를 상기 컴퓨팅 디바이스에 의해 수신하는 단계와; 상기 텍스트 디스플레이 영역 내의 위치에 적어도 부분적으로 근거하여, 상기 텍스트 디스플레이 영역에 포함되는 문자열(character string)의 적어도 일부분을 상기 컴퓨팅 디바이스에 의해 선택하는 단계와; 상기 그래픽 키보드의 적어도 하나의 키(key)를 선택하기 위한 제 2 제스처의 적어도 일부분의 표시를 상기 제 1 제스처가 상기 프레즌스 감지 디스플레이에서 검출되는 동안 상기 컴퓨팅 디바이스에서 수신하는 단계와; 그리고 적어도 상기 제 2 제스처의 종료의 표시를 수신함에 응답하여 상기 문자열의 일부분을 대체하기 위해 상기 텍스트 디스플레이 영역 내에서의 디스플레이를 위한 대체 문자열(replacement character string)을 상기 컴퓨팅 디바이스에 의해 출력하는 단계를 포함하며, 상기 대체 문자열은 상기 적어도 하나의 키에 적어도 부분적으로 근거한다.
예시 2(Example 2): 예시 1의 방법에 있어서, 상기 텍스트 디스플레이 영역 내의 제 1 위치는 텍스트 삽입 위치를 포함하고, 상기 텍스트 디스플레이 영역 내의 위치에 있는 상기 프레즌스 감지 디스플레이에서 검출된 상기 제 1 제스처의 표시를 수신하는 단계는, 상기 텍스트 디스플레이 영역 내의 제 2 위치에 있는 상기 프레즌스 감지 디스플레이에서 검출된 상기 제 1 제스처의 표시를 수신하는 것을 포함하고, 여기서 상기 제 2 위치와 상기 제 1 위치는 서로 다르며, 상기 방법은, 상기 텍스트 디스플레이 영역 내의 상기 제 2 위치에 있는 상기 프레즌스 감지 디스플레이에서 검출된 상기 제 1 제스처의 표시를 수신함에 응답하여, 상기 컴퓨팅 디바이스에 의해 상기 텍스트 삽입 위치를 상기 제 2 위치에 대응하도록 업데이트(update)하는 단계와; 그리고 상기 텍스트 디스플레이 영역 내에서의 디스플레이를 위한 상기 대체 문자열을 출력함에 응답하여 상기 컴퓨팅 디바이스에 의해 상기 텍스트 삽입 위치를 상기 제 1 위치로 업데이트하는 단계를 더 포함한다.
예시 3(Example 3): 예시 1과 예시 2 중 어느 하나에 기재된 방법에 있어서, 상기 제 1 위치는 상기 문자열의 끝에 있는 위치에 대응한다.
예시 4(Example 4): 예시 1 내지 예시 3 중 어느 하나에 기재된 방법에 있어서, 상기 텍스트 삽입 위치를 상기 제 1 위치로 업데이트하는 단계는 또한, 상기 컴퓨팅 디바이스에 의해 상기 제 1 제스처의 종료의 표시를 수신하는 것에 응답하여 일어난다.
예시 5(Example 5): 예시 1 내지 예시 4 중 어느 하나에 기재된 방법에 있어서, 상기 텍스트 디스플레이 영역 내에서의 디스플레이를 위한 상기 대체 문자열을 출력하는 단계는 또한, 상기 컴퓨팅 디바이스에 의해 상기 제 1 제스처의 종료의 표시를 수신하는 것에 응답하여 일어난다.
예시 6(Example 6): 예시 1 내지 예시 5 중 어느 하나에 기재된 방법에 있어서, 상기 문자열의 일부분은 공백 구획 문자(space delimiter character)와 구분 문자(punctuation character) 중 하나 이상에 의해 경계가 정해지는 하나 이상의 문자들을 포함한다.
예시 7(Example 7): 예시 1 내지 예시 6 중 어느 하나에 기재된 방법에 있어서, 상기 그래픽 키보드의 상기 적어도 하나의 키를 선택하기 위한 상기 제 2 제스처의 적어도 일부분의 표시를 수신하는 단계는 상기 그래픽 키보드의 제 1 키를 선택하기 위한 상기 제 2 제스처의 적어도 일부분의 표시를 수신하는 것을 포함하고, 상기 방법은, 상기 그래픽 키보드의 제 2 키를 선택하기 위해 상기 프레즌스 감지 디스플레이에서 검출된 제 3 제스처의 표시를 상기 컴퓨팅 디바이스에 의해 수신하는 단계를 더 포함하고, 상기 문자열의 일부분을 대체하기 위해 상기 대체 문자열을 출력하는 단계는 또한, 상기 컴퓨팅 디바이스에 의해 적어도 상기 제 3 제스처의 종료의 표시를 수신하는 것에 응답하여 일어난다.
예시 8(Example 8): 예시 1 내지 예시 7 중 어느 하나에 기재된 방법에 있어서, 상기 그래픽 키보드의 상기 제 2 키를 선택하기 위해 상기 프레즌스 감지 디스플레이에서 검출된 상기 제 3 제스처의 표시를 수신하는 단계는, 상기 제 1 제스처가 상기 프레즌스 감지 디스플레이에서 검출되는 동안 상기 제 3 제스처의 표시를 수신하는 것을 포함한다.
예시 9(Example 9): 예시 1 내지 예시 8 중 어느 하나에 기재된 방법에 있어서, 상기 그래픽 키보드의 상기 제 2 키는 공백 구획 문자와 관련된 상기 그래픽 키보드의 키를 포함한다.
예시 10(Example 10): 예시 1 내지 예시 9 중 어느 하나에 기재된 방법에 있어서, 상기 그래픽 키보드의 상기 제 2 키는 구분 문자와 관련된 상기 그래픽 키보드의 키를 포함한다.
예시 11(Example 11): 예시 1 내지 예시 10 중 어느 하나에 기재된 방법에 있어서, 상기 그래픽 키보드의 상기 적어도 하나의 키를 선택하기 위한 상기 제 2 제스처의 적어도 일부분의 표시를 수신하는 단계는, 상기 그래픽 키보드의 제 1 키를 선택하기 위한 상기 제 2 제스처의 제 1 부분의 표시를 상기 제 1 제스처가 상기 프레즌스 감지 디스플레이에서 검출되는 동안 상기 컴퓨팅 디바이스에 의해 수신하는 것과; 그리고 상기 그래픽 키보드의 제 2 키를 선택하기 위한 상기 제 2 제스처의 제 2 부분의 표시를 상기 컴퓨팅 디바이스에 의해 수신하는 것을 포함하고, 상기 제 2 제스처는 상기 프레즌스 감지 디스플레이에서 검출되는 연속적인 모션 제스처(motion gesture)를 포함하고, 상기 대체 문자열은 상기 제 1 키와 관련된 제 1 문자 및 상기 제 2 키와 관련된 제 2 문자에 적어도 부분적으로 근거한다.
예시 12(Example 12): 예시 1 내지 예시 11 중 어느 하나에 기재된 방법에 있어서, 상기 그래픽 키보드의 상기 제 2 키를 선택하기 위한 상기 제 2 제스처의 상기 제 2 부분의 표시를 수신하는 것은, 상기 제 1 제스처가 상기 프레즌스 감지 디스플레이에서 검출되는 동안 상기 제 2 제스처의 상기 제 2 부분을 수신하는 것을 포함한다.
예시 13(Example 13): 예시 1 내지 예시 12 중 어느 하나에 기재된 방법에 있어서, 상기 적어도 하나의 키에 적어도 부분적으로 근거하여 상기 컴퓨팅 디바이스에 의해 하나 이상의 후보 단어(candidate word)들을 결정하는 단계와; 상기 하나 이상의 후보 단어들을 상기 컴퓨팅 디바이스에 의해 상기 프레즌스 감지 디스플레이에서의 디스플레이를 위해 상기 그래픽 사용자 인터페이스 내에 출력하는 단계와; 그리고 상기 프레즌스 감지 디스플레이에서 검출된 제 3 제스처의 표시를 상기 컴퓨팅 디바이스에 의해 수신하는 단계를 더 포함하고, 상기 제 3 제스처는 상기 하나 이상의 후보 단어들 중 하나를 선택된 후보 단어로서 선택하기 위한 것이며, 상기 문자열의 일부분을 대체하기 위해 상기 대체 문자열을 출력하는 단계는 상기 문자열의 일부분을 대체하기 위해 상기 선택된 후보 단어를 출력하는 것을 포함한다.
예시 14(Example 14): 예시 1 내지 예시 13 중 어느 하나에 기재된 방법에 있어서, 상기 텍스트 디스플레이 영역에 포함되는 문자열은 두 개 이상의 단어들을 포함하고, 상기 텍스트 디스플레이 영역 내의 위치에 있는 상기 프레즌스 감지 디스플레이에서 검출된 상기 제 1 제스처의 표시를 수신하는 단계는, 상기 텍스트 디스플레이 영역 내의 제 1 위치에 있는 상기 프레즌스 감지 디스플레이에서 검출된 상기 제 1 제스처의 표시를 수신하는 것을 포함하고, 상기 문자열의 적어도 일부분을 선택하는 단계는 또한, 상기 제 1 위치와 상기 두 개 이상의 단어들 중 제 1 단어와 관련된 제 2 위치 간의 제 1 거리를 상기 컴퓨팅 디바이스에 의해 결정하는 것과; 상기 제 1 위치와 상기 두 개 이상의 단어들 중 제 2 단어와 관련된 제 3 위치 간의 제 2 거리를 상기 컴퓨팅 디바이스에 의해 결정하는 것과; 그리고 상기 제 1 거리와 상기 제 2 거리의 비교에 적어도 부분적으로 근거하여 상기 컴퓨팅 디바이스에 의해 상기 두 개 이상의 단어들 중 상기 제 1 단어를 상기 문자열의 일부분으로서 선택하는 것을 포함한다.
예시 15(Example 15): 예시 1 내지 예시 14 중 어느 하나에 기재된 방법에 있어서, 상기 두 개 이상의 단어들 중 상기 제 1 단어를 상기 문자열의 일부분으로서 선택하는 것은 또한, 상기 제 1 거리가 상기 제 2 거리보다 작다는 상기 컴퓨팅 디바이스에 의한 결정에 적어도 부분적으로 근거하여 상기 두 개 이상의 단어들 중 상기 제 1 단어를 상기 문자열의 일부분으로서 선택하는 것을 포함한다.
예시 16(Example 16): 예시 1 내지 예시 15 중 어느 하나에 기재된 방법에 있어서, 상기 두 개 이상의 단어들 중 상기 제 1 단어를 상기 문자열의 일부분으로서 선택하는 것은 또한, 상기 그래픽 키보드의 상기 적어도 하나의 키에 적어도 부분적으로 근거하여 상기 두 개 이상의 단어들 중 상기 제 1 단어를 상기 문자열의 일부분으로서 선택하는 것을 포함한다.
예시 17(Example 17): 예시 1 내지 예시 16 중 어느 하나에 기재된 방법에 있어서, 상기 그래픽 키보드의 상기 적어도 하나의 키에 적어도 부분적으로 근거하여 상기 두 개 이상의 단어들 중 상기 제 1 단어를 상기 문자열의 일부분으로서 선택하는 것은, 상기 두 개 이상의 단어들 중 상기 제 1 단어에 포함된 문자들의 개수를 상기 적어도 하나의 키의 키들의 개수와 비교하는 것에 적어도 부분적으로 근거하여 상기 두 개 이상의 단어들 중 상기 제 1 단어를 상기 문자열의 일부분으로서 선택하는 것을 포함한다.
예시 18(Example 18): 예시 1 내지 예시 17 중 어느 하나에 기재된 방법에 있어서, 상기 두 개 이상의 단어들 중 상기 제 1 단어를 상기 문자열의 일부분으로서 선택하는 것은 또한, 상기 두 개 이상의 단어들 중 상기 제 1 단어의 적어도 하나의 문자가 상기 적어도 하나의 키 중 적어도 하나의 키와 관련된 문자에 대응한다는 상기 컴퓨팅 디바이스에 의한 결정에 근거하여 상기 두 개 이상의 단어들 중 상기 제 1 단어를 상기 문자열의 일부분으로서 선택하는 것을 포함한다.
예시 19(Example 19): 명령들이 인코딩(encoding)되어 있는 컴퓨터 판독가능 저장 매체(computer-readable storage medium)가 제공되며, 상기 명령들은 실행시 컴퓨팅 디바이스의 적어도 하나의 프로세서로 하여금, 텍스트 디스플레이 영역 및 그래픽 키보드를 포함하는 그래픽 사용자 인터페이스를 프레즌스 감지 디스플레이에서의 디스플레이를 위해 출력하는 것과; 상기 텍스트 디스플레이 영역 내의 위치에 있는 상기 프레즌스 감지 디스플레이에서 검출된 제 1 제스처의 표시를 수신하는 것과; 상기 텍스트 디스플레이 영역 내의 위치에 적어도 부분적으로 근거하여, 상기 텍스트 디스플레이 영역에 포함되는 문자열의 적어도 일부분을 선택하는 것과; 상기 그래픽 키보드의 적어도 하나의 키를 선택하기 위한 제 2 제스처의 적어도 일부분의 표시를 상기 제 1 제스처가 상기 프레즌스 감지 디스플레이에서 검출되는 동안 수신하는 것과; 그리고 적어도 상기 제 2 제스처의 종료의 표시를 수신함에 응답하여 상기 문자열의 일부분을 대체하기 위해 상기 텍스트 디스플레이 영역 내에서의 디스플레이를 위한 대체 문자열을 출력하는 것을 수행하도록 하고, 상기 대체 문자열은 상기 적어도 하나의 키에 적어도 부분적으로 근거한다.
예시 20(Example 20): 명령들이 인코딩되어 있는 예시 19의 컴퓨터 판독가능 저장 매체에 있어서, 여기서 명령들은 실행시 컴퓨팅 디바이스의 적어도 하나의 프로세서로 하여금, 예시 2 내지 예시 18의 방법들 중 어느 하나의 방법을 수행하도록 한다.
예시 21(Example 21): 디바이스가 제공되며, 상기 디바이스는: 적어도 하나의 프로세서와; 프레즌스 감지 디스플레이와; 그리고 상기 적어도 하나의 프로세서에 의해 동작가능한 적어도 하나의 모듈(module)을 포함하고, 상기 적어도 하나의 프로세서에 의해 상기 적어도 하나의 모듈은, 텍스트 디스플레이 영역 및 그래픽 키보드를 포함하는 그래픽 사용자 인터페이스를 프레즌스 감지 디스플레이에서의 디스플레이를 위해 출력하는 것과; 상기 텍스트 디스플레이 영역 내의 위치에 있는 상기 프레즌스 감지 디스플레이에서 검출된 제 1 제스처의 표시를 수신하는 것과; 상기 텍스트 디스플레이 영역 내의 위치에 적어도 부분적으로 근거하여, 상기 텍스트 디스플레이 영역에 포함되는 문자열의 적어도 일부분을 선택하는 것과; 상기 그래픽 키보드의 적어도 하나의 키를 선택하기 위한 제 2 제스처의 적어도 일부분의 표시를 상기 제 1 제스처가 상기 프레즌스 감지 디스플레이에서 검출되는 동안 수신하는 것과; 그리고 적어도 상기 제 2 제스처의 종료의 표시를 수신함에 응답하여 상기 문자열의 일부분을 대체하기 위해 상기 텍스트 디스플레이 영역 내에서의 디스플레이를 위한 대체 문자열을 출력하는 것을 수행하도록 동작가능하고, 상기 대체 문자열은 상기 적어도 하나의 키에 적어도 부분적으로 근거한다.
예시 22(Example 22): 예시 21의 디바이스에 있어서, 상기 적어도 하나의 프로세서에 의해 상기 적어도 하나의 모듈은 예시 2 내지 예시 18의 방법들 중 어느 하나의 방법을 수행하도록 동작가능하다.
본 명세서에서 설명되는 기법들은 사용자가 그래픽 키보드를 사용하여 텍스트를 입력하기 위해 컴퓨팅 디바이스와 상호대화할 때의 정확성 및 용이성을 향상시킬 수 있다. 본 개시내용의 기법들에 따르면, 컴퓨팅 디바이스는 사용자로 하여금 디스플레이되는 텍스트의 하나 이상의 부분들(예를 들어, 단어)을 이후 단어들에 포함된 문자들에 영향을 미침이 없이 빠르게 정정할 수 있게 한다. 예를 들어, 다양한 기법들에 따르면, 제스처-기반의 키보드와 같은 그래픽 키보드를 사용하는 텍스트 입력은 한번에 한 단어에 대해 수행될 수 있다. 예를 들어 보면, 중간-단어 에러들은 사용자에게 눈에 띄지 않을 수 있다. 이러한 중간-단어 에러들 때문에, 실제로 디스플레이되기를 바라는 후속적으로 입력된 문자들을 소거하기 위해 백스페이스 키가 사용될 확률은 더욱 높아질 수 있다. 본 명세서에서 설명되는 기법들은 사용자로 하여금 이러한 중간-단어 혹은 중간-문장 에러들을 이후의 단어들에 포함된 문자들(예를 들어, 대체될 문자들 다음에 후속적으로 오는 문자들)에 영향을 미침이 없이 빠르게 정정할 수 있게 한다. 더욱이, 본 개시내용의 기법들은 사용자로 하여금 교체될 텍스트의 일부분을 선택하기 위해 한 손을 사용할 수 있게 하고, 그럼으로써 대체 텍스트를 선택하기 위해 나머지 손을 자유롭게 사용할 수 있게 한다(예를 들어, 제스처-기반의 키보드를 사용하는 경우).
본 개시내용에서 설명되는 기법들은, 적어도 부분적으로, 하드웨어, 소프트웨어, 펌웨어 혹은 이들의 임의의 조합으로 구현될 수 있다. 예를 들어, 설명된 기법들의 다양한 실시형태들은, 하나 이상의 마이크로프로세서들(microprocessors), 디지털 신호 프로세서들(Digital Signal Processors, DSPs), 사용자 특정 집적 회로들(Application Specific Integrated Circuits, ASICs), 현장 프로그래밍가능 게이트 어레이들(Field Programmable Gate Arrays, FPGAs), 혹은 임의의 다른 등가의 통합된 혹은 개별적 로직 회로 그리고 이러한 컴포넌트들의 임의의 조합을 포함하는, 하나 이상의 프로세서들 내에서 구현될 수 있다. 용어 "프로세서" 혹은 "프로세싱 회로"는 일반적으로, 앞서 설명된 로직 회로 중 어느 하나만을 말할 수 있거나, 혹은 다른 로직 회로와 결합된 것 또는 임의의 다른 등가 회로를 말할 수 있다. 하드웨어를 포함하는 제어 유닛은 또한, 본 개시내용의 기법들 중 하나 이상을 수행할 수 있다.
이러한 하드웨어, 소프트웨어 및 펌웨어는 본 개시내용에서 설명되는 다양한 기법들을 지원하기 위해 동일 디바이스 내에서 혹은 별개의 디바이스들 내에서 구현될 수 있다. 추가적으로, 앞서 설명된 유닛들, 모듈들 혹은 컴포넌트들 중 어느 하나는, 분리된 하지만 상호동작가능한 로직 디바이스들로서 함께 또는 개별적으로 구현될 수 있다. 서로 다른 특징들을 모듈들 혹은 유닛들로서 설명한 것은, 서로 다른 기능적 측면들을 강조하려는 것이며, 이러한 모듈들 혹은 유닛들이 개별적인 하드웨어, 펌웨어, 혹은 소프트웨어 컴포넌트들에 의해 실현돼야만 함을 반드시 시사하는 것이 아니다. 오히려, 하나 이상의 모듈들 혹은 유닛들과 관련된 기능은, 개별적 하드웨어, 펌웨어, 혹은 소프트웨어 컴포넌트들에 의해 수행될 수 있거나, 혹은 공통의 혹은 별개의 하드웨어, 펌웨어, 혹은 소프트웨어 컴포넌트들 내에 통합될 수도 있다.
본 개시내용에서 설명되는 기법들은 또한, 인코딩된 컴퓨터-판독가능 저장 매체를 포함하는 제조물에 명령들이 수록되거나 혹은 인코딩될 수 있다. 이러한 인코딩된 컴퓨터-판독가능 저장 매체를 포함하는 제조물에 수록되거나 혹은 인코딩되는 명령들은, 예를 들어, 컴퓨터-판독가능 저장 매체에 포함된 혹은 인코딩된 명령들이 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로그래밍가능 프로세서들 혹은 다른 프로세서들로 하여금, 본 명세서에서 설명되는 기법들 중 하나 이상을 구현하도록 할 수 있다. 컴퓨터 판독가능 저장 매체들은, 랜덤 액세스 메모리(Random Access Memory, RAM), 판독 전용 메모리(Read Only Memory, ROM), 프로그래밍가능한 판독 전용 메모리(Programmable Read Only Memory, PROM), 소거가능하고 프로그래밍가능한 판독 전용 메모리(Erasable Programmable Read Only Memory, EPROM), 전기적으로 소거가능하고 프로그래밍가능한 판독 전용 메모리(Electronically Erasable Programmable Read Only Memory, EEPROM), 플래시 메모리, 하드 디스크, 콤팩트 디스크 ROM(Compact Disc ROM, CD-ROM), 플로피 디스크, 카세트, 자기 매체들, 광학 매체들, 혹은 다른 컴퓨터 판독가능 매체들을 포함할 수 있다. 일부 예들에서, 제조물은 하나 이상의 컴퓨터-판독가능 저장 매체들을 포함할 수 있다.
일부 예들에서, 컴퓨터-판독가능 저장 매체는 비일시적 매체(non-transitory medium)를 포함할 수 있다. "비일시적(non-transitory)"이라는 용어는, 저장 매체가 반송파(carrier wave) 혹은 전파되는 신호(propagated signal) 형태로 구현되지 않음을 나타낼 수 있다. 특정 예들에서, 비일시적 저장 매체는 시간 경과에 따라 변할 수 있는 데이터를 (예를 들어, RAM 혹은 캐시(cache) 내에) 저장할 수 있다.
다양한 예들이 설명되었다. 이러한 예들 및 다른 예들은 아래에 제시되는 특허청구범위 내에 있다.

Claims (22)

  1. 문자열을 대체하기 위한 방법으로서,
    텍스트 디스플레이 영역(text display region) 및 그래픽 키보드(graphical keyboard)를 포함하는 그래픽 사용자 인터페이스(graphical user interface)를 컴퓨팅 디바이스(computing device)에 의해 프레즌스 감지 디스플레이(presence-sensitive display)에서의 디스플레이를 위해 출력하는 단계와;
    상기 텍스트 디스플레이 영역 내의 위치에 있는 상기 프레즌스 감지 디스플레이에서 검출된 제 1 제스처(gesture)의 표시를 상기 컴퓨팅 디바이스에 의해 수신하는 단계와;
    상기 텍스트 디스플레이 영역 내의 위치에 적어도 부분적으로 근거하여, 상기 텍스트 디스플레이 영역에 포함되는 문자열(character string)의 적어도 일부분을 상기 컴퓨팅 디바이스에 의해 선택하는 단계와;
    상기 그래픽 키보드의 적어도 하나의 키(key)를 선택하기 위한 제 2 제스처의 적어도 일부분의 표시를 상기 제 1 제스처가 상기 프레즌스 감지 디스플레이에서 검출되는 동안 상기 컴퓨팅 디바이스에서 수신하는 단계와; 그리고
    적어도 상기 제 2 제스처의 종료의 표시를 수신함에 응답하여 상기 문자열의 일부분을 대체하기 위해 상기 텍스트 디스플레이 영역 내에서의 디스플레이를 위한 대체 문자열(replacement character string)을 상기 컴퓨팅 디바이스에 의해 출력하는 단계를 포함하여 구성되며,
    상기 대체 문자열은 상기 적어도 하나의 키에 적어도 부분적으로 근거하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 텍스트 디스플레이 영역 내의 제 1 위치는 텍스트 삽입 위치를 포함하고,
    상기 텍스트 디스플레이 영역 내의 위치에 있는 상기 프레즌스 감지 디스플레이에서 검출된 상기 제 1 제스처의 표시를 수신하는 단계는,
    상기 텍스트 디스플레이 영역 내의 제 2 위치에 있는 상기 프레즌스 감지 디스플레이에서 검출된 상기 제 1 제스처의 표시를 수신하는 것을 포함하고, 여기서 상기 제 2 위치와 상기 제 1 위치는 서로 다르며,
    상기 방법은,
    상기 텍스트 디스플레이 영역 내의 상기 제 2 위치에 있는 상기 프레즌스 감지 디스플레이에서 검출된 상기 제 1 제스처의 표시를 수신함에 응답하여, 상기 컴퓨팅 디바이스에 의해 상기 텍스트 삽입 위치를 상기 제 2 위치에 대응하도록 업데이트(update)하는 단계와; 그리고
    상기 텍스트 디스플레이 영역 내에서의 디스플레이를 위한 상기 대체 문자열을 출력함에 응답하여 상기 컴퓨팅 디바이스에 의해 상기 텍스트 삽입 위치를 상기 제 1 위치로 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 제 1 위치는 상기 문자열의 끝에 있는 위치에 대응하는 것을 특징으로 하는 방법.
  4. 제2항에 있어서,
    상기 텍스트 삽입 위치를 상기 제 1 위치로 업데이트하는 단계는 또한, 상기 컴퓨팅 디바이스에 의해 상기 제 1 제스처의 종료의 표시를 수신하는 것에 응답하여 일어나는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 텍스트 디스플레이 영역 내에서의 디스플레이를 위한 상기 대체 문자열을 출력하는 단계는 또한, 상기 컴퓨팅 디바이스에 의해 상기 제 1 제스처의 종료의 표시를 수신하는 것에 응답하여 일어나는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 문자열의 일부분은 공백 구획 문자(space delimiter character)와 구분 문자(punctuation character) 중 하나 이상에 의해 경계가 정해지는 하나 이상의 문자들을 포함하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 그래픽 키보드의 상기 적어도 하나의 키를 선택하기 위한 상기 제 2 제스처의 적어도 일부분의 표시를 수신하는 단계는 상기 그래픽 키보드의 제 1 키를 선택하기 위한 상기 제 2 제스처의 적어도 일부분의 표시를 수신하는 것을 포함하고,
    상기 방법은,
    상기 그래픽 키보드의 제 2 키를 선택하기 위해 상기 프레즌스 감지 디스플레이에서 검출된 제 3 제스처의 표시를 상기 컴퓨팅 디바이스에 의해 수신하는 단계를 더 포함하고,
    상기 문자열의 일부분을 대체하기 위해 상기 대체 문자열을 출력하는 단계는 또한, 상기 컴퓨팅 디바이스에 의해 적어도 상기 제 3 제스처의 종료의 표시를 수신하는 것에 응답하여 일어나는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    상기 그래픽 키보드의 상기 제 2 키를 선택하기 위해 상기 프레즌스 감지 디스플레이에서 검출된 상기 제 3 제스처의 표시를 수신하는 단계는, 상기 제 1 제스처가 상기 프레즌스 감지 디스플레이에서 검출되는 동안 상기 제 3 제스처의 표시를 수신하는 것을 포함하는 것을 특징으로 하는 방법.
  9. 제7항에 있어서,
    상기 그래픽 키보드의 상기 제 2 키는 공백 구획 문자와 관련된 상기 그래픽 키보드의 키를 포함하는 것을 특징으로 하는 방법.
  10. 제7항에 있어서,
    상기 그래픽 키보드의 상기 제 2 키는 구분 문자와 관련된 상기 그래픽 키보드의 키를 포함하는 것을 특징으로 하는 방법.
  11. 제1항에 있어서,
    상기 그래픽 키보드의 상기 적어도 하나의 키를 선택하기 위한 상기 제 2 제스처의 적어도 일부분의 표시를 수신하는 단계는,
    상기 그래픽 키보드의 제 1 키를 선택하기 위한 상기 제 2 제스처의 제 1 부분의 표시를 상기 제 1 제스처가 상기 프레즌스 감지 디스플레이에서 검출되는 동안 상기 컴퓨팅 디바이스에 의해 수신하는 것과; 그리고
    상기 그래픽 키보드의 제 2 키를 선택하기 위한 상기 제 2 제스처의 제 2 부분의 표시를 상기 컴퓨팅 디바이스에 의해 수신하는 것을 포함하고,
    상기 제 2 제스처는 상기 프레즌스 감지 디스플레이에서 검출되는 연속적인 모션 제스처(motion gesture)를 포함하고,
    상기 대체 문자열은 상기 제 1 키와 관련된 제 1 문자 및 상기 제 2 키와 관련된 제 2 문자에 적어도 부분적으로 근거하는 것을 특징으로 하는 방법.
  12. 제11항에 있어서,
    상기 그래픽 키보드의 상기 제 2 키를 선택하기 위한 상기 제 2 제스처의 상기 제 2 부분의 표시를 수신하는 것은, 상기 제 1 제스처가 상기 프레즌스 감지 디스플레이에서 검출되는 동안 상기 제 2 제스처의 상기 제 2 부분을 수신하는 것을 포함하는 것을 특징으로 하는 방법.
  13. 제1항에 있어서,
    상기 적어도 하나의 키에 적어도 부분적으로 근거하여 상기 컴퓨팅 디바이스에 의해 하나 이상의 후보 단어(candidate word)들을 결정하는 단계와;
    상기 하나 이상의 후보 단어들을 상기 컴퓨팅 디바이스에 의해 상기 프레즌스 감지 디스플레이에서의 디스플레이를 위해 상기 그래픽 사용자 인터페이스 내에 출력하는 단계와; 그리고
    상기 프레즌스 감지 디스플레이에서 검출된 제 3 제스처의 표시를 상기 컴퓨팅 디바이스에 의해 수신하는 단계를 더 포함하고,
    상기 제 3 제스처는 상기 하나 이상의 후보 단어들 중 하나를 선택된 후보 단어로서 선택하기 위한 것이며,
    상기 문자열의 일부분을 대체하기 위해 상기 대체 문자열을 출력하는 단계는 상기 문자열의 일부분을 대체하기 위해 상기 선택된 후보 단어를 출력하는 것을 포함하는 것을 특징으로 하는 방법.
  14. 제1항에 있어서,
    상기 텍스트 디스플레이 영역에 포함되는 문자열은 두 개 이상의 단어들을 포함하고,
    상기 텍스트 디스플레이 영역 내의 위치에 있는 상기 프레즌스 감지 디스플레이에서 검출된 상기 제 1 제스처의 표시를 수신하는 단계는,
    상기 텍스트 디스플레이 영역 내의 제 1 위치에 있는 상기 프레즌스 감지 디스플레이에서 검출된 상기 제 1 제스처의 표시를 수신하는 것을 포함하고,
    상기 문자열의 적어도 일부분을 선택하는 단계는 또한,
    상기 제 1 위치와 상기 두 개 이상의 단어들 중 제 1 단어와 관련된 제 2 위치 간의 제 1 거리를 상기 컴퓨팅 디바이스에 의해 결정하는 것과;
    상기 제 1 위치와 상기 두 개 이상의 단어들 중 제 2 단어와 관련된 제 3 위치 간의 제 2 거리를 상기 컴퓨팅 디바이스에 의해 결정하는 것과; 그리고
    상기 제 1 거리와 상기 제 2 거리의 비교에 적어도 부분적으로 근거하여 상기 컴퓨팅 디바이스에 의해 상기 두 개 이상의 단어들 중 상기 제 1 단어를 상기 문자열의 일부분으로서 선택하는 것을 포함하는 것을 특징으로 하는 방법.
  15. 제14항에 있어서,
    상기 두 개 이상의 단어들 중 상기 제 1 단어를 상기 문자열의 일부분으로서 선택하는 것은 또한, 상기 제 1 거리가 상기 제 2 거리보다 작다는 상기 컴퓨팅 디바이스에 의한 결정에 적어도 부분적으로 근거하여 상기 두 개 이상의 단어들 중 상기 제 1 단어를 상기 문자열의 일부분으로서 선택하는 것을 포함하는 것을 특징으로 하는 방법.
  16. 제14항에 있어서,
    상기 두 개 이상의 단어들 중 상기 제 1 단어를 상기 문자열의 일부분으로서 선택하는 것은 또한, 상기 그래픽 키보드의 상기 적어도 하나의 키에 적어도 부분적으로 근거하여 상기 두 개 이상의 단어들 중 상기 제 1 단어를 상기 문자열의 일부분으로서 선택하는 것을 포함하는 것을 특징으로 하는 방법.
  17. 제16항에 있어서,
    상기 그래픽 키보드의 상기 적어도 하나의 키에 적어도 부분적으로 근거하여 상기 두 개 이상의 단어들 중 상기 제 1 단어를 상기 문자열의 일부분으로서 선택하는 것은,
    상기 두 개 이상의 단어들 중 상기 제 1 단어에 포함된 문자들의 개수를 상기 적어도 하나의 키의 키들의 개수와 비교하는 것에 적어도 부분적으로 근거하여 상기 두 개 이상의 단어들 중 상기 제 1 단어를 상기 문자열의 일부분으로서 선택하는 것을 포함하는 것을 특징으로 하는 방법.
  18. 제16항에 있어서,
    상기 두 개 이상의 단어들 중 상기 제 1 단어를 상기 문자열의 일부분으로서 선택하는 것은 또한,
    상기 두 개 이상의 단어들 중 상기 제 1 단어의 적어도 하나의 문자가 상기 적어도 하나의 키 중 적어도 하나의 키와 관련된 문자에 대응한다는 상기 컴퓨팅 디바이스에 의한 결정에 근거하여 상기 두 개 이상의 단어들 중 상기 제 1 단어를 상기 문자열의 일부분으로서 선택하는 것을 포함하는 것을 특징으로 하는 방법.
  19. 문자열을 대체하기 위한 명령들이 인코딩(encoding)되어 있는 컴퓨터 판독가능 저장 디바이스(computer-readable storage device)로서, 상기 명령들은 실행시 컴퓨팅 디바이스의 적어도 하나의 프로세서로 하여금,
    텍스트 디스플레이 영역 및 그래픽 키보드를 포함하는 그래픽 사용자 인터페이스를 프레즌스 감지 디스플레이에서의 디스플레이를 위해 출력하는 것과;
    상기 텍스트 디스플레이 영역 내의 위치에 있는 상기 프레즌스 감지 디스플레이에서 검출된 제 1 제스처의 표시를 수신하는 것과;
    상기 텍스트 디스플레이 영역 내의 위치에 적어도 부분적으로 근거하여, 상기 텍스트 디스플레이 영역에 포함되는 문자열의 적어도 일부분을 선택하는 것과;
    상기 그래픽 키보드의 적어도 하나의 키를 선택하기 위한 제 2 제스처의 적어도 일부분의 표시를 상기 제 1 제스처가 상기 프레즌스 감지 디스플레이에서 검출되는 동안 수신하는 것과; 그리고
    적어도 상기 제 2 제스처의 종료의 표시를 수신함에 응답하여 상기 문자열의 일부분을 대체하기 위해 상기 텍스트 디스플레이 영역 내에서의 디스플레이를 위한 대체 문자열을 출력하는 것을 수행하도록 하고,
    상기 대체 문자열은 상기 적어도 하나의 키에 적어도 부분적으로 근거하는 것을 특징으로 하는 컴퓨터 판독가능 저장 디바이스.
  20. 문자열을 대체하기 위한 디바이스로서,
    적어도 하나의 프로세서와;
    프레즌스 감지 디스플레이와; 그리고
    상기 적어도 하나의 프로세서에 의해 동작가능한 적어도 하나의 모듈(module)을 포함하며,
    상기 적어도 하나의 프로세서에 의해 상기 적어도 하나의 모듈은,
    텍스트 디스플레이 영역 및 그래픽 키보드를 포함하는 그래픽 사용자 인터페이스를 프레즌스 감지 디스플레이에서의 디스플레이를 위해 출력하는 것과;
    상기 텍스트 디스플레이 영역 내의 위치에 있는 상기 프레즌스 감지 디스플레이에서 검출된 제 1 제스처의 표시를 수신하는 것과;
    상기 텍스트 디스플레이 영역 내의 위치에 적어도 부분적으로 근거하여, 상기 텍스트 디스플레이 영역에 포함되는 문자열의 적어도 일부분을 선택하는 것과;
    상기 그래픽 키보드의 적어도 하나의 키를 선택하기 위한 제 2 제스처의 적어도 일부분의 표시를 상기 제 1 제스처가 상기 프레즌스 감지 디스플레이에서 검출되는 동안 수신하는 것과; 그리고
    적어도 상기 제 2 제스처의 종료의 표시를 수신함에 응답하여 상기 문자열의 일부분을 대체하기 위해 상기 텍스트 디스플레이 영역 내에서의 디스플레이를 위한 대체 문자열을 출력하는 것을 수행하도록 동작가능하고,
    상기 대체 문자열은 상기 적어도 하나의 키에 적어도 부분적으로 근거하는 것을 특징으로 하는 디바이스.
  21. 제19항에 있어서,
    상기 텍스트 디스플레이 영역 내의 제 1 위치는 텍스트 삽입 위치를 포함하고,
    상기 텍스트 디스플레이 영역 내의 위치에 있는 상기 프레즌스 감지 디스플레이에서 검출된 상기 제 1 제스처의 표시를 수신하는 것은,
    상기 텍스트 디스플레이 영역 내의 제 2 위치에 있는 상기 프레즌스 감지 디스플레이에서 검출된 상기 제 1 제스처의 표시를 수신하는 것을 포함하고, 여기서 상기 제 2 위치와 상기 제 1 위치는 서로 다르며,
    상기 컴퓨터 판독가능 저장 디바이스는,
    실행시 컴퓨팅 디바이스의 적어도 하나의 프로세서로 하여금,
    상기 텍스트 디스플레이 영역 내의 상기 제 2 위치에 있는 상기 프레즌스 감지 디스플레이에서 검출된 상기 제 1 제스처의 표시를 수신함에 응답하여, 상기 텍스트 삽입 위치를 상기 제 2 위치에 대응하도록 업데이트하는 것과; 그리고
    상기 텍스트 디스플레이 영역 내에서의 디스플레이를 위한 상기 대체 문자열을 출력함에 응답하여 상기 텍스트 삽입 위치를 상기 제 1 위치로 업데이트하는 것을 수행하도록 하는 명령들로
    인코딩되어 있는 것을 특징으로 하는 컴퓨터 판독가능 저장 디바이스.
  22. 제20항에 있어서,
    상기 텍스트 디스플레이 영역 내의 제 1 위치는 텍스트 삽입 위치를 포함하고,
    상기 텍스트 디스플레이 영역 내의 위치에 있는 상기 프레즌스 감지 디스플레이에서 검출된 상기 제 1 제스처의 표시를 수신하는 것은,
    상기 텍스트 디스플레이 영역 내의 제 2 위치에 있는 상기 프레즌스 감지 디스플레이에서 검출된 상기 제 1 제스처의 표시를 수신하는 것을 포함하고, 여기서 상기 제 2 위치와 상기 제 1 위치는 서로 다르며,
    상기 적어도 하나의 프로세서에 의해 상기 적어도 하나의 모듈은,
    상기 텍스트 디스플레이 영역 내의 상기 제 2 위치에 있는 상기 프레즌스 감지 디스플레이에서 검출된 상기 제 1 제스처의 표시를 수신함에 응답하여, 상기 텍스트 삽입 위치를 상기 제 2 위치에 대응하도록 업데이트하는 것과; 그리고
    상기 텍스트 디스플레이 영역 내에서의 디스플레이를 위한 상기 대체 문자열을 출력함에 응답하여 상기 텍스트 삽입 위치를 상기 제 1 위치로 업데이트하는 것을 수행하도록 동작가능한 것을 특징으로 하는 디바이스.
KR20140024228A 2013-02-28 2014-02-28 문자열 대체 KR101484582B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/781,461 2013-02-28
US13/781,461 US8782550B1 (en) 2013-02-28 2013-02-28 Character string replacement

Publications (2)

Publication Number Publication Date
KR20140108176A KR20140108176A (ko) 2014-09-05
KR101484582B1 true KR101484582B1 (ko) 2015-01-21

Family

ID=50490537

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20140024228A KR101484582B1 (ko) 2013-02-28 2014-02-28 문자열 대체

Country Status (5)

Country Link
US (2) US8782550B1 (ko)
KR (1) KR101484582B1 (ko)
CN (1) CN104020943B (ko)
DE (1) DE102014002848B4 (ko)
GB (2) GB2511431B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022025378A1 (ko) * 2020-07-31 2022-02-03 삼성전자주식회사 전자 장치 및 이의 제어 방법

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9766797B2 (en) * 2012-09-13 2017-09-19 International Business Machines Corporation Shortening URLs using touchscreen gestures
US8782550B1 (en) 2013-02-28 2014-07-15 Google Inc. Character string replacement
JP2015041845A (ja) * 2013-08-21 2015-03-02 カシオ計算機株式会社 文字入力装置及びプログラム
KR20150026646A (ko) * 2013-09-03 2015-03-11 삼성전자주식회사 사용자로부터 입력되는 텍스트를 수정하는 방법 및 이를 위한 전자 장치
US9170736B2 (en) * 2013-09-16 2015-10-27 Microsoft Corporation Hover controlled user interface element
KR20150050882A (ko) * 2013-11-01 2015-05-11 삼성전자주식회사 다국어 입력 방법 및 이를 이용하는 다국어 입력 장치
US10296572B2 (en) 2014-05-16 2019-05-21 Brother Kogyo Kabushiki Kaisha Editing apparatus
US9477653B2 (en) * 2014-06-26 2016-10-25 Blackberry Limited Character entry for an electronic device using a position sensing keyboard
US10048862B2 (en) * 2014-09-08 2018-08-14 Lenovo (Singapore) Pte. Ltd. Managing an on-screen keyboard
US10275152B2 (en) * 2014-10-28 2019-04-30 Idelan, Inc. Advanced methods and systems for text input error correction
US11112965B2 (en) 2014-10-28 2021-09-07 Idelan, Inc. Advanced methods and systems for text input error correction
FR3029656B1 (fr) * 2014-12-09 2017-01-13 ISKn Procede de detection continue d'un etat de contact ou de non contact entre une pointe d'un ustensile et un support d'ecriture d'epaisseur variable, et systeme associe
US9836443B2 (en) * 2015-02-27 2017-12-05 Lenovo (Singapore) Pte. Ltd. Changing text input modes
CN108983992B (zh) * 2017-06-05 2022-07-08 北京搜狗科技发展有限公司 一种具有标点符号的候选项展示方法和装置
US10481791B2 (en) * 2017-06-07 2019-11-19 Microsoft Technology Licensing, Llc Magnified input panels
US20190034069A1 (en) * 2017-07-26 2019-01-31 Microsoft Technology Licensing, Llc Programmable Multi-touch On-screen Keyboard
US20190065446A1 (en) * 2017-08-22 2019-02-28 Microsoft Technology Licensing, Llc Reducing text length while preserving meaning
US10949614B2 (en) * 2017-09-13 2021-03-16 International Business Machines Corporation Dynamically changing words based on a distance between a first area and a second area
CN112698739B (zh) * 2020-12-28 2023-03-21 联想(北京)有限公司 一种控制方法及装置
US11960823B1 (en) * 2022-11-10 2024-04-16 Adobe Inc. Missing glyph replacement system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040094305A (ko) * 2003-04-30 2004-11-09 마이크로소프트 코포레이션 문자 및 텍스트 유닛 입력 수정 시스템
KR101187475B1 (ko) 2007-09-13 2012-10-02 애플 인크. 다언어 환경을 갖는 장치를 위한 입력 방법

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953541A (en) 1997-01-24 1999-09-14 Tegic Communications, Inc. Disambiguating system for disambiguating ambiguous input sequences by displaying objects associated with the generated input sequences in the order of decreasing frequency of use
KR100327209B1 (ko) 1998-05-12 2002-04-17 윤종용 첨펜의자취를이용한소프트웨어키보드시스템및그에따른키코드인식방법
US6885317B1 (en) * 1998-12-10 2005-04-26 Eatoni Ergonomics, Inc. Touch-typable devices based on ambiguous codes and methods to design such devices
US7293231B1 (en) 1999-03-18 2007-11-06 British Columbia Ltd. Data entry for personal computing devices
US7750891B2 (en) 2003-04-09 2010-07-06 Tegic Communications, Inc. Selective input system based on tracking of motion parameters of an input device
US7030863B2 (en) 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
AU5299700A (en) 1999-05-27 2000-12-18 America Online, Inc. Keyboard system with automatic correction
US7145554B2 (en) 2000-07-21 2006-12-05 Speedscript Ltd. Method for a high-speed writing system and high -speed writing device
US7042443B2 (en) 2001-10-11 2006-05-09 Woodard Scott E Speed Writer program and device with Speed Writer program installed
US7075520B2 (en) 2001-12-12 2006-07-11 Zi Technology Corporation Ltd Key press disambiguation using a keypad of multidirectional keys
US7151530B2 (en) 2002-08-20 2006-12-19 Canesta, Inc. System and method for determining an input selected by a user through a virtual interface
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
US7251367B2 (en) 2002-12-20 2007-07-31 International Business Machines Corporation System and method for recognizing word patterns based on a virtual keyboard layout
US7098896B2 (en) 2003-01-16 2006-08-29 Forword Input Inc. System and method for continuous stroke word-based text input
US7453439B1 (en) 2003-01-16 2008-11-18 Forward Input Inc. System and method for continuous stroke word-based text input
SG135918A1 (en) 2003-03-03 2007-10-29 Xrgomics Pte Ltd Unambiguous text input method for touch screens and reduced keyboard systems
US7884804B2 (en) 2003-04-30 2011-02-08 Microsoft Corporation Keyboard with input-sensitive display device
US7250938B2 (en) 2004-01-06 2007-07-31 Lenovo (Singapore) Pte. Ltd. System and method for improved user input on personal computing devices
US7706616B2 (en) 2004-02-27 2010-04-27 International Business Machines Corporation System and method for recognizing word patterns in a very large vocabulary based on a virtual keyboard layout
US20060176283A1 (en) 2004-08-06 2006-08-10 Daniel Suraqui Finger activated reduced keyboard and a method for performing text input
US7508324B2 (en) 2004-08-06 2009-03-24 Daniel Suraqui Finger activated reduced keyboard and a method for performing text input
US8036878B2 (en) 2005-05-18 2011-10-11 Never Wall Treuhand GmbH Device incorporating improved text input mechanism
US7542029B2 (en) 2005-09-20 2009-06-02 Cliff Kushler System and method for a user interface for text editing and menu selection
US8074172B2 (en) 2007-01-05 2011-12-06 Apple Inc. Method, system, and graphical user interface for providing word recommendations
US8060841B2 (en) 2007-03-19 2011-11-15 Navisense Method and device for touchless media searching
US8059101B2 (en) 2007-06-22 2011-11-15 Apple Inc. Swipe gestures for touch screen keyboards
US8610671B2 (en) * 2007-12-27 2013-12-17 Apple Inc. Insertion marker placement on touch sensitive display
US8650507B2 (en) 2008-03-04 2014-02-11 Apple Inc. Selecting of text using gestures
US8739055B2 (en) 2009-05-07 2014-05-27 Microsoft Corporation Correction of typographical errors on touch displays
US8135582B2 (en) 2009-10-04 2012-03-13 Daniel Suraqui Keyboard system and method for global disambiguation from classes with dictionary database from first and last letters
US8179370B1 (en) 2010-02-09 2012-05-15 Google Inc. Proximity based keystroke resolution
US8782556B2 (en) * 2010-02-12 2014-07-15 Microsoft Corporation User-centric soft keyboard predictive technologies
US8918734B2 (en) 2010-07-28 2014-12-23 Nuance Communications, Inc. Reduced keyboard with prediction solutions when input is a partial sliding trajectory
US9465457B2 (en) * 2010-08-30 2016-10-11 Vmware, Inc. Multi-touch interface gestures for keyboard and/or mouse inputs
US8898586B2 (en) * 2010-09-24 2014-11-25 Google Inc. Multiple touchpoints for efficient text input
US9092130B2 (en) * 2011-05-31 2015-07-28 Apple Inc. Devices, methods, and graphical user interfaces for document manipulation
CN103733682A (zh) 2011-06-01 2014-04-16 株式会社Ntt都科摩 使用小节点设备的移动通信中的增强的本地接入
US9715489B2 (en) * 2011-11-10 2017-07-25 Blackberry Limited Displaying a prediction candidate after a typing mistake
US8782550B1 (en) 2013-02-28 2014-07-15 Google Inc. Character string replacement

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040094305A (ko) * 2003-04-30 2004-11-09 마이크로소프트 코포레이션 문자 및 텍스트 유닛 입력 수정 시스템
KR101187475B1 (ko) 2007-09-13 2012-10-02 애플 인크. 다언어 환경을 갖는 장치를 위한 입력 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022025378A1 (ko) * 2020-07-31 2022-02-03 삼성전자주식회사 전자 장치 및 이의 제어 방법

Also Published As

Publication number Publication date
DE102014002848A1 (de) 2014-08-28
GB2511431B (en) 2016-03-23
GB2538579B (en) 2017-05-31
US8782550B1 (en) 2014-07-15
GB2511431A (en) 2014-09-03
GB2538579A (en) 2016-11-23
DE102014002848B4 (de) 2021-01-21
CN104020943A (zh) 2014-09-03
CN104020943B (zh) 2017-06-20
US9753906B2 (en) 2017-09-05
KR20140108176A (ko) 2014-09-05
GB201403525D0 (en) 2014-04-16
US20140289618A1 (en) 2014-09-25
GB201519660D0 (en) 2015-12-23

Similar Documents

Publication Publication Date Title
KR101484582B1 (ko) 문자열 대체
US11379663B2 (en) Multi-gesture text input prediction
US11334717B2 (en) Touch keyboard using a trained model
US9684446B2 (en) Text suggestion output using past interaction data
US9665246B2 (en) Consistent text suggestion output
US20140351760A1 (en) Order-independent text input
US8997013B2 (en) Multiple graphical keyboards for continuous gesture input
WO2015088669A1 (en) Multiple character input with a single selection
US8756499B1 (en) Gesture keyboard input of non-dictionary character strings using substitute scoring
US8806384B2 (en) Keyboard gestures for character string replacement
EP3241105B1 (en) Suggestion selection during continuous gesture input

Legal Events

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

Payment date: 20181226

Year of fee payment: 5