KR20200086175A - Method for augmentative and alternative communication, and computer program recorded on record-medium for executing method therefor - Google Patents

Method for augmentative and alternative communication, and computer program recorded on record-medium for executing method therefor Download PDF

Info

Publication number
KR20200086175A
KR20200086175A KR1020190002476A KR20190002476A KR20200086175A KR 20200086175 A KR20200086175 A KR 20200086175A KR 1020190002476 A KR1020190002476 A KR 1020190002476A KR 20190002476 A KR20190002476 A KR 20190002476A KR 20200086175 A KR20200086175 A KR 20200086175A
Authority
KR
South Korea
Prior art keywords
symbol
input
alternative communication
output
text box
Prior art date
Application number
KR1020190002476A
Other languages
Korean (ko)
Other versions
KR102149131B1 (en
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 김경양
Priority to KR1020190002476A priority Critical patent/KR102149131B1/en
Publication of KR20200086175A publication Critical patent/KR20200086175A/en
Application granted granted Critical
Publication of KR102149131B1 publication Critical patent/KR102149131B1/en

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/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
    • 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/0236Character input methods using selection techniques to select from displayed items
    • 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/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/0238Programmable keyboards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

According to the present invention, provided is an augmentative and alternative communication method. The augmentative and alternative communication method comprises the steps of: loading a keyboard arrangement pre-registered corresponding to a user account; configuring and outputting virtual keys in accordance with the loaded keyboard arrangement, and selecting any one of the keys on the basis of information received from an auxiliary input device connected for augmentative and alternative communication; outputting a symbol corresponding to the selected key to a text box; and allowing modification of the symbol output to the text box until input completion is received from the auxiliary input device, and transmitting the symbol output to the text box to a predetermined application when the input completion is received. Accordingly, a user selects a symbol to be input without limitation, and is provided with an opportunity for modifying an unintentionally selected symbol.

Description

보완 대체 의사소통 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램{Method for augmentative and alternative communication, and computer program recorded on record-medium for executing method therefor}Method for augmentative and alternative communication, and computer program recorded on record-medium for executing method therefor}

본 발명은 특수 교육학(special education)에 관한 것이다. 보다 상세하게는, 보완 대체 의사소통(Augmentative and Alternative Communication, AAC)을 수행하는 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.The present invention relates to special education. More specifically, it relates to a method for performing augmentative and alternative communication (AAC) and a computer program recorded on a recording medium to implement the same.

보완 대체 의사소통(AAC)은 말(speech)이나 글(writing)을 통해 의사소통(communication)하기 곤란한 자의 언어능력을 촉진하기 위하여 사용되는 다양한 형태의 의사소통 수단을 의미한다. 예를 들어, 보완 대체 의사소통(AAC)에는 말의 발달이 늦거나 또는 조음(articulation)에 문제가 있는 자의 말을 보완(augment)하여 의사소통을 지원하거나, 또는 조음 기관에 대한 수술 또는 장애 등으로 인해 발음할 수 없는 자에게 다른 대체적인(alternative) 의사소통 수단을 지원하는 것 등이 포함될 수 있다.Complementary Alternate Communication (AAC) refers to various forms of communication used to promote the language ability of a person who has difficulty communicating through speech or writing. For example, complementary alternative communication (AAC) supports communication by augmenting the speech of a person who is late in speech development or has problems with articulation, or surgery or disability on articulation organs. This may include supporting other alternative means of communication for those who are unable to pronounce.

일반적으로, 보완 대체 의사소통(AAC)은 사용자가 입력하기 원하는 기호(symbol)를 직접적으로 선택하는 방식, 또는 사용자가 입력하기 원하는 기호를 간접적으로 선택하는 방식이 있다.In general, the complementary alternative communication (AAC) is a method of directly selecting a symbol (symbol) that the user wants to input or a method of indirectly selecting a symbol that the user wants to input.

구체적으로, 기호를 직접적으로 선택하는 방식은 사용자가 자신의 신체 일부분(예를 들어, 손가락, 발가락, 코, 눈, 팔꿈치 등)으로 입력하고자 하는 기호를 지적하거나, 또는 보조 수단을 이용하여 입력하고자 하는 기호를 직접 또는 간접적으로 지적하는 것이다. Specifically, a method of directly selecting a symbol indicates a symbol that a user wants to input with a part of his body (eg, finger, toe, nose, eye, elbow, etc.), or attempts to input it using auxiliary means. It is to point out the sign to be directly or indirectly.

여기서, 기호를 직접적으로 지적할 수 있는 보조 수단에는 헤드 스틱(head sticks), 핸드 스플린트(hand splints) 및 마우스 스틱(mouth sticks) 등이 포함될 수 있다. 그리고, 기호를 간접적으로 지적할 수 있는 보조 수단에는 터치 패드(touch pad), 광 포인터(light beam pointer), 조이스틱(joysticks) 및 시선 추적 모니터(ocular eyegaze monitor) 등이 포함될 수 있다.Here, the auxiliary means for directly pointing out the sign may include head sticks, hand splints, and mouth sticks. In addition, auxiliary means that can indirectly indicate a symbol may include a touch pad, a light beam pointer, joysticks, and an ocular eyegaze monitor.

기호를 간접적으로 선택하는 방식은 의사소통 장치가 여러 기호들에 대하여 스캐닝(scanning)하는 과정에서 사용자가 입력하고자 하는 기호를 선택하는 것이다. 여기서, 스캐닝은 자동 스캐닝(automation scanning), 순서적 스캐닝(step scanning), 역 스캐닝(inverse scanning), 그룹 스캐닝(group scanning), 및 행렬 스캐닝(row-column scanning) 등으로 분류될 수 있다. A method of indirectly selecting a symbol is to select a symbol to be input by a user in a process in which the communication device scans for various symbols. Here, the scanning may be classified into automatic scanning, step scanning, inverse scanning, group scanning, and row-column scanning.

자동 스캐닝은 여러 기호들을 스캐닝하는 과정에서, 입력하고자 하는 기호에 포커스(focus)가 도달하면 사용자가 스위치(switch)를 입력하여 기호를 선택하는 방식이다. 여기서, 포커스는 스캐닝 과정에서 복수 개의 기호들 중 사용자에 의해 선택될 수 있는 기호를 가리키는 지시자(indicator)이다.Automatic scanning is a method in which a user selects a symbol by entering a switch when focus reaches a symbol to be input in the process of scanning various symbols. Here, the focus is an indicator indicating a symbol that can be selected by a user among a plurality of symbols in the scanning process.

순서적 스캐닝은 사용자가 스위치를 반복적으로 입력하여 입력하고자 하는 기호까지 포커스를 이동시킨 후, 다른 스위치를 입력하여 기호를 선택하는 방식이다.Sequential scanning is a method in which the user repeatedly inputs a switch to move the focus to a symbol to be input, and then inputs another switch to select the symbol.

역 스캐닝은 입력하고자 하는 기호에 포커스가 도달할 때까지 사용자가 스위치를 누르고 있다가, 포커스가 입력하고자 하는 기호에 도달하면 사용자가 누르고 있던 스위치를 떼어 기호를 선택하는 방식이다.Reverse scanning is a method in which the user presses a switch until the focus reaches the symbol to be input, and when the focus reaches the symbol to be input, the user presses the switch to select the symbol.

그룹 스캐닝은 우선적으로 대분류된 그룹들에 대하여 스캐닝을 수행하고, 사용자에 의해 특정 그룹이 선택되면 선택된 그룹에 속한 소분류된 기호들에 대하여 스캐닝을 수행하는 방식이다.Group scanning is a method that primarily performs scanning on largely classified groups, and when a specific group is selected by a user, scanning is performed on subclassified symbols belonging to the selected group.

그리고, 행렬 스캐닝은 2차원 행렬(matrix)로 배열된 여러 기호들 중에서 우선적으로 행(row)들에 대하여 스캐닝을 수행하고, 사용자에 의해 특정 행이 선택되면 선택된 행에 속한 기호들에 대하여 스캐닝을 수행하는 방식이다.Then, matrix scanning preferentially scans rows among various symbols arranged in a two-dimensional matrix, and when a specific row is selected by the user, scans symbols belonging to the selected row. This is how it works.

그러나, 종래의 보완 대체 의사소통 방법들에 따르면, 사용자는 한정된 종류의 기호들 내에서만 입력하고자 하는 기호를 선택할 수 있었다. 또한, 사용자는 사전에 정해진 위치로 배열된 기호들 중에서 입력하고자 하는 기호를 검색하여야 했다.However, according to the conventional complementary alternative communication methods, the user was able to select a symbol to be input only within a limited kind of symbols. In addition, the user had to search for a symbol to be input among symbols arranged at a predetermined location.

또한, 입력하고자 하는 기호를 직접적으로 선택(즉, 사용자가 신체의 일부분 또는 보조수단을 이용하여 지적)하는 과정, 또는 스캐닝하는 과정에서 입력하고자 하는 기호를 간접적으로 선택하는 과정에서 의도치 않게 다른 기호를 선택할 가능성이 매우 높다. 그러나, 종래의 보완 대체 의사소통 방법들에 따르면, 이와 같이 의도치 않게 선택된 기호(즉, 오타)를 곧바로 화면 또는 소리 형태로 출력(output)하여, 사용자가 의사소통에 어려움을 겪고 있다는 사실을 의사소통 상대방에서 곧바로 노출하는 문제가 있다.In addition, other symbols are unintentionally selected in the process of directly selecting a symbol to be input (ie, the user points out using a part of the body or assistive means), or indirectly selecting a symbol to be input in the scanning process. It is very likely to choose. However, according to the conventional complementary alternative communication methods, it is intended to output the unintentionally selected symbol (ie, a typo) in the form of a screen or sound directly, so that the user is experiencing difficulty in communication. There is a problem of exposing directly from the communication partner.

따라서, 사용자가 가 입력하고자 하는 기호를 제한 없이 선택하고, 의도치 않게 다른 기호가 선택된 경우에도 이를 수정할 수 있는 기회를 제공할 수 있는 솔루션이 요구되고 있다.Accordingly, there is a need for a solution that can provide an opportunity to select a symbol to be input by the user without limitation, and to modify it even if an unintentionally selected other symbol is selected.

대한민국 공개특허 제10-2005-0092293호, ‘장애인용 보완대체 의사 소통 단말기’, (2005.09.21. 공개)Republic of Korea Patent Publication No. 10-2005-0092293,'Complementary and alternative communication terminal for the disabled', (2005.09.21. public)

본 발명의 일 개시는 사용자가 입력하고자 하는 기호를 제한 없이 선택하고, 의도치 않게 선택된 기호를 수정할 수 있는 기회를 제공하는, 보완 대체 의사소통 방법을 제공하는 것을 그 목적으로 한다.One object of the present invention is to provide a complementary alternative communication method, which provides an opportunity to select a symbol to be input by a user without limitation, and to modify an unintentionally selected symbol.

본 발명의 다른 개시는 사용자가 입력하고자 하는 기호를 제한 없이 선택하고, 의도치 않게 선택된 기호를 수정할 수 있는 기회를 제공하는, 보완 대체 의사소통 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것을 그 목적으로 한다.Another disclosure of the present invention provides a computer program recorded on a recording medium in order to implement a complementary alternative communication method, which provides an opportunity to select a symbol to be input by a user without limitation and to modify an unintentionally selected symbol. The purpose is to do.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

본 발명은 상술한 바와 같은 기술적 과제를 달성하기 위한 보완 대체 의사소통 방법을 제안한다. 상기 보완 대체 의사소통 방법은 사용자의 계정에 대응되어 사전에 등록된 자판 배열을 불러(loading)오는 단계; 상기 불러온 자판 배열에 따라 가상의 글쇠(key)들을 구성하여 출력하고, 보완 대체 의사소통(augmentative and alternative communication)을 위해 연결된 보조 입력 장치로부터 수신된 정보를 기초로, 상기 글쇠들 중 어느 하나를 선택하는 단계; 상기 선택된 글쇠에 대응되는 기호를 텍스트 박스(text box)에 출력하는 단계; 및 상기 보조 입력 장치로부터 입력 완료가 수신되기 전까지 상기 텍스트 박스에 출력된 기호의 수정을 허용하고, 상기 입력 완료가 수신되면 상기 텍스트 박스에 출력된 기호를 사전에 지정된 애플리케이션(application)에 전달하는 단계를 포함할 수 있다.The present invention proposes a complementary alternative communication method for achieving the technical problems as described above. The complementary alternative communication method includes loading a keyboard layout registered in advance corresponding to a user's account; Based on the information received from the auxiliary input device connected for augmentative and alternative communication, the virtual keys are configured and output according to the loaded keyboard layout, and any one of the keys is selected. Selecting; Outputting a symbol corresponding to the selected key to a text box; And allowing modification of a symbol output to the text box until input completion is received from the auxiliary input device, and when the input completion is received, passing the symbol output to the text box to a previously designated application. It may include.

상기 애플리케이션은 운영체제(operating system)에 의해 관리되는 프로세스(process), 작업(task) 또는 쓰레드(thread)의 우선순위(priority)에 따라 결정될 수 있다. 이와 같은, 상기 애플리케이션은 웹 브라우저(web browser), 소셜 네트워크 서비스(Social Network Service), 또는 메신저(messenger) 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.The application may be determined according to the priority of a process, task, or thread managed by an operating system. As such, the application may be any one of a web browser, a social network service, or a messenger, but is not limited thereto.

상기 자판 배열을 불러오는 단계는 상기 사용자의 계정에 대응하여 등록된 복수 개의 자판 배열들 중에서, 상기 애플리케이션의 종류에 따라 결정된 하나의 자판 배열을 결정할 수 있다.The loading of the keyboard layout may determine a keyboard layout determined according to the type of the application among a plurality of keyboard arrangements registered in correspondence to the user's account.

상기 선택하는 단계는 상기 보조 입력 장치가 터치 패드(touch pad), 광 포인터(light beam pointer), 조이스틱(joysticks) 및 시선 추적 모니터(ocular eyegaze monitor) 중 어느 하나인 경우, 상기 보조 입력 장치로부터 수신된 입력 좌표에 대응되게 위치하는 글쇠를 선택할 수 있다. 또는, 상기 선택하는 단계는 상기 보조 입력 장치가 스위치(switch)인 경우, 상기 자판 배열에 따라 배치된 글쇠들에 대하여 순차적으로 포커스(focus)를 이동시키는 중, 상기 보조 입력 장치로부터 선택 신호가 수신된 시점에 포커스가 위치하는 글쇠를 선택할 수 있다.The selecting step may be received from the auxiliary input device when the auxiliary input device is any one of a touch pad, a light beam pointer, joysticks, and an ocular eyegaze monitor. It is possible to select a key positioned to correspond to the input coordinates. Alternatively, when the auxiliary input device is a switch, the selecting step receives a selection signal from the auxiliary input device while sequentially moving focus with respect to the keys arranged according to the arrangement of the keyboard. You can select the key where the focus is placed at the point in time.

상기 자판 배열을 구성하는 각 글쇠는 한글 자음, 한글 모임, 한 글자 이상의 단어 및 복수 개의 단어로 구성된 문장 중 어느 하나에 대응될 수 있다. 그리고, 상기 출력하는 단계는 상기 선택된 글쇠가 한글 모음에 해당되는 경우, 상기 자판 배열에 따라 출력된 글쇠들 중 한글 자음에 해당되는 글쇠의 색상을 변경하여 출력할 수 있다.Each key constituting the keyboard layout may correspond to any one of Hangeul consonants, Hangeul gatherings, one or more words, and sentences composed of a plurality of words. Then, when the selected key corresponds to a Korean vowel, the outputting step may change the color of the key corresponding to the Hangul consonant among the outputted keys according to the keyboard layout and output the changed key.

상기 출력하는 단계는 맞춤법 사전(spelling dictionary)을 기초로 상기 텍스트 박스에 출력 중인 기호들로 구성된 문자열 내에서 맞춤법이 틀린 기호를 식별하고, 상기 텍스트 박스에 출력 중인 기호들 중 상기 맞춤법이 틀린 기호의 색상을 변경하여 출력할 수 있다.The step of outputting identifies a misspelled symbol in a string consisting of symbols being output to the text box based on a spelling dictionary, and of the misspelled symbol among the symbols being output to the text box. You can change the color and print it out.

상기 출력하는 단계는 상기 선택된 글쇠에 대응되는 기호를 큐(queue)에 삽입(enqueue)하고, 상기 전달하는 단계는 상기 큐가 빌 때(empty)까지 상기 큐에 삽입된 기호를 하나씩 추출(dequeue)하여, 상기 애플리케이션의 메시지 입력 큐(message input queue)에 삽입할 수 있다. 이 경우, 상기 전달하는 단계는 상기 큐로부터 추출된 기호에 대응되는 가상 키 코드(virtual-key code)를 워드 파라미터(wParam)로 가지는 키 입력 메시지(WM_KEYDOWN)를 상기 메시지 입력 큐에 삽입할 수 있다.The outputting step enqueues a symbol corresponding to the selected key into a queue, and the delivering step dequeues the symbols inserted into the queue one by one until the queue is empty. By doing so, it can be inserted into the message input queue of the application. In this case, the delivering step may insert a key input message (WM_KEYDOWN) having a virtual key code corresponding to the symbol extracted from the queue as a word parameter (wParam) into the message input queue. .

상기 전달하는 단계는 상기 입력 완료가 수신되면, TTS(Text To Speech) 라이브러리(library)를 이용하여, 상기 텍스트 박스에 출력된 기호들로 구성된 단어 또는 문장을 소리로 출력할 수 있다. In the transmitting, when the input completion is received, a word or sentence composed of symbols output to the text box may be output as a sound using a text to speech (TTS) library.

상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 보완 대체 의사소통 방법을 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 프로그램은 사용자의 계정에 대응되어 사전에 등록된 자판 배열을 불러오는 단계; 상기 불러온 자판 배열에 따라 가상의 글쇠(key)들을 구성하여 출력하고, 보완 대체 의사소통(AAC)을 위해 연결된 보조 입력 장치로부터 수신된 정보를 기초로, 상기 글쇠들 중 어느 하나를 선택하는 단계; 상기 선택된 글쇠에 대응되는 기호를 텍스트 박스에 출력하는 단계; 및 상기 보조 입력 장치로부터 입력 완료가 수신되기 전까지 상기 텍스트 박스에 출력된 기호의 수정을 허용하고, 상기 입력 완료가 수신되면 상기 텍스트 박스에 출력된 기호를 사전에 결정된 애플리케이션에 전달하는 단계를 실행시킬 수 있다.In order to achieve the technical problems as described above, the present invention proposes a computer program recorded on a recording medium to implement a complementary alternative communication method. The program includes loading a keyboard layout registered in advance corresponding to a user's account; Constructing and outputting virtual keys according to the loaded keyboard layout, and selecting any one of the keys based on information received from an auxiliary input device connected for complementary alternative communication (AAC). ; Outputting a symbol corresponding to the selected key to a text box; And allowing modification of a symbol output to the text box until input completion is received from the auxiliary input device, and when the input completion is received, passing the symbol output to the text box to a predetermined application. Can.

기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Details of other embodiments are included in the detailed description and drawings.

본 발명의 실시 예들에 따르면, 한글 자음, 한글 모음, 영문자 알파벳, 숫자 및 특수 기호 뿐만 아니라, 자주 사용하는 단어, 문장까지 자유롭게 배치할 수 있는 맞춤형 자판(keyboard)을 제공하므로, 의사소통에 어려움을 겪는 사용자가 표현할 수 있는 의사 범위가 넓어질 수 있다.According to embodiments of the present invention, as well as Hangul consonants, Hangul vowels, English alphabets, numbers, and special symbols, as well as frequently used words and sentences are provided to provide a customized keyboard that can be freely arranged, making communication difficult. The range of intentions that a user can experience can be expanded.

특히, 본 발명의 실시 예들에 따르면, 사용자에 의해 선택된 기호를 즉각 출력하지 않고 이를 수정할 수 있는 기회를 제공하므로, 사용자가 의사소통에 어려움을 겪고 있다는 사실을 의사소통 상대방에서 노출시키지 않을 수 있다.In particular, according to embodiments of the present invention, since the opportunity to modify the symbol without promptly outputting the symbol selected by the user is provided, the communication counterpart may not expose that the user is having difficulty communicating.

본 발명의 효과들은 이상에서 언급한 효과로 제한되지 아니하며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the above-mentioned effects, and other effects not mentioned will become apparent to those skilled in the art from the description of the claims.

도 1 및 도 2는 종래의 보완 대체 의사소통 방법의 몇몇 예시를 나타낸 예시도이다.
도 3은 본 발명의 일 실시예에 따른 보완 대체 의사소통 방법의 예시를 나타낸 예시도이다.
도 4는 본 발명의 일 실시예에 따른 보완 대체 의사소통 시스템의 구성도이다.
도 5는 본 발명의 일 실시예에 따른 의사소통 장치의 논리적 구성도이다.
도 6은 본 발명의 일 실시예에 따른 의사소통 장치의 하드웨어 구성도이다.
도 7은 본 발명의 일 실시예에 따라 의사소통 장치가 보완 대체 의사소통 방법을 수행하는 과정을 나타낸 순서도이다.
도 8은 본 발명의 일 실시예에 따라 기호를 입력 대상 애플리케이션에 전달하는 과정을 나타낸 순서도이다.
1 and 2 are exemplary views showing some examples of a conventional complementary alternative communication method.
3 is an exemplary view showing an example of a complementary alternative communication method according to an embodiment of the present invention.
4 is a configuration diagram of a complementary alternative communication system according to an embodiment of the present invention.
5 is a logical configuration diagram of a communication device according to an embodiment of the present invention.
6 is a hardware configuration diagram of a communication device according to an embodiment of the present invention.
7 is a flowchart illustrating a process in which a communication device performs a complementary alternative communication method according to an embodiment of the present invention.
8 is a flowchart illustrating a process of delivering a symbol to an input target application according to an embodiment of the present invention.

본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It should be noted that the technical terms used in this specification are only used to describe specific embodiments and are not intended to limit the present invention. In addition, technical terms used in this specification should be interpreted as meanings generally understood by a person having ordinary knowledge in the technical field to which the present invention belongs, unless defined otherwise. It should not be interpreted as a meaning or an excessively reduced meaning. In addition, when the technical term used in this specification is a wrong technical term that does not accurately represent the spirit of the present invention, it should be understood as being replaced by a technical term that can be correctly understood by those skilled in the art. In addition, the general terms used in the present invention should be interpreted as defined in the dictionary or in context before and after, and should not be interpreted as an excessively reduced meaning.

또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.In addition, a singular expression used in this specification includes a plural expression unless the context clearly indicates otherwise. In the present application, terms such as "consist of" or "have" should not be construed as including all of the various components, or various steps described in the specification, including some of the components or some steps It may or may not be construed as further comprising additional components or steps.

또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다. Further, terms including ordinal numbers such as first and second used in the present specification may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from other components. For example, the first component may be referred to as a second component without departing from the scope of the present invention, and similarly, the second component may also be referred to as a first component.

어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.When an element is said to be "connected" or "connected" to another component, it may be directly connected to or connected to the other component, but other components may exist in the middle. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that no other component exists in the middle.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다. Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings, but the same or similar elements will be given the same reference numbers regardless of the reference numerals, and redundant descriptions thereof will be omitted. In addition, in the description of the present invention, when it is determined that detailed descriptions of related known technologies may obscure the subject matter of the present invention, detailed descriptions thereof will be omitted. In addition, it should be noted that the accompanying drawings are only for easy understanding of the spirit of the present invention and should not be interpreted as limiting the spirit of the present invention by the accompanying drawings. The spirit of the present invention should be interpreted to be extended to all changes, equivalents, and substitutes in addition to the accompanying drawings.

본 발명에 대한 설명에 앞서, 본 명세서에서 반복 기술하는 몇몇 용어에 대해 설명한다.Prior to the description of the present invention, some terms repeatedly described herein are described.

보완 대체 의사소통(Augmentative and Alternative Communication, AAC)은 말이나 글을 통해 의사소통이 곤란한 자의 언어능력을 촉진하기 위하여 사용되는 다양한 형태의 의사소통 수단이다. 보완 대체 의사소통 장치는 사용자로부터 입력된 신호를 기초로, 화면(즉, 글) 또는 소리(즉, 말)을 출력하여 의사소통을 지원하는 장치이다.Augmentative and Alternative Communication (AAC) is a form of communication that is used to promote the language ability of those who have difficulty communicating through speech or writing. The complementary alternative communication device is a device that supports communication by outputting a screen (ie, text) or sound (ie, speech) based on a signal input from a user.

기호(symbol)는 사용자가 보완 대체 의사소통 장치에 입력하는 의사의 단위이다. 즉, 기호는 사용자가 보완 대체 의사소통 장치를 이용하여 상대방에게 표현하고자 하는 의사의 일 구성 요소이다. 이와 같은, 기호에는 한글 자음, 한글 모음, 영문자 알파벳, 숫자, 특수 기호, 단어 및 문장 등이 포함될 수 있으며, 이에 한정되는 것은 아니다.A symbol is a unit of intention that a user enters into a complementary alternative communication device. That is, the symbol is a component of a doctor who wants the user to express to the other party using a complementary alternative communication device. Such symbols may include Hangul consonants, Hangul vowels, English alphabets, numbers, special symbols, words, and sentences, but are not limited thereto.

글쇠(key)는 보완 대체 의사소통 장치의 자판(keyboard)의 일 구성 요소이다. 보완 대체 의사소통 장치의 자판을 구성하는 각각의 글쇠는 보완 대체 의사소통 장치가 지원하는 각각의 기호와 대응될 수 있다. 본 발명의 일 실시예에 따른 자판은 물리적 버튼의 글쇠로 구성되지 않고, 화면을 통해 기호를 출력하고 입력된 신호를 기초로 기호를 선택하는 가상의 글쇠(virtual key)로 구성된 가상 자판(virtual keyboard)가 될 수 있다.The key is a component of the keyboard of the complementary alternative communication device. Each key constituting the keyboard of the complementary alternative communication device may correspond to each symbol supported by the complementary alternative communication device. A keyboard according to an embodiment of the present invention is not composed of a physical button key, but a virtual keyboard consisting of a virtual key that outputs a symbol through a screen and selects a symbol based on an input signal. ).

텍스트 박스(text box)는 사용자가 기호를 입력하거나 수정할 수 있는 그래픽 사용자 인터페이스(Graphic User Interface, GUI) 객체(object)이다. 이와 같은, 텍스트 박스는 운영체제(Operating System, OS)에서 제공하는 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API) 또는 라이브러리(library)를 이용하여 구현될 수 있으나, 이에 한정되는 것은 아니다.A text box is a graphical user interface (GUI) object through which a user can enter or modify symbols. The text box may be implemented using an application programming interface (API) or library provided by an operating system (OS), but is not limited thereto.

이하, 종래의 보완 대체 의사소통 방법과 대비하여, 본 발명이 제안하고자 하는 보완 대체 의사소통 방법의 특징을 설명하기로 한다.Hereinafter, features of the complementary alternative communication method proposed by the present invention will be described in comparison with the conventional complementary alternative communication method.

도 1 및 도 2는 종래의 보완 대체 의사소통 방법의 몇몇 예시를 나타낸 1 and 2 show some examples of conventional complementary alternative communication methods 예시도이다It is an example ..

일반적으로, 보완 대체 의사소통 방법은 고정식 컴퓨팅 장치 또는 이동식 컴퓨팅 장치를 이용하여 구현될 수 있다. 여기서, 고정식 컴퓨팅 장치에는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)가 포함될 수 있으나, 이에 한정되지 않는다. 그리고, 이동식 컴퓨팅 장치에는 스마트폰(smart phone), 랩탑(laptaop), 태블릿(tablet), 패블릿(phablet), 휴대용 멀티미디어 재생장치(Portable Multimedia Player, PMP), 개인용 휴대 단말기(Personal Digital Assistants, PDA) 또는 전자책 단말기(E-book reader)가 포함될 수 있으나, 이에 한정되지 않는다.In general, complementary alternative communication methods may be implemented using fixed computing devices or mobile computing devices. Here, the fixed computing device may include a desktop, a workstation, or a server, but is not limited thereto. In addition, mobile computing devices include smart phones, laptops, tablets, phablets, portable multimedia players (PMPs), and personal digital assistants (PDAs). ) Or an e-book reader, but is not limited thereto.

또한, 종래의 보완 대체 의사소통 방법은 "문장" 단위의 기호, 또는 "한글 자음, 한글 모음, 영문자, 숫자 또는 특수 기호" 단위의 기호 중 어느 하나를 지원하였다. In addition, the conventional complementary alternative communication method supports either a symbol in the unit of “sentence” or a symbol in the unit of “Korean consonants, Korean vowels, English letters, numbers, or special symbols”.

도 1은 고정식 컴퓨팅 장치를 이용하여 구현되며, 문장 단위의 기호를 지원하는 종래의 보완 대체 의사소통 방법의 일 예시를 나타내고 있다. 1 illustrates an example of a conventional complementary alternative communication method implemented using a fixed computing device and supporting sentence-based symbols.

도 1에 도시된 바와 같은 종래의 보완 대체 의사소통 방법에 따르면, 화면(10)에 그룹으로 분류된 문장 단위의 기호들이 출력되면, 사용자는 자신이 입력하고자 하는 기호가 속한 그룹에 따라 우선적으로 탭(tap, 11)을 선택한 후, 그룹 내에 속한 기호들 중에서 입력하고자 하는 기호의 글쇠(13)를 선택할 수 있었다. 여기서, 탭(11)은 그룹을 선택하기 위한 GUI 객체이다.According to the conventional complementary alternative communication method as illustrated in FIG. 1, when symbols in sentence units classified as groups are output on the screen 10, the user preferentially taps according to the group to which the symbol to be input belongs. After selecting (tap, 11), it was possible to select the key 13 of the symbol to be input from among the symbols belonging to the group. Here, the tab 11 is a GUI object for selecting a group.

한편, 웹 검색(web searching), 소셜 네트워크 서비스(Social Network Service, SNS), 또는 메신저(messenger) 등과 같은 서비스이 대중화되면서, 언어 장애를 가진 자들 또한 자신의 의사를 자유롭게 표현하고 싶은 니즈(needs)가 강해지고 있다. On the other hand, as services such as web searching, social network services (SNS), or messengers become popular, people with language disabilities also have a need to express their intentions freely. It is getting stronger.

그러나, 도 1에 도시된 종래의 보완 대체 의사소통 방법을 이용하면, 사용자는 오직 문장 단위의 정해진 기호만을 입력할 수 있으므로 자신의 의사를 자유롭게 표현하고 싶어도 할 수가 없었다.However, using the conventional complementary and alternative communication method illustrated in FIG. 1, the user can input only a predetermined symbol in a sentence unit, and thus cannot freely express his or her intention.

도 2는 이동식 컴퓨팅 장치를 이용하여 구현되며, 한글 자음, 한글 모음, 영문자, 숫자 또는 특수 기호 단위의 기호를 지원하는 종래의 보완 대체 의사소통 방법의 일 예시를 나타내고 있다. 2 illustrates an example of a conventional complementary alternative communication method that is implemented using a mobile computing device and supports symbols in Hangul consonants, Hangul vowels, English characters, numbers, or special symbol units.

도 2에 도시된 바와 같은 종래의 보완 대체 의사소통 방법에 따르면, 화면(20)에 사용자가 선택할 수 있는 모든 기호들이 출력되면, 사용자는 출력된 수 많은 기호들 중에서 자신이 입력하고자 하는 기호를 탐색한 후, 탐색된 기호의 글쇠(21)를 선택할 수 있었다. According to the conventional complementary alternative communication method as shown in FIG. 2, when all the user-selectable symbols are displayed on the screen 20, the user searches for a symbol he or she wants to input among a number of displayed symbols After that, the key 21 of the searched symbol could be selected.

따라서, 도 2에 도시된 종래의 보완 대체 의사소통 방법을 이용하면, 사용자는 화면(20)에 출력된 수 많은 기호들 중에서 자신이 입력하고자 하는 기호를 탐색해야 하는 어려움이 있었다. Therefore, using the conventional complementary alternative communication method illustrated in FIG. 2, the user had a difficulty in searching for a symbol to be input among the many symbols output on the screen 20.

만약, 언어 장애 이외에 지적 장애를 함께 가지고 있는 사용자의 경우, 기호들의 위치를 외울 수 없어 하나의 기호를 선택할 때마다 화면(20)에 출력된 수 많은 기호들 중에서 자신이 입력하고자 하는 기호를 다시 탐색하여야 했다.If the user has an intellectual disability in addition to the language disability, the location of the symbols cannot be memorized, so that whenever a single symbol is selected, the symbol to be entered is searched again among the numerous symbols displayed on the screen 20 Had to.

스위치(switch) 등을 이용하여 스캐닝(scanning) 되는 기호들 중에서 입력하고자 하는 기호를 간접적으로 선택하는 사용자의 경우, 스캐닝 되는 기호들의 수가 너무 많아 자신이 입력하고자 하는 기호까지 포커스가 이동하기까지 오랜 시간을 기다려야 했다. In the case of a user who indirectly selects a symbol to be input from among symbols that are scanned using a switch or the like, the number of symbols to be scanned is too large, and the time for focus to move to the symbol to be input is long. Had to wait.

또한, 스위치 등을 이용하는 것이 익숙하지 않은 사용자의 경우, 의도치 않게 다른 기호를 입력(즉, 오타)하게 되는 문제가 있었다. 특히, 시선 추적 모니터(ocular eyegaze monitor)와 같은 보조 수단을 이용하는 사용자의 경우, 화면(20)에 출력된 많은 기호들을 눈으로 읽어가며 자신이 입력하고자 하는 기호를 탐색하게 되면, 기호를 읽기 위해 시선이 머무는 순간 의도치 않게 기호가 선택되었다.In addition, in the case of a user who is unfamiliar with using a switch or the like, there is a problem in that other symbols are unintentionally entered (that is, typos). Particularly, in the case of a user using an auxiliary means such as an ocular eyegaze monitor, if a user searches for a sign that he or she wants to input while reading many signs displayed on the screen 20 with eyes, he/she looks to read the sign. The sign was chosen unintentionally at the moment of this stay.

그리고, 이와 같이 의도치 않게 입력된 기호는 곧바로 화면 또는 소리 형태로 출력되어, 사용자가 의사소통에 어려움을 겪고 있다는 사실을 의사소통 상대방에서 노출하는 문제가 있었다.In addition, the unintentionally entered symbol is immediately output in the form of a screen or a sound, and there is a problem in that the communication counterpart exposes that the user is having difficulty in communication.

본 발명은 상술한 바와 같은 종래의 보완 대체 의사소통 방법의 문제점을 해결하고자 도출되었다. 특히, 본 발명의 일 실시예에 따른 보완 대체 의사소통 방법은 인접한 공간에 존재하는 상대방과의 의사소통이 아닌, 사용자에게 특정 서비스를 제공하는 애플리케이션에 사용자의 의사표현을 입력하는 관점에서 도출되었다.The present invention has been derived to solve the problems of the conventional complementary alternative communication method as described above. In particular, the complementary alternative communication method according to an embodiment of the present invention was derived from the viewpoint of inputting a user's expression of expression in an application providing a specific service to a user, rather than communicating with a counterpart in an adjacent space.

도 3은 본 발명의 일 Figure 3 is one of the present invention 실시예에Example 따른 보완 대체 의사소통 방법의 예시를 나타낸 Examples of complementary alternative communication methods 예시도이다It is an example ..

도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 보완 대체 의사소통 방법에 따르면, 사용자 맞춤형 자판(30)이 출력되면, 사용자는 자판(30)의 글쇠(31)를 선택하여 텍스트 박스(33) 내에서 자신이 입력하고자 하는 단어 또는 문장을 완성시킨 경우, 입력 완료(35)를 입력하여 텍스트 박스(33) 내의 완성된 단어 또는 문장을 사용자가 이용하고자 하는 애플리케이션(40)의 입력 객체(41)에 전달할 수 있다.As shown in FIG. 3, according to the complementary alternative communication method according to an embodiment of the present invention, when the user-customized keyboard 30 is output, the user selects the key 31 of the keyboard 30 to select a text box If the word or sentence to be entered in (33) is completed, the input object of the application (40) that the user wants to use the completed word or sentence in the text box (33) by entering the input completion (35) (41).

상술한 바와 같은 종래의 보완 대체 의사소통 방법들의 문제점을 해결하고자, 본 발명의 일 실시예에 따른 보완 대체 의사소통 방법은 사용자 또는 사용자의 보호자가 자판(30)을 구성하는 글쇠(31)의 종류 및 위치를 자유롭게 배열할 수 있다. 또한, 자판(30)을 구성하는 글쇠(31)의 기호는 한글 자음, 한글 모음, 영문자 알파벳, 숫자 및 특수 기호에 한정되지 않고, 사용자가 자주 사용하는 단어, 사용자가 자주 사용하는 문장도 해당될 수 있다.In order to solve the problems of the conventional complementary alternative communication methods as described above, the complementary alternative communication method according to an embodiment of the present invention is the type of the clasp 31 constituting the keyboard 30 by the user or the guardian of the user And positions can be freely arranged. In addition, the symbols of the key 31 constituting the keyboard 30 are not limited to Hangul consonants, Hangul vowels, English alphabets, numbers, and special symbols, and words frequently used by users and sentences frequently used by users may also be applicable. have.

특히, 본 발명의 일 실시예에 따른 보완 대체 의사소통 방법은 사용자가 텍스트 박스(33) 내에서 자신이 입력하고자 하는 단어 또는 문장을 자유롭게 수정(37)한 후, 완성된 단어 또는 문장을 일체로서 애플리케이션(40)의 입력 객체(41)에 전달할 수 있다. 따라서, 사용자가 이용하고자 하는 애플리케이션(40)이 소셜 네트워크 서비스(SNS) 또는 메신저 등과 같이 상대방이 존재하는 경우라 하더라도, 상대방이 사용자가 의사소통에 어려움을 겪고 있다는 사실을 알아차리기 어렵다.Particularly, in the complementary alternative communication method according to an embodiment of the present invention, after the user freely corrects (37) the word or sentence to be entered in the text box 33, the completed word or sentence is integrated. It can be delivered to the input object 41 of the application 40. Therefore, even if the application 40 that the user wants to use is a counterpart such as a social network service (SNS) or a messenger, it is difficult for the counterpart to notice that the user is having difficulty communicating.

이하, 상술한 바와 같은 특징을 가지는 본 발명의 보완 대체 의사소통 방법을 수행하는 시스템의 구성에 대해 설명한다.Hereinafter, a configuration of a system for performing a complementary and alternative communication method of the present invention having the characteristics as described above will be described.

도 4는 본 발명의 일 Figure 4 is one of the present invention 실시예에Example 따른 보완 대체 의사소통 시스템의 구성도이다. This is a schematic diagram of the complementary alternative communication system.

도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 보완 대체 의사소통 시스템은 보조 입력 장치(100), 의사소통 장치(200) 및 의사소통 지원 서버(300)를 포함하여 구성될 수 있다. 이와 같은, 보완 대체 의사소통 시스템의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 어느 하나 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현될 수 있다.As illustrated in FIG. 4, a complementary alternative communication system according to an embodiment of the present invention may include an auxiliary input device 100, a communication device 200, and a communication support server 300. . Since the components of the complementary alternative communication system are only functionally divided elements, any one or more components can be implemented by being integrated with each other in an actual physical environment.

보완 대체 의사소통 시스템의 각각의 구성 요소에 대해 설명한다.Describe each component of the complementary alternative communication system.

보조 입력 장치(100)는 보완 대체 의사소통을 위하여 의사소통 장치(200)와 연결되어, 사용자가 입력하고자 하는 기호를 직접 또는 간접으로 선택하는데 사용되는 장치이다. The auxiliary input device 100 is a device that is connected to the communication device 200 for complementary alternative communication, and is used to directly or indirectly select a symbol to be input by a user.

도 4에는 보조 입력 장치(100)가 스캐닝에 사용되는 스위치(switch) 형태로 도시되었으나, 보조 입력 장치(100)는 터치 패드(touch pad), 광 포인터(light beam pointer), 조이스틱(joysticks) 및 시선 추적 모니터(ocular eyegaze monitor) 중 어느 하나가 될 수 있으며, 이에 한정되는 것도 아니다. Although the auxiliary input device 100 is shown in FIG. 4 in the form of a switch used for scanning, the auxiliary input device 100 includes a touch pad, a light beam pointer, joysticks, and the like. It may be any one of an ocular eyegaze monitor, but is not limited thereto.

만약, 보조 입력 장치(100)가 터치 패드, 광 포인터, 조이스틱 및 시선 추적 모니터 중 어느 하나에 해당되는 경우, 보조 입력 장치(100)는 사용자의 조작에 따른 입력 좌표를 의사소통 장치(200)에 전송할 수 있다. 그리고, 보조 입력 장치(100)가 스위치에 해당되는 경우, 보조 입력 장치(100)는 사용자의 입력에 따른 선택 신호를 의사소통 장치(200)에 전송할 수 있다.If the auxiliary input device 100 corresponds to any one of a touch pad, an optical pointer, a joystick, and a gaze tracking monitor, the auxiliary input device 100 transmits input coordinates according to the user's manipulation to the communication device 200 Can transmit. In addition, when the auxiliary input device 100 corresponds to a switch, the auxiliary input device 100 may transmit a selection signal according to a user's input to the communication device 200.

그리고, 보조 입력 장치(100)는 사용자의 조작에 따라, 의사소통 장치(200)에 입력 완료를 전송할 수 있다. 여기서, 입력 완료는 사용자가 입력하고자 하는 단어 또는 문장을 완성하였음을 알리는 신호이다. In addition, the auxiliary input device 100 may transmit input completion to the communication device 200 according to a user's operation. Here, the input completion is a signal informing that the user has completed a word or sentence to be input.

다음 구성으로, 의사소통 장치(200)는 보조 입력 장치(100)로부터 수신된 신호를 기초로, 본 발명의 일 실시예에 따른 보완 대체 의사소통 방법을 수행하는 장치이다. In the following configuration, the communication device 200 is a device that performs a complementary alternative communication method according to an embodiment of the present invention, based on a signal received from the auxiliary input device 100.

의사소통 장치(200)에 대한 구체적인 구성 및 동작에 대해서는 추후 도 5 내지 도 8을 참조하여 보다 구체적으로 설명하기로 한다.The specific configuration and operation of the communication device 200 will be described in more detail with reference to FIGS. 5 to 8 later.

보조 입력 장치(100)와 의사소통 장치(200)는 직접 연결된 케이블 또는 근거리 무선 통신을 이용하여 데이터를 송수신할 수 있다. 여기서, 근거리 무선 통신에는 블루투스(Bluetooth), 블루투스 로우 에너지(Bluetooth Low Energy, BLE), RFID(Radio Frequency IDentification), NFC(Near Field Communication) 또는 지그비(ZigBee)가 포함될 수 있으나, 이에 한정되는 것은 아니다.The auxiliary input device 100 and the communication device 200 may transmit and receive data using a directly connected cable or short-range wireless communication. Here, the short-range wireless communication may include, but is not limited to, Bluetooth (Bluetooth), Bluetooth Low Energy (BLE), Radio Frequency Identification (RFID), Near Field Communication (NFC), or ZigBee. .

또한, 본 발명의 다른 실시예에 따르면, 보조 입력 장치(100)와 의사소통 장치(200)는 하나의 장치로 통합 구현될 수도 있다.In addition, according to another embodiment of the present invention, the auxiliary input device 100 and the communication device 200 may be implemented as one device.

다음 구성으로, 의사소통 지원 서버(300)는 의사소통 장치(200)가 본 발명의 일 실시예에 따른 보완 대체 의사소통 방법을 원활하게 수행할 수 있도록 지원하는 장치이다.With the following configuration, the communication support server 300 is a device that enables the communication device 200 to smoothly perform a complementary alternative communication method according to an embodiment of the present invention.

구체적으로, 의사소통 지원 서버(300)는 의사소통 장치(200)로부터 사용자의 계정 및 애플리케이션의 종류를 수신할 수 있다. 의사소통 지원 서버(300)는 사용자의 계정에 대응하여 등록된 복수 개의 자판 배열들 중에서 수신된 애플리케이션의 종류에 따라 하나의 자판 배열을 결정할 수 있다. 그리고, 의사소통 지원 서버(300)는 결정된 하나의 자판 배열을 의사소통 장치(200)에 전송할 수 있다.Specifically, the communication support server 300 may receive a user's account and type of application from the communication device 200. The communication support server 300 may determine one keyboard layout according to the type of the received application among a plurality of keyboard layouts registered in response to the user's account. Then, the communication support server 300 may transmit the determined arrangement of the keyboard to the communication device 200.

의사소통 지원 서버(300)는 의사소통 장치(200)로부터 문자열을 수신할 수 있다. 의사소통 장치(200)는 수신된 문자열에 대하여, 맞춤법 사전(spelling dictionary)을 기초로 맞춤법 검사를 수행할 수 있다. 그리고, 의사소통 지원 서버(300)는 맞춤법 검사 결과를 의사소통 장치(200)에 전송할 수 있다.The communication support server 300 may receive a character string from the communication device 200. The communication device 200 may perform a spell check on the received character string based on a spelling dictionary. In addition, the communication support server 300 may transmit the spelling test result to the communication device 200.

의사소통 장치(200)와 의사소통 지원 서버(300)는 공용 유선 통신망 또는 이동 통신망 중 어느 하나를 이용하여 데이터를 송수신할 수 있다. 여기서, 공용 유선 통신망에는 이더넷(ethernet), 디지털가입자선(x Digital Subscriber Line, xDSL), 광동축 혼합망(Hybrid Fiber Coax, HFC), 광가입자망(Fiber To The Home, FTTH)가 포함될 수 있으나, 이에 한정되는 것은 아니다. 또한, 이동 통신망에는 코드 분할 다중 접속(Code Division Multiple Access, CDMA), 와이드 밴드 코드 분할 다중 접속(Wideband CDMA, WCDMA), 고속 패킷 접속(High Speed Packet Access, HSPA), 롱텀 에볼루션(Long Term Evolution, LTE)가 포함될 수 있으나, 이에 한정되는 것도 아니다.The communication device 200 and the communication support server 300 may transmit and receive data using either a public wired communication network or a mobile communication network. Here, the common wired communication network may include ethernet, digital subscriber line (xDSL), hybrid fiber coax (HFC), and fiber to the home (FTTH). , But is not limited thereto. In addition, mobile communication networks include code division multiple access (CDMA), wide band code division multiple access (CDMA), high speed packet access (HSPA), and long term evolution (Long Term Evolution). LTE) may be included, but is not limited thereto.

이하, 상술한 바와 같은 의사소통 장치(200)의 구성에 대하여 보다 구체적으로 설명하기로 한다.Hereinafter, the configuration of the communication device 200 as described above will be described in more detail.

도 5는 본 발명의 일 Figure 5 is one of the present invention 실시예에Example 따른 의사소통 장치의 논리적 구성도이다. It is a logical diagram of the communication device.

도 5에 도시된 바와 같이, 본 발명의 일 실시예에 따른 의사소통 장치(200)는 통신부(205), 입출력부(210), 자판 배열 관리부(215), AAC 제어부(220), 부가기능 관리부(225) 및 입력 완료 처리부(230)를 포함하여 구성될 수 있다. 이와 같은, 의사소통 장치(200)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 어느 하나 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현될 수 있다.As illustrated in FIG. 5, the communication device 200 according to an embodiment of the present invention includes a communication unit 205, an input/output unit 210, a keyboard layout management unit 215, an AAC control unit 220, and an additional function management unit 225 and an input completion processing unit 230. Since the components of the communication device 200 are only functionally divided elements, any one or more components may be implemented by being integrated with each other in an actual physical environment.

의사소통 장치(200)의 각각의 구성 요소에 대해 설명한다.Each component of the communication device 200 will be described.

통신부(205)는 보조 입력 장치(100) 또는 의사소통 지원 서버(300)와 데이터를 송수신할 수 있다. The communication unit 205 may transmit and receive data to and from the auxiliary input device 100 or the communication support server 300.

구체적으로, 통신부(205)는 보조 입력 장치(100)로부터 입력 좌표 또는 선택 신호를 수신할 수 있다. 여기서, 입력 좌표는 보조 입력 장치(100)가 터치 패드, 광 포인터, 조이스틱 및 시선 추적 모니터 중 어느 하나에 해당되는 경우에 수신될 수 있다. 선택 신호는 보조 입력 장치(100)가 스위치인 경우에 수신될 수 있다.Specifically, the communication unit 205 may receive an input coordinate or a selection signal from the auxiliary input device 100. Here, the input coordinates may be received when the auxiliary input device 100 corresponds to any one of a touch pad, an optical pointer, a joystick, and a gaze tracking monitor. The selection signal may be received when the auxiliary input device 100 is a switch.

통신부(205)는 의사소통 지원 서버(300)에 사용자의 계정, 애플리케이션 종류 및 문자열을 송신할 수 있다. 그리고, 통신부(250)는 의사소통 지원 서버(300)로부터 자판 배열 및 맞춤법 검사 결과를 수신할 수 있다.The communication unit 205 may transmit the user's account, application type, and character string to the communication support server 300. Then, the communication unit 250 may receive a keyboard layout and a spelling test result from the communication support server 300.

다음 구성으로, 입출력부(210)는 의사소통 장치(200)의 보조 입력 장치(100)에 해당되지 않는 입출력 장치를 이용하여, 사용자 또는 사용자의 보호자와 의사소통 장치(200)의 동작에 필요한 데이터를 입출력할 수 있다.In the following configuration, the input/output unit 210 uses input/output devices that do not correspond to the auxiliary input device 100 of the communication device 200, and data necessary for the operation of the communication device 200 with the user or the guardian of the user Can input and output.

구체적으로, 입출력부(210)는 사용자 또는 보호자로부터 사용자의 계정을 입력 받을 수 있다. 그리고, 입출력부(210)는 사용자 또는 보호자로부터 맞춤형 자판 배열을 구성하기 위한 글쇠의 배치 정보를 입력 받을 수 있다. 여기서, 글쇠의 배치 정보는 자판을 구성하는 하나 이상의 글쇠의 종류 및 위치에 관한 정보이다.Specifically, the input/output unit 210 may receive a user's account from a user or guardian. In addition, the input/output unit 210 may receive arrangement information of a key for configuring a custom keyboard layout from a user or guardian. Here, the arrangement information of the lock is information regarding the type and location of one or more locks constituting the keyboard.

입출력부(210)는 본 발명의 일 실시예에 따른 보완 대체 의사소통 방법이 구현된 애플리케이션의 화면을 출력할 수 있다. 입출력부(210)는 사용자가 이용하고자 하는 애플리케이션의 화면을 출력할 수 있다. 입출력부(210)는 화면 또는 소리를 통해, 사용자에 의해 입력된 기호를 출력할 수 있다. 그리고, 입출력부(210)는 화면 또는 소리를 통해, 사용자에 완성된 단어 또는 문장을 출력할 수 있다.The input/output unit 210 may output a screen of an application in which a complementary alternative communication method according to an embodiment of the present invention is implemented. The input/output unit 210 may output a screen of an application to be used by the user. The input/output unit 210 may output a symbol input by a user through a screen or sound. In addition, the input/output unit 210 may output a completed word or sentence to the user through a screen or sound.

다음 구성으로, 자판 배열 관리부(215)는 사용자의 맞춤형 자판 배열을 관리할 수 있다. 자판 배열 관리부(215)는 새로운 자판 배열을 등록(registration)하거나, 또는 기존에 등록된 자판 배열을 불러(loading)올 수 있다.With the following configuration, the keyboard layout management unit 215 may manage a user-specified keyboard layout. The keyboard layout management unit 215 may register a new keyboard layout or load an existing registered keyboard layout.

우선, 자판 배열 관리부(215)가 새로운 자판 배열을 등록하는 과정을 설명한다. First, the process of registering the new keyboard layout by the keyboard layout management unit 215 will be described.

자판 배열 관리부(215)는 입출력부(210)를 통해 입력된 사용자의 계정을 식별할 수 있다. 자판 배열 관리부(215)는 입출력부(210)를 통해 입력된 글쇠의 배치 정보를 기초로, 사용자의 새로운 자판 배열을 생성할 수 있다. The keyboard layout management unit 215 may identify the user's account input through the input/output unit 210. The keyboard layout management unit 215 may generate a new keyboard layout of the user based on the arrangement information of the key input through the input/output unit 210.

본 발명의 일 실시예에 따른 기호는 한글 자음, 한글 모음, 영문자 알파벳, 숫자, 특수 기호, 사용자가 자주 사용하는 단어, 사용자가 자주 사용하는 문장 중 어느 하나가 될 수 있다. 따라서, 자판 배열을 구성하는 각 글쇠는 한글 자음, 한글 모음, 영문자 알파벳, 숫자 및 특수 기호, 한 글자 이상의 단어 및 복수 개의 단어로 구성된 문장 중 어느 하나에 대응될 수 있다.The symbol according to an embodiment of the present invention may be any one of a Korean consonant, a Korean vowel, an alphabetic alphabet, a number, a special symbol, a word frequently used by a user, and a sentence frequently used by a user. Accordingly, each key constituting the keyboard layout may correspond to any one of a sentence consisting of a Korean consonant, a Korean vowel, an alphabetic alphabet, numbers and special symbols, words of one or more letters, and a plurality of words.

자판 배열 관리부(215)는 사용자가 새로운 자판 배열을 이용하여 기호를 입력하는 경우, 사용자가 그와 동시에 실행 중인 애플리케이션의 종류를 식별할 수 있다. When the user inputs a symbol using the new keyboard layout, the keyboard layout management unit 215 may identify the type of the application that the user is running at the same time.

자판 배열 관리부(215)는 새로운 자판 배열을 사용자의 계정 및 애플리케이션의 종류에 대응시켜, 내부 데이터베이스에 저장할 수 있다. 또한, 자판 배열 관리부(215)는 새로운 자판 배열을 사용자의 계정 및 애플리케이션의 종류에 대응시킨 정보를 의사소통 지원 서버(300)에 전송할 수 있다.The keyboard layout management unit 215 may correspond to the user's account and application type, and store the new keyboard layout in an internal database. In addition, the keyboard layout management unit 215 may transmit information corresponding to the type of the user's account and application to the new keyboard layout to the communication support server 300.

다음으로, 자판 배열 관리부(215)는 기존에 등록된 자판 배열을 불러오는 과정을 설명한다.Next, the keyboard layout management unit 215 describes a process of loading an existing registered keyboard layout.

자판 배열 관리부(215)는 입출력부(210)를 통해 입력된 사용자의 계정 정보를 식별할 수 있다. 자판 배열 관리부(215)는 입력 대상 애플리케이션의 종류를 식별할 수 있다. The keyboard layout management unit 215 may identify the user's account information input through the input/output unit 210. The keyboard layout management unit 215 may identify the type of the input target application.

여기서, 입력 대상 애플리케이션은 사용자 또는 보호자에 의해 사전에 설정될 수 있다. 또는, 입력 대상 애플리케이션은 운영체제(OS)에 의해 관리되는, 프로세스(process), 작업(task) 또는 쓰레드(thread)의 우선순위(priority)에 따라 결정될 수도 있다. 이와 같은, 입력 대상 애플리케이션은 웹 브라우저(web browser), 소셜 네트워크 서비스(SNS), 또는 메신저 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다. Here, the input target application may be set in advance by a user or guardian. Alternatively, the input target application may be determined according to a priority of a process, task, or thread managed by an operating system (OS). The target application may be any one of a web browser, a social network service (SNS), or a messenger, but is not limited thereto.

자판 배열 관리부(215)는 식별된 사용자의 계정에 대응하여 내부 데이터베이스에 등록된 복수 개의 자판 배열들 중에서, 입력 대상 애플리케이션의 종류에 따라 하나의 자판 배열을 결정할 수 있다. 그리고, 자판 배열 관리부(125)는 결정된 하나의 자판 배열을 불러올 수 있다.The keyboard layout management unit 215 may determine a keyboard layout according to a type of an input target application among a plurality of keyboard arrangements registered in an internal database corresponding to the identified user account. Then, the keyboard layout management unit 125 may recall the determined one keyboard layout.

또는, 자판 배열 관리부(215)는 식별된 사용자의 계정 및 입력 대상 애플리케이션의 종류를 의사소통 지원 서버(300)에 전송할 수 있다. 그리고, 자판 배열 관리부(215)는 의사소통 지원 서버(300)로부터 자판 배열을 수신할 수 있다.Alternatively, the keyboard layout management unit 215 may transmit the identified user's account and the type of the input target application to the communication support server 300. Also, the keyboard layout management unit 215 may receive the keyboard layout from the communication support server 300.

다음 구성으로, AAC 제어부(220)는 보조 입력 장치(100)를 통해 보완 대체 의사소통을 제어할 수 있다.With the following configuration, the AAC control unit 220 may control complementary alternative communication through the auxiliary input device 100.

구체적으로, AAC 제어부(220)는 자판 배열 관리부(215)에 의해 등록되거나 또는 불러온 자판 배열에 따라 가상의 글쇠를 구성하여 출력할 수 있다. AAC 제어부(220)는 보조 입력 장치(100)로부터 수신된 정보를 기초로, 자판 배열을 구성하고 있는 글쇠들 중 어느 하나를 선택할 수 있다. AAC 제어부(220)는 선택된 글쇠에 대응되는 기호를 텍스트 박스에 출력할 수 있다. 그리고, AAC 제어부(220)는 보조 입력 장치(100)로부터 입력 완료가 수신되기 전까지, 텍스트 박스에 출력된 기호의 수정을 허용할 수 있다.Specifically, the AAC control unit 220 may configure and output a virtual key according to the keyboard layout registered or loaded by the keyboard layout management unit 215. The AAC control unit 220 may select any one of the keys constituting the keyboard layout, based on the information received from the auxiliary input device 100. The AAC control unit 220 may output a symbol corresponding to the selected key in the text box. Then, the AAC control unit 220 may allow modification of the symbol output in the text box until input completion is received from the auxiliary input device 100.

만약, 보조 입력 장치(100)가 터치 패드, 광 포인터, 조이스틱, 및 시선 추적 모니터 중 어느 하나인 경우, AAC 제어부(220)는 자판 배열을 구성하고 있는 글쇠들 중에서, 보조 입력 장치(100)로부터 수신된 입력 좌표에 대응되게 위치하는 글쇠를 선택할 수 있다. If the auxiliary input device 100 is any one of a touch pad, an optical pointer, a joystick, and a line-of-sight monitor, the AAC control unit 220 is selected from the auxiliary input devices 100 among the keys constituting the keyboard layout. It is possible to select a key positioned to correspond to the received input coordinates.

만약, 보조 입력 장치(100)가 스위치인 경우, AAC 제어부(220)는 자판 배열에 따라 배치된 글쇠들에 대하여 순차적으로 포커스(focus)를 이동시키는 중, 보조 입력 장치(100)로부터 선택 신호가 수신된 시점에 포커스가 위치하는 글쇠를 선택할 수 있다. 여기서, 포커스는 스캐닝(scanning) 과정에서 복수 개의 기호들 중 사용자에 의해 선택될 수 있는 기호를 가리키는 지시자(indicator)이다.If the auxiliary input device 100 is a switch, the AAC control unit 220 sequentially selects a focus signal from the auxiliary input device 100 while sequentially moving focus with respect to the keys arranged according to the keyboard arrangement. You can select the key where the focus is placed at the time of receipt. Here, the focus is an indicator indicating a symbol that can be selected by a user among a plurality of symbols in the scanning process.

AAC 제어부(220)는 선택된 글쇠의 종류에 따라, 사용자가 다음 선택할 수 있는 글쇠의 색상을 변경하여 출력할 수 있다. 예를 들어, 선택된 글쇠가 한글 모음에 해당되는 경우, AAC 제어부(220)는 자판 배열에 따라 출력된 글쇠들 중 한글 자음에 해당되는 글쇠의 색상을 변경하여 출력할 수 있다. 이와 다르게, 선택된 글쇠가 한글 자음에 해당되는 경우, AAC 제어부(220)는 자판 배열에 따라 출력된 글쇠들 중 한글 모음에 해당되는 글쇠, 마침표, 물음표 및 느낌표에 해당되는 글쇠의 색상을 변경하여 출력할 수도 있다.The AAC control unit 220 may change and output the color of the next user-selectable key according to the type of the selected key. For example, when the selected key corresponds to a Korean vowel, the AAC control unit 220 may change the color of the key corresponding to the Hangul consonant among the outputted keys according to the keyboard layout and output the text. Alternatively, when the selected key corresponds to a Hangul consonant, the AAC control unit 220 changes the color of the key corresponding to the Korean vowel, period, question mark, and exclamation mark among the outputted fonts according to the keyboard layout. You may.

그리고, AAC 제어부(220)는 텍스트 박스에 출력된 기호(즉, 사용자에 의해 완성 중인 단어 또는 문장)를 저장할 수 있다. 구체적으로, AAC 제어부(220)는 보조 입력 장치(100)로부터 수신된 정보를 기초로 글쇠가 선택되면, 선택된 기호를 큐(queue)에 삽입(enqueue)할 수 있다. 여기서, 큐(queue)는 선입 선출(First-In, First-Out) 특성을 가지는 데이터 구조(data structure)이다.In addition, the AAC control unit 220 may store symbols (ie, words or sentences being completed by the user) output in the text box. Specifically, when the key is selected based on the information received from the auxiliary input device 100, the AAC control unit 220 may enqueue the selected symbol into the queue. Here, the queue is a data structure having first-in and first-out characteristics.

다음 구성으로, 부가기능 관리부(225)는 보완 대체 의사소통 과정에서 제공될 수 있는 부가적인 기능을 관리할 수 있다.With the following configuration, the additional function management unit 225 may manage additional functions that may be provided in a complementary and alternative communication process.

부가기능 관리부(225)는 맞춤법 점검을 수행할 수 있다. 구체적으로, 부가기능 관리부(225)는 내장된 맞춤법 사전을 기초로 텍스트 박스에 출력 중인 기호들로 구성된 문자열 내에서 맞춤법이 틀린 기호를 식별할 수 있다. 그리고, 부가기능 관리부(225)는 텍스트 박스에 출력 중인 기호들 중 맞춤법이 틀린 기호의 색상을 변경하여 출력할 수 있다. The add-on management unit 225 may perform a spell check. Specifically, the add-on management unit 225 may identify a misspelled symbol in a string composed of symbols being output to a text box based on a built-in spelling dictionary. In addition, the additional function management unit 225 may change the color of a misspelled symbol among symbols being displayed in the text box and output the changed color.

이와 다르게, 부가기능 관리부(225)는 텍스트 박스에 출력 중인 기호들로 구성된 문자열을 의사소통 지원 서버(300)에 전송할 수 있다. 부가기능 관리부(225)는 의사소통 지원 서버(300)로부터 맞춤법 검사 결과를 수신할 수 있다. 그리고, 부가 기능 관리부(225)는 수신된 맞춤법 검사 결과를 기초로, 텍스트 박스에 출력 중인 기호들 중 맞춤법이 틀린 기호의 색상을 변경하여 출력할 수도 있다.Alternatively, the add-on management unit 225 may transmit a string composed of symbols being displayed in the text box to the communication support server 300. The add-on management unit 225 may receive a spelling test result from the communication support server 300. In addition, the additional function management unit 225 may change the color of a misspelled symbol among symbols being displayed in the text box and output the result based on the received spell check result.

부가기능 관리부(225)는 TTS(Text To Speech)를 수행할 수 있다. 구체적으로, 부가기능 관리부(225)는 내장된 TTS 라이브러리(library)를 이용하여, AAC 제어부(220)에 의해 선택된 글쇠에 대응되는 기호의 소리를 출력할 수 있다. 또는, 부가기능 관리부(225)는 TTS 라이브러리를 이용하여, 보조 입력 장치(100)로부터 입력 완료가 수신되면 텍스트 박스에 출력된 기호들로 구성된 단어 또는 문장을 소리로 출력할 수 있다.The add-on management unit 225 may perform text to speech (TTS). Specifically, the additional function management unit 225 may output a sound of a symbol corresponding to a key selected by the AAC control unit 220 using the built-in TTS library. Alternatively, the supplementary function management unit 225 may output a word or sentence composed of symbols output in a text box as a sound when input completion is received from the auxiliary input device 100 using the TTS library.

다음 구성으로, 입력 완료 처리부(230)는 보조 입력 장치(100)로부터 입력 완료가 수신되면, 텍스트 박스에 출력된 기호(즉, 완성된 단어 또는 문장)를 입력 대상 애플리케이션에 전달할 수 있다. With the following configuration, when input completion is received from the auxiliary input device 100, the input completion processing unit 230 may deliver a symbol (ie, a completed word or sentence) output to a text box to an input target application.

구체적으로, 입력 완료 처리부(230)는 보조 입력 장치(100)로부터 입력 완료가 수신되었는지 판단할 수 있다. 입력 완료 처리부(230)는 입력 완료가 수신되면, AAC 제어부(220)에 의해 기호가 삽입된 큐를 식별할 수 있다. 입력 완료 처리부(230)는 식별된 큐가 빌 때(empty)까지, 큐에 삽입된 기호를 하나씩 추출(dequeue)하여, 입력 대상 애플리케이션의 메시지 입력 큐(message input queue)에 삽입할 수 있다. 여기서, 메시지 입력 큐는 메시지 주도형(message-driven)으로 동작하는 운영체제(OS)에서 입력에 관한 이벤트가 발생된 경우, 발생된 이벤트에 관한 메시지를 입력 대상 애플리케이션에 전달하기 위하여 할당해 놓은 큐이다.Specifically, the input completion processing unit 230 may determine whether input completion is received from the auxiliary input device 100. When the input completion processing unit 230 receives the input completion, the AAC control unit 220 may identify the queue in which the symbol is inserted. The input completion processing unit 230 may dequeue the symbols inserted in the queue one by one until the identified queue is empty, and insert them into the message input queue of the input target application. Here, the message input queue is a queue allocated to deliver a message on the generated event to an input target application when an event related to input occurs in an operating system (OS) operating in a message-driven manner.

예를 들어, 운영체제(OS)가 마이크로소프트(Microsoft) 사의 윈도우즈(windows)에 해당되는 경우, 입력 완료 처리부(230)는 입력 대상 애플리케이션의 메시지 입력 큐에 키 입력 메시지(WM_KEYDOWN)를 삽입할 수 있다. 이 경우, 키 입력 메시지는 큐로부터 추출된 기호에 대응되는 가상 키 코드(virtual-key code)를 워드 파라미터(wParam)로 가지고, 입력된 기호의 반복 횟수, 해당 기호의 입력 전 상태 등에 관한 상태 정보를 롱 파라미터(lParam)로 가질 수 있다.For example, when the operating system (OS) corresponds to Windows of Microsoft, the input completion processing unit 230 may insert a key input message (WM_KEYDOWN) into the message input queue of the input target application. . In this case, the key input message has a virtual key code corresponding to the symbol extracted from the queue as a word parameter (wParam), and information about the number of repetitions of the input symbol, the status before the input of the symbol, etc. Can have a long parameter (lParam).

이하, 상술한 바와 같은 의사소통 장치(200)의 논리적 구성을 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명한다.Hereinafter, hardware for implementing a logical configuration of the communication device 200 as described above will be described in more detail.

도 6은 본 발명의 일 Figure 6 is one of the present invention 실시예에Example 따른 의사소통 장치의 하드웨어 구성도이다. It is a hardware configuration diagram of the communication device.

도 6에 도시된 바와 같이, 의사소통 장치(200)는 프로세서(Processor, 250), 메모리(Memory, 255), 송수신기(Transceiver, 260), 입출력장치(Input/output device, 265) 및 데이터 버스(Bus, 270) 및 스토리지(Storage, 275)를 포함하여 구성될 수 있다. 6, the communication device 200 includes a processor (Processor, 250), a memory (Memory, 255), a transceiver (Transceiver, 260), an input/output device (265) and a data bus ( Bus, 270) and storage (Storage, 275).

프로세서(250)는 메모리(255)에 상주된 보완 대체 의사소통(AAC) 방법이 구현된 소프트웨어(280a)에 따른 명령어를 기초로, 보완 대체 의사소통 방법과 관련된 동작 및 기능을 구현할 수 있다. 메모리(255)에는 보완 대체 의사소통 방법이 구현된 소프트웨어(280a)가 상주(loading)될 수 있다. 송수신기(260)는 보조 입력 장치(100) 또는 의사소통 지원 서버(300)와 데이터를 송수신할 수 있다. 입출력장치(265)는 보완 대체 의사소통 방법의 수행에 필요한 데이터를 입력 받고, 입력된 기호를 출력할 수 있다. 데이터 버스(270)는 프로세서(250), 메모리(255), 송수신기(260), 입출력장치(265) 및 스토리지(275)와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.The processor 250 may implement operations and functions related to the complementary alternative communication method based on the instructions according to the software 280a in which the supplemental alternative communication (AAC) method resident in the memory 255 is implemented. In the memory 255, a software 280a in which a complementary alternative communication method is implemented may be loaded. The transceiver 260 may transmit and receive data to and from the auxiliary input device 100 or the communication support server 300. The input/output device 265 may receive data necessary for performing the complementary alternative communication method, and output the input symbols. The data bus 270 is connected to the processor 250, the memory 255, the transceiver 260, the input/output device 265, and the storage 275, so that each component communicates with each other to transfer data to each other. Can play a role.

스토리지(275)는 보완 대체 의사소통 방법이 구현된 소프트웨어(280a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(275)는 보완 대체 의사소통 방법이 구현된 소프트웨어(280b)를 저장할 수 있다. 또한, 스토리지(275)는 보험 추천 방법의 수행에 필요한 데이터베이스(285)를 저장할 수 있다. 여기서, 데이터베이스(285)에는 등록된 자판 배열이 저장될 수 있으나, 이에 한정되는 것은 아니다.The storage 275 may store an application programming interface (API), a library file, and a resource file required for the execution of the software 280a in which the complementary alternative communication method is implemented. The storage 275 may store the software 280b in which the complementary alternative communication method is implemented. Further, the storage 275 may store a database 285 necessary for performing the insurance recommendation method. Here, the registered keyboard layout may be stored in the database 285, but is not limited thereto.

메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 보완 대체 의사소통 방법을 구현하기 위한 소프트웨어(280a, 280b)는 사용자의 계정에 대응되어 사전에 등록된 자판 배열을 불러(loading)오는 단계; 불러온 자판 배열에 따라 가상의 글쇠(key)들을 구성하여 출력하고, 연결된 보조 입력 장치(100)로부터 수신된 정보를 기초로, 상기 글쇠들 중 어느 하나를 선택하는 단계; 상기 선택된 글쇠에 대응되는 기호를 텍스트 박스에 출력하는 단계; 및 보조 입력 장치(100)로부터 입력 완료가 수신되기 전까지 텍스트 박스에 출력된 기호의 수정을 허용하고, 상기 입력 완료가 수신되면 텍스트 박스에 출력된 기호를 사전에 지정된 애플리케이션(application)에 전달하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.The software 280a, 280b for implementing a complementary alternative communication method resident in the memory 255 or stored in the storage 275 includes loading a keyboard layout registered in advance corresponding to a user's account; Configuring and outputting virtual keys according to the loaded keyboard layout, and selecting any one of the keys based on information received from the connected auxiliary input device 100; Outputting a symbol corresponding to the selected key to a text box; And allowing modification of the symbol output to the text box until input completion is received from the auxiliary input device 100, and when the input completion is received, passing the symbol output to the text box to a pre-designated application. In order to execute, it can be a computer program recorded on a recording medium.

보다 구체적으로, 프로세서(250)는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리(255)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기(260)는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치(265)는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력 장치 및 액정표시장치(Liquid Crystal Display, LCD), 발광 다이오드(Light Emitting Diode, LED), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다. More specifically, the processor 250 may include an application-specific integrated circuit (ASIC), other chipsets, logic circuits, and/or data processing devices. The memory 255 may include read-only memory (ROM), random access memory (RAM), flash memory, a memory card, a storage medium, and/or other storage devices. The transceiver 260 may include a baseband circuit for processing wired and wireless signals. The input/output device 265 includes an input device such as a keyboard, a mouse, and/or a joystick, and a liquid crystal display (LCD), a light emitting diode (LED), and an organic device. It may include a printing device such as a printer, a plotter, and the like, an image output device such as an organic LED (OLED) and/or an active matrix OLED (AMOLED).

본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리(255)에 상주되고, 프로세서(250)에 의해 실행될 수 있다. 메모리(255)는 프로세서(250)의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서(250)와 연결될 수 있다.When the embodiment included in the present specification is implemented in software, the above-described method may be implemented as a module (process, function, etc.) performing the above-described function. The module resides in the memory 255 and can be executed by the processor 250. The memory 255 may be internal or external to the processor 250, and may be connected to the processor 250 by various well-known means.

도 6에 도시된 각 구성요소는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.Each component illustrated in FIG. 6 may be implemented by various means, for example, hardware, firmware, software, or a combination thereof. For implementation by hardware, one embodiment of the present invention includes one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), FPGAs ( Field Programmable Gate Arrays), processors, controllers, microcontrollers, microprocessors, and the like.

또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, in the case of implementation by firmware or software, an embodiment of the present invention is implemented in the form of a module, procedure, function, etc. that performs the functions or operations described above, and is recorded in a record carrier readable through various computer means. Can be recorded. Here, the recording medium may include program instructions, data files, data structures, or the like, alone or in combination. The program instructions recorded on the recording medium may be specially designed and configured for the present invention, or may be known and available to those skilled in computer software. For example, recording media include magnetic media such as hard disks, floppy disks and magnetic tapes (Magnetic Media), compact disk read only memory (CD-ROM), optical media such as DVD (Digital Video Disk), and optical media. It includes a magneto-optical media such as a disk (Floptical Disk), and a hardware device specially configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions may include high-level language code that can be executed by a computer using an interpreter, etc., as well as machine language codes made by a compiler. Such a hardware device can be configured to operate as one or more software to perform the operation of the present invention, and vice versa.

이하, 상술한 바와 같은 보완 대체 의사소통 방법에 대하여 구체적으로 설명하기로 한다.Hereinafter, the complementary alternative communication method as described above will be described in detail.

도 7은 본 발명의 일 Figure 7 is one of the present invention 실시예에Example 따라 의사소통 장치가 보완 대체 의사소통 방법을 수행하는 과정을 나타낸 Accordingly, the communication device represents the process of performing complementary alternative communication methods. 순서도이다Is a flow chart ..

도 7을 참조하면, 의사소통 장치(200)는 기존에 등록된 자판 배열을 로딩할 수 있다(S100). 구체적으로, 의사소통 장치(200)는 사용자의 계정에 대응하여 데이터베이스에 등록된 복수 개의 자판 배열들 중에서, 입력 대상 애플리케이션의 종류에 따라 하나의 자판 배열을 결정할 수 있다. 그리고, 의사소통 장치(200)는 결정된 자판 배열을 로딩할 수 있다.Referring to FIG. 7, the communication device 200 may load an existing registered keyboard layout (S100). Specifically, the communication device 200 may determine one keyboard layout from among a plurality of keyboard arrangements registered in the database in response to a user's account. Then, the communication device 200 may load the determined keyboard layout.

의사소통 장치(200)는 로딩된 배열의 자판에 따라 가상의 글쇠를 구성하여 출력할 수 있다(S200). The communication device 200 may configure and output a virtual key according to the keyboard of the loaded array (S200).

의사소통 장치(200)는 보조 입력 장치(100)로부터 수신된 정보를 기초로, 자판 배열을 구성하고 있는 글쇠들 중 어느 하나를 선택할 수 있다(S300). 구체적으로, 보조 입력 장치(100)가 터치 패드, 광 포인터, 조이스틱, 및 시선 추적 모니터 중 어느 하나인 경우, 의사소통 장치(200)는 자판 배열을 구성하고 있는 글쇠들 중에서, 보조 입력 장치(100)로부터 수신된 입력 좌표에 대응되게 위치하는 글쇠를 선택할 수 있다. 이와 다르게, 보조 입력 장치(100)가 스위치인 경우, 의사소통 장치(200)는 자판 배열에 따라 배치된 글쇠들에 대하여 순차적으로 포커스(focus)를 이동시키는 중, 보조 입력 장치(100)로부터 선택 신호가 수신된 시점에 포커스가 위치하는 글쇠를 선택할 수 있다.The communication device 200 may select any one of the pieces constituting the keyboard layout based on the information received from the auxiliary input device 100 (S300). Specifically, when the auxiliary input device 100 is any one of a touch pad, an optical pointer, a joystick, and a line-of-sight monitor, the communication device 200 includes, among the brackets constituting the keyboard layout, the auxiliary input device 100 ) May select a key positioned corresponding to the input coordinate received from. Alternatively, when the auxiliary input device 100 is a switch, the communication device 200 selects from the auxiliary input device 100 while sequentially moving focus with respect to the keys arranged according to the arrangement of the keyboard You can select the key on which the focus is placed at the time the signal is received.

의사소통 장치(200)는 선택된 글쇠에 대응하는 기호를 텍스트 박스에 출력할 수 있다. 그리고, 의사소통 장치(200)는 텍스트 박스에 출력된 기호(즉, 사용자에 의해 완성 중인 단어 또는 문장)를 저장할 수 있다(S400). The communication device 200 may output a symbol corresponding to the selected key in the text box. Then, the communication device 200 may store the symbol (ie, the word or sentence being completed by the user) output in the text box (S400).

의사소통 장치(200)는 보조 입력 장치(100)로부터 입력 완료가 수신되었는지 판단할 수 있다(S500). 판단 결과, 보조 입력 장치(100)로부터 입력 완료가 아직 수신되지 않은 경우, 의사소통 장치(100)는 텍스트 박스에 출력된 기호의 수정을 허용할 수 있다.The communication device 200 may determine whether input completion is received from the auxiliary input device 100 in operation S500. As a result of the determination, if input completion has not yet been received from the auxiliary input device 100, the communication device 100 may allow modification of the symbol output in the text box.

판단 결과, 보조 입력 장치(100)로부터 입력 완료가 수신된 경우, 텍스트 박스에 출력된 기호(즉, 완성된 단어 또는 문장)를 입력 대상 애플리케이션에 전달할 수 있다(S600). 기호를 입력 대상 애플리케이션에 전달하는 과정에 대해서는 도 8을 참조하여 설명하기로 한다.As a result of the determination, when input completion is received from the auxiliary input device 100, a symbol (ie, a completed word or sentence) output in a text box may be transmitted to an input target application (S600 ). The process of passing the symbol to the input target application will be described with reference to FIG. 8.

도 8은 본 발명의 일 Figure 8 is one of the present invention 실시예에Example 따라 기호를 입력 대상 애플리케이션에 전달하는 과정을 나타낸 Follows the process of passing the symbol to the input target application 순서도이다Is a flow chart ..

도 8을 참조하면, 의사소통 장치(200)는 기호가 삽입된 큐가 비었는지(empty) 판단할 수 있다(S610). 판단 결과, 큐가 비었다면, 의사소통 장치(200)는 이하의 단계를 수행하지 않고 종료한다.Referring to FIG. 8, the communication device 200 may determine whether a queue in which a symbol is inserted is empty (S610). As a result of the determination, if the queue is empty, the communication device 200 ends without performing the following steps.

판단 결과, 큐가 비어있지 않다면, 의사소통 장치(200)는 큐로부터 기호를 하나씩 추출할 수 있다(S620). 의사소통 장치(200)는 추출된 기호를 입력 대상 애플리케이션의 메시지 입력 큐에 삽입할 수 있다(S630). As a result of the determination, if the queue is not empty, the communication device 200 may extract symbols one by one from the queue (S620). The communication device 200 may insert the extracted symbol into the message input queue of the input target application (S630).

추출된 기호를 입력 대상 애플리케이션의 메시지 입력 큐에 삽입한 이후, 의사소통 장치(200)는 큐가 비었는지 다시 판단할 수 있다(S610).After inserting the extracted symbol into the message input queue of the input target application, the communication device 200 may determine whether the queue is empty (S610).

이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.As described above, in the present specification and drawings, preferred embodiments of the present invention have been disclosed, but it is possible in the technical field to which the present invention pertains that other modified examples based on the technical spirit of the present invention may be implemented in addition to the embodiments disclosed herein. It is obvious to those with ordinary knowledge. In addition, although specific terms are used in the present specification and drawings, they are merely used in a general sense to easily describe the technical contents of the present invention and to understand the present invention, and are not intended to limit the scope of the present invention. Therefore, the above detailed description should not be construed as limiting in all respects and should be considered illustrative. The scope of the invention should be selected by rational interpretation of the appended claims, and all changes within the equivalent scope of the invention are included in the scope of the invention.

아울러, 본 발명에 따른 장치나 단말은 하나 이상의 프로세서로 하여금 앞서 설명한 기능들과 프로세스를 수행하도록 하는 명령에 의하여 구동될 수 있다. 예를 들어 그러한 명령으로는, 예컨대 JavaScript나 ECMAScript 명령 등의 스크립트 명령과 같은 해석되는 명령이나 실행 가능한 코드 혹은 컴퓨터로 판독 가능한 매체에 저장되는 기타의 명령이 포함될 수 있다. 나아가 본 발명에 따른 장치는 서버 팜(Server Farm)과 같이 네트워크에 걸쳐서 분산형으로 구현될 수 있으며, 혹은 단일의 컴퓨터 장치에서 구현될 수도 있다.In addition, the device or terminal according to the present invention can be driven by instructions that cause one or more processors to perform the functions and processes described above. For example, such instructions may include interpreted instructions such as script instructions such as JavaScript or ECMAScript instructions, executable code, or other instructions stored on a computer-readable medium. Furthermore, the device according to the present invention may be implemented in a distributed manner over a network, such as a server farm, or may be implemented in a single computer device.

또한, 본 발명에 따른 장치에 탑재되고 본 발명에 따른 방법을 실행하는 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일 되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.In addition, a computer program (also known as a program, software, software application, script or code) mounted on the device according to the present invention and executing the method according to the present invention includes a compiled or interpreted language or a priori or procedural language. It can be written in any form of a programming language, and can be deployed in any form, including standalone programs or modules, components, subroutines, or other units suitable for use in a computer environment. Computer programs do not necessarily correspond to files in the file system. The program is in a single file provided to the requested program, or in multiple interactive files (e.g., one or more modules, files storing subprograms or parts of code), or part of a file holding other programs or data (Eg, one or more scripts stored in a markup language document). The computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.

아울러, 본 발명에 따른 실시예를 설명하는데 있어서, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.In addition, in describing the embodiment according to the present invention, operations are depicted in the drawings in a specific order, but it is necessary to perform such operations in the specific order or sequential order shown in order to obtain a desired result or all illustrated actions They should not be understood as to be performed. In certain cases, multitasking and parallel processing may be advantageous. Also, the separation of various system components of the above-described embodiments should not be understood as requiring such separation in all embodiments, and the described program components and systems are generally integrated together into a single software product or packaged in multiple software products. You should understand that you can.

보조 입력 장치: 100 의사소통 장치: 200
의사소통 지원 서버: 300
통신부: 205 입출력부: 210
자판 배열 관리부: 215 AAC 제어부: 220
부가기능 관리부: 225 입력 완료 처리부: 230
Auxiliary input device: 100 Communication device: 200
Communication Support Server: 300
Communication unit: 205 Input/output unit: 210
Keyboard layout management: 215 AAC control: 220
Additional function management unit: 225 Input complete processing unit: 230

Claims (10)

사용자의 계정에 대응되어 사전에 등록된 자판 배열을 불러(loading)오는 단계;
상기 불러온 자판 배열에 따라 가상의 글쇠(key)들을 구성하여 출력하고, 보완 대체 의사소통(augmentative and alternative communication)을 위해 연결된 보조 입력 장치로부터 수신된 정보를 기초로, 상기 글쇠들 중 어느 하나를 선택하는 단계;
상기 선택된 글쇠에 대응되는 기호를 텍스트 박스(text box)에 출력하는 단계; 및
상기 보조 입력 장치로부터 입력 완료가 수신되기 전까지 상기 텍스트 박스에 출력된 기호의 수정을 허용하고, 상기 입력 완료가 수신되면 상기 텍스트 박스에 출력된 기호를 사전에 결정된 애플리케이션(application)에 전달하는 단계를 포함하는, 보완 대체 의사소통 방법.
Loading a keyboard layout registered in advance corresponding to the user's account;
Based on the information received from the auxiliary input device connected for augmentative and alternative communication, the virtual keys are configured and output according to the loaded keyboard layout, and any one of the keys is selected. Selecting;
Outputting a symbol corresponding to the selected key to a text box; And
Allowing the modification of the symbol output to the text box until input completion is received from the auxiliary input device, and when the input completion is received, passing the symbol output to the text box to a predetermined application. Complementary alternative methods of communication, including.
제1 항에 있어서, 상기 애플리케이션은
운영체제(operating system)에 의해 관리되는 프로세스(process), 작업(task) 또는 쓰레드(thread)의 우선순위(priority)에 따라 결정되고,
상기 자판 배열을 불러오는 단계는
상기 사용자의 계정에 대응하여 등록된 복수 개의 자판 배열들 중에서, 상기 애플리케이션의 종류에 따라 결정된 하나의 자판 배열을 결정하는 것을 특징으로 하는, 보완 대체 의사소통 방법.
The method of claim 1, wherein the application
It is determined according to the priority of a process, task, or thread managed by an operating system,
The step of loading the keyboard layout is
Compensation alternative communication method, characterized in that for determining the one of the plurality of keyboard layouts registered in response to the user's account, determined according to the type of the application.
제1 항에 있어서, 상기 선택하는 단계는
상기 보조 입력 장치가 터치 패드(touch pad), 광 포인터(light beam pointer), 조이스틱(joysticks) 및 시선 추적 모니터(ocular eyegaze monitor) 중 어느 하나인 경우, 상기 보조 입력 장치로부터 수신된 입력 좌표에 대응되게 위치하는 글쇠를 선택하거나, 또는
상기 보조 입력 장치가 스위치(switch)인 경우, 상기 자판 배열에 따라 배치된 글쇠들에 대하여 순차적으로 포커스(focus)를 이동시키는 중, 상기 보조 입력 장치로부터 선택 신호가 수신된 시점에 포커스가 위치하는 글쇠를 선택하는 것을 특징으로 하는, 보완 대체 의사소통 방법.
The method of claim 1, wherein the selecting step
When the auxiliary input device is one of a touch pad, a light beam pointer, joysticks, and an ocular eyegaze monitor, it corresponds to input coordinates received from the auxiliary input device Select a key that is located very well, or
When the auxiliary input device is a switch, focus is positioned at a time when a selection signal is received from the auxiliary input device while sequentially moving focus with respect to the keys arranged according to the arrangement of the keyboard. Complementary alternative communication method, characterized by selecting a key.
제1 항에 있어서, 상기 자판 배열을 구성하는 각 글쇠는
한글 자음, 한글 모임, 한 글자 이상의 단어 및 복수 개의 단어로 구성된 문장 중 어느 하나에 대응되며,
상기 출력하는 단계는
상기 선택된 글쇠가 한글 모음에 해당되는 경우, 상기 자판 배열에 따라 출력된 글쇠들 중 한글 자음에 해당되는 글쇠의 색상을 변경하여 출력하는 것을 특징으로 하는, 보완 대체 의사소통 방법.
According to claim 1, Each key constituting the arrangement of the keyboard
Hangul consonants, Hangeul gatherings, one or more words, and a sentence consisting of multiple words.
The step of outputting
When the selected key corresponds to the Korean vowel, a complementary alternative communication method, characterized in that the color of the key corresponding to the Hangul consonant is changed and output among the outputted keys according to the keyboard layout.
제1 항에 있어서, 상기 출력하는 단계는
맞춤법 사전(spelling dictionary)을 기초로 상기 텍스트 박스에 출력 중인 기호들로 구성된 문자열 내에서 맞춤법이 틀린 기호를 식별하고, 상기 텍스트 박스에 출력 중인 기호들 중 상기 맞춤법이 틀린 기호의 색상을 변경하여 출력하는 것을 특징으로 하는, 보완 대체 의사소통 방법.
The method of claim 1, wherein the step of outputting
Based on a spelling dictionary, a misspelled symbol is identified in a string consisting of symbols being displayed in the text box, and the color of the misspelled symbol among the symbols being displayed in the text box is changed and output. Complementary alternative communication method, characterized in that.
제1 항에 있어서, 상기 출력하는 단계는
상기 선택된 글쇠에 대응되는 기호를 큐(queue)에 삽입(enqueue)하고,
상기 전달하는 단계는
상기 큐가 빌 때(empty)까지 상기 큐에 삽입된 기호를 하나씩 추출(dequeue)하여, 상기 애플리케이션의 메시지 입력 큐(message input queue)에 삽입하는 것을 특징으로 하는, 보완 대체 의사소통 방법.
The method of claim 1, wherein the step of outputting
Insert a symbol corresponding to the selected key into a queue, and
The step of delivering
Complementary alternative communication method, characterized in that by extracting the symbols inserted into the queue one by one until the queue is empty (empty) and inserting them into the message input queue of the application.
제6 항에 있어서, 상기 전달하는 단계는
상기 큐로부터 추출된 기호에 대응되는 가상 키 코드(virtual-key code)를 워드 파라미터(wParam)로 가지는 키 입력 메시지(WM_KEYDOWN)를 상기 메시지 입력 큐에 삽입하는 것을 특징으로 하는, 보완 대체 의사소통 방법.
The method of claim 6, wherein the step of delivering
Complementary alternative communication method, characterized in that a key input message (WM_KEYDOWN) having a virtual key code corresponding to the symbol extracted from the queue as a word parameter (wParam) is inserted into the message input queue. .
제1 항에 있어서, 상기 전달하는 단계는
상기 입력 완료가 수신되면, TTS(Text To Speech) 라이브러리(library)를 이용하여, 상기 텍스트 박스에 출력된 기호들로 구성된 단어 또는 문장을 소리로 출력하는 것을 특징으로 하는, 보완 대체 의사소통 방법.
The method of claim 1, wherein the step of delivering
When the input completion is received, a complementary alternative communication method characterized by outputting a word or sentence composed of symbols output to the text box as a sound using a text to speech (TTS) library.
제1 항에 있어서, 상기 애플리케이션은
웹 브라우저(web browser), 소셜 네트워크 서비스(Social Network Service), 또는 메신저(messenger) 중 어느 하나인 것을 특징으로 하는, 보완 대체 의사소통 방법.
The method of claim 1, wherein the application
Complementary alternative communication method, characterized in that any one of a web browser (web browser), a social network service (Social Network Service), or a messenger (messenger).
출력 장치(output device);
메모리(memory); 및
상기 메모리에 상주(loading)된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어,
상기 프로세서가 사용자의 계정에 대응되어 사전에 등록된 자판 배열을 불러(loading)오는 단계;
상기 프로세서가 상기 불러온 자판 배열에 따라 가상의 글쇠(key)들을 구성하여 상기 출력 장치를 통해 출력하고, 보완 대체 의사소통(augmentative and alternative communication)을 위해 연결된 보조 입력 장치로부터 수신된 정보를 기초로, 상기 글쇠들 중 어느 하나를 선택하는 단계;
상기 프로세서가 상기 선택된 글쇠에 대응되는 기호를 텍스트 박스(text box)에 출력하는 단계; 및
상기 프로세서가 상기 보조 입력 장치로부터 입력 완료가 수신되기 전까지 상기 텍스트 박스에 출력된 기호의 수정을 허용하고, 상기 입력 완료가 수신되면 상기 텍스트 박스에 출력된 기호를 사전에 결정된 애플리케이션(application)에 전달하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램.
An output device;
Memory; And
Combined with a computing device configured to include a processor (processor) for processing instructions resident (loading) in the memory,
Loading, by the processor, a keyboard layout registered in advance corresponding to a user's account;
The processor configures virtual keys according to the loaded keyboard layout and outputs them through the output device, based on information received from an auxiliary input device connected for augmentative and alternative communication. , Selecting any one of the brackets;
The processor outputting a symbol corresponding to the selected key to a text box; And
The processor permits modification of the symbol output to the text box until input completion is received from the auxiliary input device, and when the input completion is received, the symbol output to the text box is delivered to a predetermined application. A computer program recorded on a recording medium in order to execute the steps.
KR1020190002476A 2019-01-08 2019-01-08 Method for augmentative and alternative communication, and computer program recorded on record-medium for executing method therefor KR102149131B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190002476A KR102149131B1 (en) 2019-01-08 2019-01-08 Method for augmentative and alternative communication, and computer program recorded on record-medium for executing method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190002476A KR102149131B1 (en) 2019-01-08 2019-01-08 Method for augmentative and alternative communication, and computer program recorded on record-medium for executing method therefor

Publications (2)

Publication Number Publication Date
KR20200086175A true KR20200086175A (en) 2020-07-16
KR102149131B1 KR102149131B1 (en) 2020-08-27

Family

ID=71839810

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190002476A KR102149131B1 (en) 2019-01-08 2019-01-08 Method for augmentative and alternative communication, and computer program recorded on record-medium for executing method therefor

Country Status (1)

Country Link
KR (1) KR102149131B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114356108A (en) * 2022-01-13 2022-04-15 天津大学 High-grade language keyboard

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102526772B1 (en) 2021-11-26 2023-04-26 광운대학교 산학협력단 Method and apparatus of context-based augmentative and alternative communication
KR20240003870A (en) 2022-07-04 2024-01-11 정유성 Complementary and alternative communication application providing system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050092293A (en) 2004-03-15 2005-09-21 고진복 Augmentatice-alternatice communication terminal system for disabled person
KR20080004182A (en) * 2006-07-05 2008-01-09 동서대학교산학협력단 A system for aiding a mutual understanding of a speech handicapped person
KR20090104147A (en) * 2008-03-30 2009-10-06 은성훈 A method and aparatus for Hangul automata utilizing touch-sensitive input devices
KR20120088263A (en) * 2011-01-31 2012-08-08 고려대학교 산학협력단 Method and apparatus for aiding commnuication
KR20150109755A (en) * 2014-03-20 2015-10-02 엘지전자 주식회사 Mobile terminal and control method therof
KR20160101633A (en) * 2015-02-13 2016-08-25 (주)위자드웍스 Keyboard application and method for selecting keyboard using the same

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050092293A (en) 2004-03-15 2005-09-21 고진복 Augmentatice-alternatice communication terminal system for disabled person
KR20080004182A (en) * 2006-07-05 2008-01-09 동서대학교산학협력단 A system for aiding a mutual understanding of a speech handicapped person
KR20090104147A (en) * 2008-03-30 2009-10-06 은성훈 A method and aparatus for Hangul automata utilizing touch-sensitive input devices
KR20120088263A (en) * 2011-01-31 2012-08-08 고려대학교 산학협력단 Method and apparatus for aiding commnuication
KR20150109755A (en) * 2014-03-20 2015-10-02 엘지전자 주식회사 Mobile terminal and control method therof
KR20160101633A (en) * 2015-02-13 2016-08-25 (주)위자드웍스 Keyboard application and method for selecting keyboard using the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114356108A (en) * 2022-01-13 2022-04-15 天津大学 High-grade language keyboard

Also Published As

Publication number Publication date
KR102149131B1 (en) 2020-08-27

Similar Documents

Publication Publication Date Title
EP3408733B1 (en) Keyboard with a suggested search query region
TWI510965B (en) Input method editor integration
US7562007B2 (en) Method and apparatus for recognizing language input mode and method and apparatus for automatically switching language input modes using the same
US20170308290A1 (en) Iconographic suggestions within a keyboard
US9824085B2 (en) Personal language model for input method editor
US20170220360A1 (en) Proofing task pane
US20150106702A1 (en) Cross-Lingual Input Method Editor
US20120113011A1 (en) Ime text entry assistance
CN104509080A (en) Dynamic context-based language determination
WO2017184212A1 (en) Graphical keyboard application with integrated search
KR102149131B1 (en) Method for augmentative and alternative communication, and computer program recorded on record-medium for executing method therefor
WO2014189625A1 (en) Order-independent text input
Liao et al. Pen-top feedback for paper-based interfaces
US20140043239A1 (en) Single page soft input panels for larger character sets
WO2017184219A1 (en) Graphical keyboard with integrated search features
US8816966B2 (en) Touchscreen japanese character selection through sliding input
Elguera Paez et al. Elderly users and their main challenges usability with mobile applications: a systematic review
Nitschke et al. The effect of linguistic nativeness on structural priming in comprehension
van Esch et al. Writing across the world's languages: Deep internationalization for Gboard, the Google keyboard
KR20180102134A (en) Automatic translation by keyboard
US11899904B2 (en) Text input system with correction facility
WO2020263412A1 (en) Acceptance of expected text suggestions
Pramartha et al. Digital Humanities: Prototype Development for Balinese Script
KR20230053341A (en) Method for providing electronic transcription service using electronic transcription system
Oxley et al. Considerations for Chinese text input methods in the design of speech generating devices: a tutorial

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant