KR102244156B1 - 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법 - Google Patents

블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법 Download PDF

Info

Publication number
KR102244156B1
KR102244156B1 KR1020190126805A KR20190126805A KR102244156B1 KR 102244156 B1 KR102244156 B1 KR 102244156B1 KR 1020190126805 A KR1020190126805 A KR 1020190126805A KR 20190126805 A KR20190126805 A KR 20190126805A KR 102244156 B1 KR102244156 B1 KR 102244156B1
Authority
KR
South Korea
Prior art keywords
node
voice data
voice
mesh network
bluetooth mesh
Prior art date
Application number
KR1020190126805A
Other languages
English (en)
Other versions
KR20210043902A (ko
Inventor
김승현
Original Assignee
주식회사 아이포바인
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 아이포바인 filed Critical 주식회사 아이포바인
Priority to KR1020190126805A priority Critical patent/KR102244156B1/ko
Publication of KR20210043902A publication Critical patent/KR20210043902A/ko
Application granted granted Critical
Publication of KR102244156B1 publication Critical patent/KR102244156B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • 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/04Segmentation; Word boundary detection
    • 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/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Selective Calling Equipment (AREA)

Abstract

본 발명은 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법에 관한 것으로, 블루투스 메쉬 네트워크의 노드들 중 적어도 하나 이상의 노드에 음성 데이터가 입력되면, 상기 노드들 중 기 지정된 방식으로 특정된 하나의 특정 노드의 제어부가 상기 음성 데이터를 기 지정된 방식에 따라 복수의 음성 데이터로 분할하는 단계; 상기 분할된 복수의 음성 데이터를, 상기 특정 노드의 제어부가 상기 블루투스 메쉬 네트워크의 노드별로 분산 처리할 음성 데이터로 구분하는 단계; 상기 특정 노드의 제어부가 상기 구분된 음성 데이터를 상기 노드별로 전송하여 분산 처리하게 하고, 상기 각 노드별로 분산 처리된 음성 데이터를 기 지정된 방식으로 특정된 하나의 집중노드에 집중시켜 재구성하게 하는 단계; 및 상기 집중노드의 제어부가 상기 재구성된 음성 데이터에 대응하는 음성명령을 인식하여 명령을 실행하는 단계;를 포함한다.

Description

블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법{METHOD FOR PROCESSING VOICE COMMANDS USING BLUETOOTH MESH NETWORK}
본 발명은 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법에 관한 것으로, 보다 상세하게는 복수의 음성명령 처리 장치가 각기 노드로서 연결된 블루투스 메쉬 네트워크에 있어서, 상기 노드에 각기 연결된 외부기기들의 자원을 추가로 이용하여 상기 노드에 입력되는 음성명령을 처리할 수 있도록 하는, 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법에 관한 것이다.
기존에 가정이나 사무실 등에서는 적외선이나 무선신호 등을 이용하여 기기(예 : 가전기기, 전등)를 제어하기 위한 원격 제어장치(예 : 리모콘)가 많이 출시되었으나, 최근에는 음성명령을 이용하여 대상기기(예 : LED 전등, 형광등, 보일러, 공기 청정기 등)를 제어하기 위한 음성 인식 제어장치(예 : AI 스피커)가 많이 출시되고 있다.
이때 상기 제어장치에 음성 인식 기능이 없을 경우에는 복잡한 연산이 필요하지 않으므로 저사양의 씨피유(CPU)를 사용할 수 있으나, 상기 제어장치에 음성 인식 기능을 부가할 경우에는 고수준의 연산을 위해서 고사양의 씨피유(CPU)를 사용해야 된다.
이에 따라 상기 음성 인식 제어장치의 제작 단가가 증가하는 문제점이 있으며, 처리해야 할 음성명령의 개수가 증가하거나 음성명령의 길이가 늘어날수록 처리시간을 단축하기 위해서 더욱 고사양의 씨피유(CPU)를 사용해야 하기 때문에 제작 단가가 더욱 증가하게 되는 문제점이 있다. 이는 음성 인식 제어장치의 대중화에 걸림돌로 작용하고 있다.
따라서 음성 인식 제어장치의 제작 단가를 낮추면서 음성명령의 처리 성능은 더욱 향상시킬 수 있도록 하는 방법이 필요한 상황이다.
본 발명의 배경기술은 대한민국 등록특허 10-0984528호(2010.09.24. 등록, 분산형 음성 인식 시스템에서 음성 인식을 위한 시스템 및 방법)에 개시되어 있다.
본 발명의 일 측면에 따르면, 본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 복수의 음성명령 처리 장치가 각기 노드로서 연결된 블루투스 메쉬 네트워크에 있어서, 상기 노드에 각기 연결된 외부기기들의 자원을 추가로 이용하여 상기 노드에 입력되는 음성명령을 처리할 수 있도록 하는, 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법을 제공하는 데 그 목적이 있다.
본 발명의 일 측면에 따른 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법은 블루투스 메쉬 네트워크의 노드들 중 적어도 하나 이상의 노드에 음성 데이터가 입력되면, 상기 노드들 중 기 지정된 방식으로 특정된 하나의 특정 노드의 제어부가 상기 음성 데이터를 기 지정된 방식에 따라 복수의 음성 데이터로 분할하는 단계; 상기 분할된 복수의 음성 데이터를, 상기 특정 노드의 제어부가 상기 블루투스 메쉬 네트워크의 노드별로 분산 처리할 음성 데이터로 구분하는 단계; 상기 특정 노드의 제어부가 상기 구분된 음성 데이터를 상기 노드별로 전송하여 분산 처리하게 하고, 상기 각 노드별로 분산 처리된 음성 데이터를 기 지정된 방식으로 특정된 하나의 집중노드에 집중시켜 재구성하게 하는 단계; 및 상기 집중노드의 제어부가 상기 재구성된 음성 데이터에 대응하는 음성명령을 인식하여 명령을 실행하는 단계;를 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 특정 노드는, 음성 데이터를 동시에 입력받는 적어도 하나 이상의 노드들이 상기 음성 데이터의 진폭 피크 값과 음성 입력 시간을 서로 비교하여, 이 비교 결과에 따라 음성 입력 시간이 더 빠르거나 진폭 피크 값이 더 큰 노드가 특정되거나, 랜덤 방식으로 특정되는 것을 특징으로 한다.
본 발명에 있어서, 상기 각 노드별로 분산 처리된 음성 데이터를 기 지정된 방식으로 특정된 하나의 집중노드에 집중시켜 재구성하게 하는 단계에서, 상기 집중노드는, 특정 노드의 제어부가, 미리 생성된 성능 테이블을 참조하거나, 또는 실시간으로 '성능 질문 요청 메시지'를 다른 노드들에게 전송하고, 다른 노드들로부터'성능 회신 메시지'를 수신하여 상기 '성능 회신 메시지'에 포함된 정보에 기초하여 가장 성능이 우수한 노드를 찾아 집중노드로 선정하는 것을 특징으로 한다.
본 발명에 있어서, 상기 집중노드는, 분산 처리된 음성 데이터들을 전송한 다른 노드들의 물리 그룹 정보에 기초하여 사용자의 현재 위치를 추정하고, 상기 사용자의 현재 위치가 추정됨에 따라 사용자가 음성명령 입력 시 물리 그룹 정보를 생략하더라도 상기 추정한 사용자의 현재 위치에 대응하는 물리 그룹을 자동으로 인식하여 음성명령을 간소화시킬 수 있도록 구현된 것을 특징으로 한다.
본 발명에 있어서, 상기 블루투스 메쉬 네트워크의 노드들은, 음성명령 처리 장치 및 제어 대상기기가 하나로 통합되어 구현되는 것을 특징으로 한다.
본 발명에 있어서, 상기 음성 데이터를 기 지정된 방식에 따라 복수의 음성 데이터로 분할하는 단계에서, 상기 입력된 음성 데이터를 기 설정된 기준값에 맞춰 확대 또는 축소시키는 스케일링 과정을 수행하는 단계;를 더 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 음성 데이터가 기 지정된 방식으로 분할되면, 상기 특정 노드의 제어부가, 상기 분할된 음성 데이터의 개수가 기 지정된 개수 보다 적은지 체크하고, 상기 체크 결과, 상기 분할된 음성 데이터의 개수가 기 지정된 개수 이하인 경우, 상기 음성 데이터를 복수의 노드에 분산 처리하지 않고, 상기 특정 노드의 음성명령 처리 장치가 자체적으로 음성 분석 및 처리를 수행하도록 구현된 것을 특징으로 한다.
본 발명에 있어서, 상기 음성 데이터가 집중되면, 상기 집중노드의 제어부가, 상기 분할된 음성 데이터의 개수에 대응하는 명령 필수 정보가 포함되어 있는지 체크하고, 상기 체크 결과, 상기 음성 데이터의 개수에 대응하는 명령 필수 정보가 모두 포함되어 있을 경우 해당 음성 명령을 실행하고, 상기 음성 데이터의 개수에 대응하는 명령 필수 정보가 포함되어 있지 않을 경우 정보 출력부를 통해 부족한 명령 필수 정보가 포함된 음성명령의 재입력을 요청하도록 구현된 것을 특징으로 한다.
본 발명에 있어서, 상기 특정 노드의 제어부가 상기 블루투스 메쉬 네트워크의 노드별로 분산 처리할 음성 데이터로 구분하는 단계에서, 상기 특정 노드의 제어부는, 상기 노드들의 개수, 및 각 노드의 성능 또는 각 노드에 연결된 외부기기의 성능에 따라, 음성 데이터의 분산 여부, 음성 데이터의 분산 우선순위, 및 분산할 음성 데이터의 개수를 조정하는 것을 특징으로 한다.
본 발명에 있어서, 상기 특정 노드의 제어부가 상기 블루투스 메쉬 네트워크의 노드별로 분산 처리할 음성 데이터로 구분하기 위하여, 상기 특정 노드의 제어부는, 상기 노드의 개수, 각 노드 또는 노드에 연결된 외부기기의 성능 정보가 저장된 성능 테이블을 참조하는 것을 특징으로 한다.
본 발명에 있어서, 상기 성능 테이블은, 블루투스 메쉬 네트워크의 각 노드의 제어부가, '성능 질문 요청 메시지'를 다른 노드, 또는 노드에 연결된 외부기기에 전송하고, 상기 다른 노드 또는 노드에 연결된 외부기기가 회신하는'성능 회신 메시지'에 포함된 정보에 기초하여 생성하며, 상기 성능 회신 메시지는, CPU 클럭 정보, CPU 코어 개수 정보, 현재 CPU 사용률 정보, 및 현재 여유 메모리 정보 중 적어도 하나 이상을 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 블루투스 메쉬 네트워크의 각 노드의 제어부는, 음성 데이터 처리를 가장 빠르게 할 수 있는 노드, 또는 노드에 연결된 외부기기를 선정하기 위하여, 상기'성능 회신 메시지'의 정보뿐만 아니라, 도약 정보 및 거리 정보를 추가로 반영하는 것을 특징으로 한다.
본 발명에 있어서, 상기 블루투스 메쉬 네트워크의 노드는, 노드 자신이 제어할 대상기기의 위치에 따른 물리 그룹, 대상기기의 유형, 및 대상기기의 번호를 기반으로 분류되는 것을 특징으로 한다.
본 발명에 있어서, 상기 물리 그룹은, 사용자가 외부기기를 이용해 설정하거나, 노드 자체적으로 상기 블루투스 메쉬 네트워크의 다른 노드와 통신하여 거리 정보를 바탕으로 자동으로 설정할 수도 있도록 구현된 것을 특징으로 한다.
본 발명에 있어서, 상기 물리 그룹을, 노드 자체적으로 상기 블루투스 메쉬 네트워크의 다른 노드와 통신하여 거리 정보를 바탕으로 자동으로 설정하기 위하여, 이미 물리 그룹이 등록된 노드들이 설치되어 있는 상태에서 새로운 신규노드가 신규 설치될 경우, 상기 신규노드가 다른 노드에 물리 그룹의 등록을 요청하고, 각 물리 그룹의 노드가 자신과 상기 신규노드간의 거리를 추정하여 이 거리 정보를 집중노드에 전송하며, 상기 집중노드는 자신이 속한 물리 그룹 내의 다른 노드들과 다른 물리 그룹에 속한 노드들 간의 거리를 비교하여, 상기 신규노드가 어느 물리 그룹에 가장 근접한지 탐색하고, 상기 탐색 결과에 따라 상기 집중노드가 상기 신규노드에 가장 가까운 물리 그룹 정보를 판단하도록 구현된 것을 특징으로 한다.
본 발명의 일 측면에 따르면, 본 발명은 복수의 음성명령 처리 장치가 각기 노드로서 연결된 블루투스 메쉬 네트워크에 있어서, 상기 노드에 각기 연결된 외부기기들의 자원을 추가로 이용하여 상기 노드에 입력되는 음성명령을 처리할 수 있도록 함으로써, 상기 노드의 기능성 및 경제성을 향상시킬 수 있도록 한다.
도 1은 본 발명의 일 실시예에 따른 음성명령 처리 장치의 개략적인 구성을 보인 예시도.
도 2는 본 발명의 일 실시예에 따른 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법을 설명하기 위한 흐름도.
도 3은 본 발명의 일 실시예에 따른 블루투스 메쉬 네트워크의 개략적인 형태를 보인 예시도.
도 4는 상기 도 2에 있어서, 각 노드별 성능 정보를 저장하는 성능 테이블 생성 및 갱신 방법을 설명하기 위하여 보인 예시도.
도 5는 상기 도 2에 있어서, 입력된 하나의 음성 데이터를 복수의 음성 데이터를 분할하는 방법을 설명하기 위하여 보인 예시도.
도 6은 상기 도 2에 있어서, 음성 데이터를 분산 처리하기 위하여 분산할 노드의 개수에 대응하여 음성 데이터를 분할시켜 분산 처리한 후 다시 분산 처리된 음성 데이터를 집중시키는 과정을 설명하기 위하여 보인 예시도.
도 7은 상기 도 5에 있어서, 분산 처리를 위한 음성 데이터의 분할 시 수행되는 스케일링을 설명하기 위하여 보인 예시도.
도 8은 상기 도 2에 있어서, 블루투스 메쉬 네트워크의 노드들 중 지정된 특정 노드를 분산 처리에서 제외하는 방법을 설명하기 위하여 보인 예시도.
도 9는 상기 도 2에 있어서, 사용자의 현재 위치에 따라 음성명령에 포함할 수 있는 정보의 종류와 개수를 설명하기 위하여 보인 예시도.
도 10은 상기 도 2에 있어서, 제어할 대상기기의 그룹화와 음성명령의 매칭 방법을 설명하기 위하여 보인 예시도.
이하, 첨부된 도면을 참조하여 본 발명에 따른 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법의 일 실시예를 설명한다.
이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 음성명령 처리 장치의 개략적인 구성을 보인 예시도이다.
도 1에 도시된 바와 같이, 본 실시예에 따른 음성명령 처리 장치(100)는, 음성 입력부(110), 통신부(120), 제어부(130), 저장부(140), 정보 출력부(150), 및 대상기기 구동부(160)를 포함한다.
본 실시예에 따른 음성명령 처리 장치(100)는 복수개가 노드로서 연결되어 블루투스 메쉬 네트워크를 형성할 수 있다.
만약 본 실시에에서 상기 음성명령 처리 장치(100)가 상기 대상기기(예 : LED 전등, 형광등, 보일러, 공기 청정기 등) 자체에 통합될 경우 상기 대상기기 자체가 노드로서 블루투스 메쉬 네트워크에 연결될 수 있음에 유의한다.
상기 음성 입력부(110)는 마이크(MIC)를 포함하며, 외부로부터 유입되는 소리 예컨대, 사용자의 음성을 수신할 수 있다.
상기 통신부(120)는 본 실시예에 따른 음성명령 처리 장치간의 통신(또는 네트워크)을 연결하거나, 본 실시예에 따른 음성명령 처리 장치와 외부기기(예 : 스마트폰, 태블릿, PC 등)간의 통신을 연결할 수 있다.
여기서 상기 외부기기는 상기 음성명령 처리 장치가 아니지만, 프로세서(예 : CPU)를 구비하여 응용 프로그램의 설치가 가능하며, 또한 상기 음성명령 처리 장치로부터 전달되는 각종 데이터나 명령을 처리하거나 연산을 수행할 수 있는 장치를 의미한다. 다만 각 노드에 반드시 외부기기가 연결되는 것은 아니며, 모든 노드에 외부기기가 전혀 연결되지 않을 수도 있다.
예컨대 상기 통신부(120)는 무선 통신(예 : 블루투스, WiFi, NFC 등) 또는 유선 통신을 통해서 상기 통신을 연결할 수 있다.
이하 상기 통신(또는 네트워크)이 연결된 음성명령 처리 장치(100)(또는 음성명령 처리 장치가 통합된 대상기기)를 노드라고 기재할 수 있다.
상기 통신부(120)는 상기 음성 입력부(110)를 통해 입력된 음성(또는 음성명령)의 전체 또는 음성(또는 음성명령)의 일부를 분할하여 상기 통신이 연결된 음성명령 처리 장치(또는 노드)나 외부기기(예 : 스마트폰, 태블릿, PC 등)에 전송할 수 있다. 또한 상기 통신부(120)는 상기 통신이 연결된 음성명령 처리 장치(또는 노드)나 외부기기(예 : 스마트폰, 태블릿, PC 등)로부터 음성(또는 음성명령) 인식 결과를 전송받을 수 있다.
상기 제어부(130)는 음성명령 처리 장치(100)의 적어도 하나 이상의 다른 구성요소들의 제어 및 통신에 관한 연산이나 데이터 처리를 실행한다.
예컨대 상기 제어부(130)는 운영 체제 또는 응용 프로그램을 구동하여, 상기 제어부(130)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 또는 연산을 수행할 수 있다. 또한 상기 제어부(130)는 중앙처리장치, 어플리케이션 프로세서(AP), 또는 커뮤니케이션 프로세서(CP)) 중 하나 또는 그 이상을 포함할 수 있으며, 시스템 온 칩(SoC) 형태로 구현될 수도 있다.
상기 제어부(130)는 상기 음성 입력부(110)를 통해 입력되는 음성을 인식하여 음성명령을 처리한다. 여기서 음성을 인식하는 기술은 다양한 공지 기술이 있으므로, 본 실시예에서는 음성을 인식하는 기술 자체에 대한 설명은 생략한다.
상기 저장부(140)는 음성명령 처리 장치(100)에서 인식하여 처리할 적어도 하나 이상의 음성명령이 저장된다. 또한 상기 음성명령에 대응하여 제어(또는 구동)할 기기(즉, 대상기기)에 관련된 데이터(예 : 위치, ID, 제어를 위해 대상기기에 출력하는 신호)를 저장한다.
상기 저장부(140)는 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다.
상기 저장부(140)는 내장 메모리 또는 외장 메모리를 포함할 수 있다.
상기 저장부(140)는 소프트웨어 및/또는 프로그램(예 : 어플리케이션)을 저장할 수 있다. 여기서 상기 어플리케이션은 적어도 하나의 지정된 기능을 수행하기 위한 일련의 프로그램(또는 명령어(인스트럭션)) 집합으로서, 예컨대, 복수의 음성명령 처리 장치가 각기 노드로서 연결된 블루투스 메쉬 네트워크에 있어서, 상기 노드에 각기 연결된 외부기기들의 자원을 추가로 이용하여 상기 노드에 입력되는 음성명령을 처리(분산 처리)할 수 있도록 하는, 음성명령 분산 처리 어플리케이션 등을 포함할 수 있다.
상기 정보 출력부(150)는 상기 음성 입력부(110)를 통해서 음성(또는 음성명령)을 입력받거나, 상기 입력받은 음성(또는 음성명령)을 인식하거나, 또는 상기 음성(또는 음성명령)을 인식하여 처리할 경우, 상기 각 단계에 따른 정보(예 : 음성을 입력받은 정보, 음성 인식 상태 정보, 음성명령을 처리하여 대상기기를 구동한 결과 정보)를 사운드나 디스플레이 방식으로 출력할 수 있다. 이를 통해 사용자가 음성명령 처리 장치(100)의 동작 상태를 인지함으로써 음성명령이 제대로 처리되고 있는지 확인할 수 있다.
상기 대상기기 구동부(160)는, 상기 제어부(130)의 제어에 따라, 상기 음성(또는 음성명령)에 의해 제어할 대상기기(예 : LED 전등, 형광등, 보일러, 공기 청정기 등)를 제어하기 위하여 미리 지정된 제어신호(예 : 온/오프 스위칭 신호, 디밍 신호, 레벨 조절 신호 등)를 출력하여 해당 대상기기를 제어한다.
이하 상기 음성명령 처리 장치(100)가 블루투스 메쉬 네트워크를 이용하여 음성명령을 처리하는 방법에 대해서 설명한다.
예컨대 상기 블루투스 메쉬 네트워크는 블루투스 LE(Low Energy)를 사용하는 외부기기와 데이터 교류가 가능하다. 상기 외부기기들은 블루투스 메쉬 네트워크에 상시 접속 상태이며 언제든지 데이터의 교류가 가능하다. 이에 따라 각 노드(즉, 음성명령 처리 장치, 또는 음성명령 처리 장치가 통합된 대상기기)에서 수행해야 할 계산(즉, 음성인식 처리를 위한 연산)을 상기 외부기기에 이양하여 분산 처리할 수 있다.
이하 상기 외부기기에는 상기 노드(즉, 음성명령 처리 장치, 또는 음성명령 처리 장치가 통합된 대상기기)와 통신하여 음성인식을 위한 연산을 분산 처리할 수 있는 응용 프로그램(어플리케이션)이 설치된 것으로 가정하여 설명한다.
도 2는 본 발명의 일 실시예에 따른 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법을 설명하기 위한 흐름도이고, 도 3은 본 발명의 일 실시예에 따른 블루투스 메쉬 네트워크의 개략적인 형태를 보인 예시도이다.
이하 설명의 편의를 위하여, 상기 도 3에 도시된 블루투스 메쉬 네트워크에 연결된 복수의 노드 중 어느 하나의 노드(예 : A)에 음성(즉, 음성명령)이 입력되는 상황을 가정하여 설명한다.
참고로 본 실시예에서 상기 블루투스 메쉬 네트워크는 예시적으로 기재된 것이며 다른 실시예에서는 단지 무선 메쉬 네트워크일 수도 있다.
도 2를 참조하면, 본 실시예에 따른 음성명령 처리 장치(100)의 제어부(130)는, 음성 데이터(즉, 음성명령)이 입력되면(S101), 상기 음성 데이터를 기 지정된 방식(예 : 음소 단위, 음운 단위 등)으로 분할한다(S102)(도 5 참조).
예컨대 도 5에 도시된 바와 같이, 연속해서 입력된 하나의 음성 데이터를 기 지정된 방식에 따라 복수의 음성 데이터로 분할한다.
도 5는 상기 도 2에 있어서, 입력된 하나의 음성 데이터를 복수의 음성 데이터를 분할하는 방법을 설명하기 위하여 보인 예시도이고, 도 7은 상기 도 5에 있어서, 분산 처리를 위한 음성 데이터의 분할 시 수행되는 스케일링을 설명하기 위하여 보인 예시도이다.
도 7을 참조하면, 사용자가 입력하는 음성 데이터(즉, 음성명령)는 사용자에 따라 상대적으로 느리게 말할 수도 있고 빠르게 말할 수도 있기 때문에 음성 데이터(즉, 음성명령)의 길이(즉, 음성이 입력되는 시간)에도 차이가 발생한다.
이에 따라 상기 제어부(130)는 음성 데이터(즉, 음성명령)를 정확히 분석하거나 처리하기 위하여, 상기 입력된 음성 데이터(즉, 입력 음성)를 기 설정된 비교값(즉, 기준값)과 일치시키는 스케일링 과정(즉, 입력 음성을 기준값에 맞춰 확대 또는 축소 과정)을 수행한다.
이때 상기 스케일링 과정을 위한 스케일 팩터(scale factor)는 음성 데이터(즉, 음성명령)가 입력될 때마다(즉, 음성을 입력하는 사용자에 따라) 다르게 설정될 수 있다.
다시 도 2를 참조하면, 상기와 같이 하나의 음성 데이터(즉, 음성명령)가 기 지정된 방식으로 분할되면, 상기 제어부(130)는 상기 기 지정된 방식으로 분할된 음성 데이터의 개수가 기 지정된 값(개수) 보다 적은지 체크한다(S103).
예컨대 상기 분할된 음성 데이터의 개수가 기 지정된 값(개수) 이하인 경우에는 음성의 분석 및 처리에 많은 자원(즉, 씨피유 자원)을 사용하지 않고도 처리할 수 있음을 의미한다. 즉, 굳이 분산 처리를 하지 않더라도 상기 음성 데이터가 입력된 노드(예 : A) 자체에서 처리할 수도 있음을 의미한다.
상기 체크(S103) 결과, 상기 기 지정된 방식으로 분할된 음성 데이터의 개수가 기 지정된 값(개수) 이하이면(S103의 예), 상기 제어부(130)는 상기 음성 데이터를 입력받은 노드(예 : A) 자체에서 음성 분석 및 처리를 수행한다(S104).
이때 상기 제어부(130)는 상기 분할된 음성 데이터의 개수에 대응하는 명령 필수 정보가 포함되어 있는지 체크한다(S108).
예컨대 상기 명령 필수 정보는, 제어할 대상기기의 종류(또는 대상기기의 ID or 대상기기에 지정된 번호) 및 제어명령(예 : 온, 오프, 켜, 꺼 등)을 포함한다. 그리고 상기 음성 데이터의 개수는, 음성 데이터(즉, 음성명령)의 구체적인 정도(즉, 음성명령에 포함된 정보의 개수)에 따라 기 지정된 방식으로 분할된 음성 데이터의 개수(즉, 음성명령에 포함된 정보의 개수)를 의미한다. 가령, 사용자는 "형광등 꺼","형광등 B 꺼","복도의 형광등 모두 꺼"등으로(도 9의 (b) 참조), 음성 데이터(즉, 음성명령)에 포함된 정보의 개수가 다를 수 있다.
도 9는 상기 도 2에 있어서, 사용자의 현재 위치에 따라 음성명령에 포함할 수 있는 정보의 종류와 개수를 설명하기 위하여 보인 예시도로서, 사용자의 현재 위치가 서재인 경우, 서재에는 스탠드(D)와 형광등(E)만 있으므로, 사용자는 "형광등 꺼"와 같이 2개의 정보(예 : 형광등, 꺼)가 포함된 음성명령을 입력할 수 있다. 그러나 사용자의 현재 위치가 복도인 경우, 복도에는 2개의 형광등(F, G)과 스탠드(H)가 있으므로, 사용자는 "형광등 F 꺼"와 같이 3개의 정보(예 : 형광등, F, 꺼)가 포함된 음성명령을 입력해야 한다. 또한 사용자의 현재 위치가 복도이며 내 방의 형광등(C)을 제어하고자 할 경우, 사용자는 "내 방의 형광등 C 꺼"와 같이 4개의 정보(예 : 내 방, 형광등, c, 꺼)가 포함된 음성명령을 입력해야 하는 것이다.
따라서 상기 제어부(130)는 사용자가 하나만 있는 대상기기(예 : 오디오)를 제어하기 위하여, "오디오 꺼"와 같이, 2개의 정보(예 : 오디오, 꺼)가 포함된 음성명령을 입력할 경우, 상기 제어부(130)는 상기 입력된 음성명령에 명령 필수 정보가 모두 포함되어 있는 것으로 판단한다.
그러나 복수개가 있는 대상기기(예 : 형광등)를 제어할 경우에도 사용자가 "형광등 꺼"와 같이, 단지 2개의 정보(예 : 형광등, 꺼)가 포함된 음성명령을 입력할 경우, 상기 제어부(130)는 상기 음성명령에 명령 필수 정보가 포함되어 있지 않은 것으로 판단하는 것이다.
상기와 같이 음성 데이터의 개수에 대응하는 명령 필수 정보가 모두 포함되어 있을 경우(S108의 예), 상기 제어부(130)는 해당 음성 명령을 실행한다(S110). 즉, 대상기기 제어 신호를 출력한다.
그러나 음성 데이터의 개수에 대응하는 명령 필수 정보가 포함되어 있지 않을 경우(S108의 아니오), 상기 제어부(130)는 정보 출력부(150)를 통해 음성(즉, 부족한 명령 필수 정보가 포함된 음성명령) 재입력을 요청할 수 있다(S109).
한편 상기 체크(S103) 결과, 상기 분할된 음성 데이터의 개수가 기 지정된 값(개수) 보다 많으면(S103의 아니오), 상기 제어부(130)는 노드(예 : A) 자체, 또는 다른 노드(또는 외부기기)를 통해 처리할 음성 데이터를 구분한다(S105).
예컨대 노드(예 : A) 자체 및 다른 노드(또는 외부기기)의 개수가 6개인 경우 상기 음성 데이터를 6개로 구분하는 것이다(도 5, 도 6 참조).
이때 상기 분할되는 음성 데이터의 개수가 반드시 노드의 개수와 일치해야 하는 것은 아니며, 또한 각 노드별로 분산시키는 음성 데이터의 개수가 동일해야 하는 것도 아니다. 즉, 상기 제어부(130)는 각 노드(또는 노드에 연결된 외부기기)의 성능(즉, 씨피유 자원의 성능)에 따라, 음성 데이터의 분산 여부, 음성 데이터의 분산 우선순위, 및 분산할 음성 데이터의 개수를 조정할 수 있다.
가령, 도 8에 도시된 바와 같이, 블루투스 메쉬 네트워크의 노드들 중 분산 처리에서 일부 노드(예 : D)를 제외하고 분산 처리를 수행할 수도 있다.
이를 위해 상기 제어부(130)는 각 노드(또는 노드에 연결된 외부기기)별 성능 정보가 저장된 성능 테이블을 참조할 수 있다.
도 4는 상기 도 2에 있어서, 각 노드별 성능 정보를 저장하는 성능 테이블 생성 및 갱신 방법을 설명하기 위하여 보인 예시도로서, 도 4에 도시된 바와 같이, 블루투스 메쉬 네트워크의 각 노드는 기 지정된 주기에 따라, 각 노드들이 외부기기와 연결되어 있는지 여부 및 음성 데이터 처리를 가장 빠르게 할 수 있는 노드(또는 노드에 연결된 외부기기)를 선정하기 위하여 '성능 질문 요청 메시지'를 다른 노드(또는 노드에 연결된 외부기기)에 전송하고, 다른 노드(또는 노드에 연결된 외부기기)는 '성능 회신 메시지'를 회신한다.
이때 상기 성능 회신 메시지는, CPU 클럭 정보, CPU 코어 개수 정보, 현재 CPU 사용률 정보, 및 현재 여유 메모리 정보를 포함한다.
이에 따라 각 노드는 상기 수신된 '성능 회신 메시지'를 검토하여, 음성 데이터 처리를 가장 빠르게 할 수 있는 노드(또는 노드에 연결된 외부기기)를 선정한다.
이때 상기 음성 데이터 처리를 가장 빠르게 할 수 있는 노드(또는 노드에 연결된 외부기기)를 선정하기 위해 검토할 정보는, 수신된 각 노드(또는 노드에 연결된 외부기기)의'성능 회신 메시지'의 정보뿐만 아니라, 도약 정보(외부기기가 연결된 최종 노드까지 거치는 노드들의 개수) 및 거리 정보(외부기기가 연결된 노드까지의 물리적 거리)를 포함한다.
예컨대 상기 외부기기의 성능이 가장 좋다고 하더라도, 다수 노드를 거친 도약으로 인하여 데이터의 송수신 시간이 지연 되거나, 먼 거리로 인하여 전송되는 데이터의 품질 저하가 발생 한다면, 이는 전체적인 처리 시간의 증가 및 오작동의 원인이 된다. 이에 따라 이러한 처리 시간의 증가 및 오작동을 방지하기 위하여, 해당 노드(예 : A)는 '성능 회신 메시지' 와 '도약 정보' 및 '거리 정보'를 종합하여 점수를 산정하고(즉, 우선순위를 산출하고), 점수가 가장 높은(즉, 우선순위가 가장 높은) 노드(또는 노드에 연결된 외부기기)를 특정한 후, 해당 노드(또는 노드에 연결된 외부기기)에 음성 데이터의 분산 처리를 요청한다.
도 3을 참조하면, 노드 A의 음성 데이터가 태블릿(노드 D에 연결된 외부기기)에 전달되려면 A → B → D를 거치며, 이때 노드 B와 노드 D간의 거리는 30m 이므로, 송수신 시간 지연 및 데이터 품질 저하가 다소 예상된다.
또한 노드 A의 음성 데이터가 PC(노드 F에 연결된 외부기기)에 전달되려면 A → C → F를 거치며, 이때 노드 C와 노드 F의 거리는 50m이므로, 상기 태블릿 보다 더 많은 품질 저하가 예상된다.
이에 반해, 노드 A의 음성 데이터가 스마트폰(노드 E에 연결된 외부기기)에 전달되려면 A -> E를 거치며 이때 노드 A와 노드 E간의 거리는 3m이므로, 예상되는 시간지연 및 품질저하가 다른 외부기기보다 훨씬 낮다.
따라서 상기 노드 A는 분산 처리를 위해 우선순위가 가장 높은 노드(또는 외부기기)로 노드 E에 연결된 외부기기(스마트폰)을 선택할 수 있다. 다만 상기 분산 처리를 위해 선택하는 노드(또는 외부기기)는 우선순위에 따라 적어도 하나 이상 선택할 수 있음에 유의한다.
다시 도 2를 참조하면, 상기 제어부(130)는 상기와 같이 구분된 음성 데이터를 노드별로 전송하여(또는 선택된 특정 노드에 전송하여) 분산 처리하게 한다(S106).
예컨대 도 3을 참조하면, 노드 A가 노드 E만을 선택하였다고 가정할 경우, 노드 A는 음성 데이터와 데이터 처리 요청 메시지를 노드 E에 보내고, 노드 E는 자신에 연결된 외부기기(스마트폰)에 상기 전달받은 내용(음성 데이터, 데이터 처리 요청 메시지)을 전달한다. 이에 따라 상기 노드 E에 연결된 외부기기(스마트폰)는 수신된 음성 데이터의 노이즈 제거 작업과 음성 처리 작업을 실시하며, 처리가 완료된 결과 데이터(예 : 문자로 구성한 음성 처리 데이터)를 생성한다. 그리고 상기 노드 E에 연결된 외부기기(스마트폰)는 상기 결과 데이터(예 : 문자로 구성한 음성 처리 데이터)를 노드 E를 통해 노드 A로 전송한다. 이에 따라 노드 A는 수신된 결과 데이터(예 : 문자로 구성한 음성 처리 데이터)를 처리하여 해당하는 명령을 실행한다.
그리고 상기 제어부(130)는 상기 각 노드별로 분산 처리된 음성 데이터를 수신(또는 집중)하여 합성(또는 재구성)한다(S107).
도 6은 상기 도 2에 있어서, 음성 데이터를 분산 처리하기 위하여 분산할 노드의 개수에 대응하여 음성 데이터를 분할시켜 분산 처리한 후 다시 분산 처리된 음성 데이터를 집중시키는 과정을 설명하기 위하여 보인 예시도이다.
상기와 같이 분산 처리된 음성 데이터를 집중시켜 합성(또는 재구성)한 후, 상기 제어부(130)는 상기 분할된 음성 데이터의 개수에 대응하는 명령 필수 정보가 포함되어 있는지 체크한다(S108).
그리고 상기 음성 데이터의 개수에 대응하는 명령 필수 정보가 포함되어 있을 경우(S108의 예), 상기 제어부(130)는 해당 음성 명령을 실행하며(S110), 만약 음성 데이터의 개수에 대응하는 명령 필수 정보가 포함되어 있지 않을 경우(S108의 아니오), 상기 제어부(130)는 정보 출력부(150)를 통해 음성(즉, 부족한 명령 필수 정보가 포함된 음성명령) 재입력을 요청할 수 있다(S109).
상기와 같이 본 실시예에 따른 음성명령 처리 장치(100)는 음성 데이터를 분할한 개수에 기초하여, 많은 자원(즉, 씨피유 자원)을 사용하지 않고도 음성을 인식하여 처리할 수 있을 경우에는 상기 음성이 입력된 노드(예 : A) 자체에서 음성명령을 처리하고, 많은 자원을 사용해야 하는 경우에는 분산 처리를 통해 음성명령을 처리할 수 있다.
그러나 이에 한정하지 않고, 음성 데이터의 분할 개수에 관계없이 무조건 분산 처리를 통해 음성(즉, 음성명령)을 처리할 수도 있다.
한편 도 10은 상기 도 2에 있어서, 제어할 대상기기의 그룹화와 음성명령의 매칭 방법을 설명하기 위하여 보인 예시도로서, 도 9 및 도 10을 참조하여 제어할 대상기기에 매칭할 음성명령의 구성에 대해서 설명한다.
상술한 바와 같이 본 실시예에 따른 블루투스 메쉬 네트워크의 모든 노드는, 기본적으로 노드 자신이 제어할 대상기기의 물리 그룹(예 : 대상기기가 설치된 위치로서, 내 방, 서재, 복도 등)과 대상기기의 유형(예 : 스탠드, 형광등 등), 대상기기의 번호(예 : A ~ H)를 기반으로 분류된다.
참고로 상기 물리 그룹은 대상기기의 구매 시 사용자가 외부기기(예 : 스마트폰, 태블릿, PC 등)를 이용해 설정할 수 있으며, 또한 대상기기 자체적으로 다른 대상기기와 통신하여 거리 정보를 바탕으로 물리 그룹을 자동으로 설정할 수도 있다(도 10 참조).
그리고 상기 음성명령 처리 장치(100)가 대상기기(예 : LED 전등, 형광등, 보일러, 공기 청정기 등) 자체에 통합될 경우, 상기 대상기기 자체가 블루투스 메쉬 네트워크의 노드가 될 수 있음에 유의한다. 이 경우 상기 대상기기의 번호(예 : A ~ H)와 노드의 번호(예 : A ~ H)는 동일한 번호가 된다.
도 9의 (a) 및 도 10을 참조하면, 하나의 블루투스 메쉬 네트워크의 각 노드에서 제어할 대상기기(또는 노드)는 동일한 위치(물리 그룹)와 동일한 유형(예 : 스탠드, 형광등 등)의 대상기기들이 다수 존재할 수 있다. 따라서 사용자는 대상기기(또는 노드)의 개별 제어를 위하여, 도 9의 (b)에 도시된 바와 같이 대상기기(또는 노드)와 매칭되는 음성명령의 형태를 숙지하여야 한다.
예컨대 상기 음성명령의 형태는, 노드(또는 대상기기)의 호출부호(예 : 블루야), 대상기기 그룹의 기능(예 : 전등, 보일러, 공기 청정기, 오디오 등), 대상기기의 물리 그룹(예 : 내 방, 서재, 복도 등의 위치), 대상기기의 유형(예 : 스탠드, 형광등), 및 유형별 각 대상기기의 번호(예 : A ~ H), 및 제어명령(예 : 켜, 꺼, 온, 오프 등)을 포함한다.
가령'내 방'에 설치된 "형광등 B"를 오프시킨다고 가정할 경우 아래와 같은 형태로 음성(즉, 음성명령)을 입력할 수 있다.
음성명령 : "블루야" + "내 방" + "형광등" + "B" + "꺼"
그런데 사용자가 대상기기의 개별 제어를 위해서 모든 대상기기의 번호(또는 개별 노드의 값)를 숙지하는 것은 어려움이 있으며, 이러한 어려움을 해결하기 위해서 음성명령을 간소화시키는 방법이 필요하다.
이하 블루투스 메쉬 네트워크의 각 노드에서 음성명령을 인식하는 방법에 대해서 설명한다.
예컨대 사용자가 임의의 위치(예 : 내 방)에서 음성(즉, 음성명령)(예 : 블루야 내 방 형광등 B 꺼)을 입력할 경우, 상기 음성(즉, 음성명령)을 동시에 입력받는 각 노드(예 : A, B, C, F, G)는 해당 음성 데이터의 진폭 피크 값과 음성 입력 시간을 서로 비교하고, 이 비교 결과(예 : 음성 입력 시간이 더 빠르거나 진폭 피크 값이 더 큰 노드)에 기초하여 음성 처리를 위한 어느 하나의 단일 노드를 특정한다. 이때 상기 단일 노드는 랜덤 방식으로 특정할 수도 있다.
상기 특정된 단일 노드(예 : 노드 A)는 음성 데이터를 분할하여 다른 노드들에 분산 처리하도록 전달하고, 또한 상기 분산 처리된 음성 데이터를 집중(또는 재구성)할 집중 노드(예 : 노드 G)를 선정한다.
이때 상기 단일 노드(예 : 노드 A)는 상기 집중 노드(예 : 노드 G)의 선정을 위해서 미리 생성된 성능 테이블(도 4 참조)를 참조할 수 있으며, 또는 실시간으로 '성능 질문 요청 메시지'를 다른 노드들에게 전송하고, 다른 노드들로부터'성능 회신 메시지'를 수신하여 가장 성능이 우수한 노드(예 : 노드 G)를 찾아 집중 노드로 선정할 수 있다.
상기와 같이 선정된 집중노드(예 : 노드 G)는 각 노드들로부터 분산 처리된 음성 데이터를 집중시켜, 즉 음성 데이터를 재구성하여, 명령을 실행한다.
이때 상기 집중노드(예 : 노드 G)는 분산 처리된 음성 데이터들을 전송한 다른 노드들(즉, 사용자의 음성을 동시에 입력받은 노드들)의 물리 그룹에 의해 사용자의 현재 위치(물리 그룹)을 추정한다. 가령 상기 분산 처리된 음성 데이터들을 전송한 다른 노드들의 물리 그룹이 기 지정된 비율(예 : 80%) 이상 동일한 경우, 상기 집중노드(예 : 노드 G)는 해당 물리 그룹을 사용자의 현재 위치(물리 그룹)로 추정한다.
상기와 같이 사용자의 현재 위치(물리 그룹)가 추정됨에 따라 사용자가 음성(즉, 음성명령) 입력 시 물리 그룹(예 : 내 방, 서재, 복도 등의 위치)을 생략할 수 있게 되어(사용자의 현재 위치에 대응하는 물리 그룹을 자동으로 인식할 수 있게 되어) 음성명령을 간소화시킬 수 있다.
가령 사용자가 물리그룹에 대한 정보를 포함하지 않고 "블루야, 형광등 꺼"라는 음성(즉, 음성명령)을 입력할 경우, 상기 집중노드(예 : 노드 G)는 사용자의 현재 위치를 추정하여(예 : 내 방), "내 방의 형광등 꺼"라고 인식하며, 또한 "내 방"에 있는 모든 형광등(B, C)을 구분하지 않고 통합 인식한다. 즉, 대상기기의 유형만 특정되고 대상기기의 번호가 입력되지 않을 경우, 집중노드(예 : 노드 G)는 해당 유형의 모든 대상기기를 통합하여 해당 명령을 인식하는 것이다.
또 다른 예로서, 사용자가 "블루야, 불 꺼"라는 음성(즉, 음성명령)을 입력할 경우, 상기 집중노드(예 : 노드 G)는 사용자의 현재 위치를 추정하여(예 : 내 방), "내 방의 불 꺼"라고 인식하며, 또한 "내 방"에 있는 모든 불(즉, 전등)을 구분하지 않고 통합 인식한다. 즉, 대상기기의 기능만 특정되고 대상기기의 물리 그룹, 유형, 및 번호가 입력되지 않을 경우, 집중노드(예 : 노드 G)는 해당 기능의 모든 대상기기를 통합하여 해당 명령을 인식하는 것이다.
상기와 같이 본 실시예는 사용자의 현재 위치(물리 그룹)의 추정과, 음성명령의 형태에서 특정 상위 정보만 입력되고 이보다 하위 정보가 생략될 경우 하위 정보가 통합된 상기 특정 상위 정보만으로 대상기기를 통합하여 인식함으로써 음성명령을 간소화시킬 수 있도록 하는 효과가 있다.
또한 상기와 같이 본 실시예는 음성 데이터의 분산 처리를 지시하는 노드(예 : 노드 A)와 분산 처리된 음성 데이터를 집중(또는 재구성)하여 명령을 실행하는 노드(예 : 노드 G)가 다르다. 즉, 본 실시예는 별도의 서버를 구비하지 않으므로(즉, 서버의 설정을 변경할 필요가 없으므로) 확장성을 향상시킬 수 있으며, 대상기기(즉, 노드로 작용하는 대상기기)의 추가나 삭제 시 능동적으로 대응할 수 있도록 하는 효과가 있다.
한편 이미 상술한 바와 같이, 상기 대상기기의 물리 그룹은 대상기기의 구매 시 사용자가 외부기기(예 : 스마트폰, 태블릿, PC 등)를 이용해 설정할 수 있으며, 또한 대상기기(또는 노드) 자체적으로 다른 대상기기(또는 다른 노드)와 통신하여 물리 그룹을 설정할 수 있다.
예컨대 일반 가정의 경우, 도 10에 도시된 바와 같이, 방의 개수가 적으므로 사용자에 의해 대상기기의 물리 그룹을 설정함에 어려움이 없으나, 아파트 전체 또는 넓은 공장처럼 물리적 공간이 다수로 분할될 경우에는 사용자가 직접 대상기기의 물리 그룹을 설정하기에는 작업의 복잡성과 난이도가 증가하는 문제점이 있다. 따라서 대상기기가 자체적으로 물리 그룹을 설정하는 기능이 필요하다.
이하 도 10을 참조하여 대상기기가 신규 설치될 경우 대상기기(또는 노드) 자체적으로 다른 대상기기(또는 다른 노드)와 통신하여 물리 그룹을 설정하는 방법에 대해서 설명한다.
도 10을 참조하면, 이미 물리 그룹이 등록된 대상기기들이 설치되어 있는 상태에서 새로운 대상기기(즉, 신규노드)가 신규 설치될 경우, 상기 새로운 대상기기(즉, 신규노드)가 다른 노드에 물리 그룹의 등록을 요청한다. 이에 각 물리 그룹의 노드는 자신과 상기 새로운 대상기기(즉, 신규노드)간의 거리를 추정하여 이 거리 정보를 특정 노드(예 : 집중노드)에 전송한다.
여기서 상기 특정 노드(예 : 집중노드, 노드 a)는 상기 새로운 대상기기(즉, 신규노드)와 가장 가까운 노드(예 : 노드 A)가 선택된다.
참고로 블루투스 메쉬 네트워크의 경우 Heartbeat 메시지 또는 ibeacon을 이용하여 각 노드간의 거리 추정이 가능하다.
이에 상기 집중노드(예 : 노드 A)는 자신이 속한 물리 그룹(예 : 내 방) 내의 다른 노드들과 다른 물리 그룹(예 : 복도)에 속한 노드들 간의 거리를 비교하고, 새로운 대상기기(즉, 신규노드)(N)가 어느 물리 그룹에 가장 근접한지 탐색한다.
예컨대 신규노드(N)가 물리 그룹이'내 방'으로 설정된 노드(A, B, C)와 모두 통신이 가능하고 특정 거리 이내로 근접하며, 물리 그룹이'복도'로 설정된 노드(F, G, H)와는 특정 거리보다 더 멀리 이격되어 있거나 통신이 불가능한 것으로 탐색된다. 이에 따라 상기 집중노드(예 : 노드 A)는 신규노드(N)가 '내 방'물리 그룹과 가장 근접한 것으로 판단하여 해당 내용을 저장한다.
그리고 상기 집중노드(예 : 노드 A)는 사용자의 외부기기(예 : 스마트폰)에 상기 신규노드(N)의 물리 그룹 정보(예 : 내 방)를 전달하여 사용자가 상기 신규노드(N)의 물리 그룹 등록 여부를 결정하게 하고, 사용자가 등록을 결정할 경우 사용자의 외부기기(예 : 스마트폰)는 상기 신규노드(N)의 물리 그룹 정보(예 : 내 방)를 갱신한다. 즉, 사용자는 상기 집중노드(예 : 노드 A)가 탐색한 상기 신규노드(N)의 물리 그룹을 단지 확인하여 그 물리 그룹으로 등록할지 여부만 결정하면 된다.
이에 따라 사용자는 신규 대상기기(신규노드, N)의 물리 그룹을 등록함에 있어서 편의성을 증가시키는 효과 및 신규노드(N)의 물리 그룹 등록 시간을 단축시키는 효과가 있다.
이상으로 본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 기술적 보호범위는 아래의 특허청구범위에 의해서 정하여져야 할 것이다.
100 : 음성명령 처리 장치 110 : 음성 입력부
120 : 통신부 130 : 제어부
140 : 저장부 150 : 정보 출력부
160 : 대상기기 구동부

Claims (15)

  1. 블루투스 메쉬 네트워크의 노드들 중 적어도 하나 이상의 노드에 음성 데이터가 입력되면, 상기 노드들 중 기 지정된 방식으로 특정된 하나의 특정 노드의 제어부가 상기 음성 데이터를 기 지정된 방식에 따라 복수의 음성 데이터로 분할하는 단계;
    상기 분할된 복수의 음성 데이터를, 상기 특정 노드의 제어부가 상기 블루투스 메쉬 네트워크의 노드별로 분산 처리할 음성 데이터로 구분하는 단계;
    상기 특정 노드의 제어부가 상기 구분된 음성 데이터를 상기 노드별로 전송하여 분산 처리하게 하고, 상기 각 노드별로 분산 처리된 음성 데이터를 기 지정된 방식으로 특정된 하나의 집중노드에 집중시켜 재구성하게 하는 단계; 및
    상기 집중노드의 제어부가 상기 재구성된 음성 데이터에 대응하는 음성명령을 인식하여 명령을 실행하는 단계;를 포함하는 것을 특징으로 하는 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법.
  2. 제 1항에 있어서, 상기 특정 노드는,
    음성 데이터를 동시에 입력받는 적어도 하나 이상의 노드들이 상기 음성 데이터의 진폭 피크 값과 음성 입력 시간을 서로 비교하여, 이 비교 결과에 따라 음성 입력 시간이 더 빠르거나 진폭 피크 값이 더 큰 노드가 특정되거나,
    랜덤 방식으로 특정되는 것을 특징으로 하는 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법.
  3. 제 1항에 있어서, 상기 각 노드별로 분산 처리된 음성 데이터를 기 지정된 방식으로 특정된 하나의 집중노드에 집중시켜 재구성하게 하는 단계에서,
    상기 집중노드는,
    특정 노드의 제어부가,
    미리 생성된 성능 테이블을 참조하거나, 또는 실시간으로 '성능 질문 요청 메시지'를 다른 노드들에게 전송하고, 다른 노드들로부터'성능 회신 메시지'를 수신하여 상기 '성능 회신 메시지'에 포함된 정보에 기초하여 가장 성능이 우수한 노드를 찾아 집중노드로 선정하는 것을 특징으로 하는 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법.
  4. 제 1항에 있어서, 상기 집중노드는,
    분산 처리된 음성 데이터들을 전송한 다른 노드들의 물리 그룹 정보에 기초하여 사용자의 현재 위치를 추정하고,
    상기 사용자의 현재 위치가 추정됨에 따라 사용자가 음성명령 입력 시 물리 그룹 정보를 생략하더라도 상기 추정한 사용자의 현재 위치에 대응하는 물리 그룹을 자동으로 인식하여 음성명령을 간소화시킬 수 있도록 구현된 것을 특징으로 하는 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법.
  5. 제 1항에 있어서, 상기 블루투스 메쉬 네트워크의 노드들은,
    음성명령 처리 장치 및 제어 대상기기가 하나로 통합되어 구현되는 것을 특징으로 하는 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법.
  6. 제 1항에 있어서, 상기 음성 데이터를 기 지정된 방식에 따라 복수의 음성 데이터로 분할하는 단계에서,
    상기 입력된 음성 데이터를 기 설정된 기준값에 맞춰 확대 또는 축소시키는 스케일링 과정을 수행하는 단계;를 더 포함하는 것을 특징으로 하는 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법.
  7. 제 1항에 있어서,
    상기 음성 데이터가 기 지정된 방식으로 분할되면,
    상기 특정 노드의 제어부가,
    상기 분할된 음성 데이터의 개수가 기 지정된 개수 보다 적은지 체크하고,
    상기 체크 결과,
    상기 분할된 음성 데이터의 개수가 기 지정된 개수 이하인 경우, 상기 음성 데이터를 복수의 노드에 분산 처리하지 않고, 상기 특정 노드의 음성명령 처리 장치가 자체적으로 음성 분석 및 처리를 수행하도록 구현된 것을 특징으로 하는 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법.
  8. 제 1항에 있어서, 상기 음성 데이터가 집중되면,
    상기 집중노드의 제어부가,
    상기 분할된 음성 데이터의 개수에 대응하는 명령 필수 정보가 포함되어 있는지 체크하고, 상기 체크 결과, 상기 음성 데이터의 개수에 대응하는 명령 필수 정보가 모두 포함되어 있을 경우 해당 음성 명령을 실행하고,
    상기 음성 데이터의 개수에 대응하는 명령 필수 정보가 포함되어 있지 않을 경우 정보 출력부를 통해 부족한 명령 필수 정보가 포함된 음성명령의 재입력을 요청하도록 구현된 것을 특징으로 하는 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법.
  9. 제 1항에 있어서, 상기 특정 노드의 제어부가 상기 블루투스 메쉬 네트워크의 노드별로 분산 처리할 음성 데이터로 구분하는 단계에서,
    상기 특정 노드의 제어부는,
    상기 노드들의 개수, 및
    각 노드의 성능 또는 각 노드에 연결된 외부기기의 성능에 따라,
    음성 데이터의 분산 여부, 음성 데이터의 분산 우선순위, 및 분산할 음성 데이터의 개수를 조정하는 것을 특징으로 하는 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법.
  10. 제 9항에 있어서, 상기 특정 노드의 제어부가 상기 블루투스 메쉬 네트워크의 노드별로 분산 처리할 음성 데이터로 구분하기 위하여,
    상기 특정 노드의 제어부는,
    상기 노드의 개수, 각 노드 또는 노드에 연결된 외부기기의 성능 정보가 저장된 성능 테이블을 참조하는 것을 특징으로 하는 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법.
  11. 제 10항에 있어서, 상기 성능 테이블은,
    블루투스 메쉬 네트워크의 각 노드의 제어부가,
    '성능 질문 요청 메시지'를 다른 노드, 또는 노드에 연결된 외부기기에 전송하고, 상기 다른 노드 또는 노드에 연결된 외부기기가 회신하는'성능 회신 메시지'에 포함된 정보에 기초하여 생성하며,
    상기 성능 회신 메시지는,
    CPU 클럭 정보, CPU 코어 개수 정보, 현재 CPU 사용률 정보, 및 현재 여유 메모리 정보 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법.
  12. 제 11항에 있어서,
    상기 블루투스 메쉬 네트워크의 각 노드의 제어부는,
    음성 데이터 처리를 가장 빠르게 할 수 있는 노드, 또는 노드에 연결된 외부기기를 선정하기 위하여,
    상기'성능 회신 메시지'의 정보뿐만 아니라,
    도약 정보 및 거리 정보를 추가로 반영하는 것을 특징으로 하는 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법.
  13. 제 1항에 있어서, 상기 블루투스 메쉬 네트워크의 노드는,
    노드 자신이 제어할 대상기기의 위치에 따른 물리 그룹, 대상기기의 유형, 및 대상기기의 번호를 기반으로 분류되는 것을 특징으로 하는 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법.
  14. 제 13항에 있어서, 상기 물리 그룹은,
    사용자가 외부기기를 이용해 설정하거나,
    노드 자체적으로 상기 블루투스 메쉬 네트워크의 다른 노드와 통신하여 거리 정보를 바탕으로 자동으로 설정할 수도 있도록 구현된 것을 특징으로 하는 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법.
  15. 제 14항에 있어서,
    상기 물리 그룹을, 노드 자체적으로 상기 블루투스 메쉬 네트워크의 다른 노드와 통신하여 거리 정보를 바탕으로 자동으로 설정하기 위하여,
    이미 물리 그룹이 등록된 노드들이 설치되어 있는 상태에서 새로운 신규노드가 신규 설치될 경우,
    상기 신규노드가 다른 노드에 물리 그룹의 등록을 요청하고,
    각 물리 그룹의 노드가 자신과 상기 신규노드간의 거리를 추정하여 이 거리 정보를 집중노드에 전송하며,
    상기 집중노드는 자신이 속한 물리 그룹 내의 다른 노드들과 다른 물리 그룹에 속한 노드들 간의 거리를 비교하여, 상기 신규노드가 어느 물리 그룹에 가장 근접한지 탐색하고,
    상기 탐색 결과에 따라 상기 집중노드가 상기 신규노드에 가장 가까운 물리 그룹 정보를 판단하도록 구현된 것을 특징으로 하는 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법.
KR1020190126805A 2019-10-14 2019-10-14 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법 KR102244156B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190126805A KR102244156B1 (ko) 2019-10-14 2019-10-14 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190126805A KR102244156B1 (ko) 2019-10-14 2019-10-14 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법

Publications (2)

Publication Number Publication Date
KR20210043902A KR20210043902A (ko) 2021-04-22
KR102244156B1 true KR102244156B1 (ko) 2021-04-27

Family

ID=75725562

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190126805A KR102244156B1 (ko) 2019-10-14 2019-10-14 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법

Country Status (1)

Country Link
KR (1) KR102244156B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101730563B1 (ko) 2015-08-17 2017-04-26 오션기술 주식회사 레져용 선박의 스피커 일체형 led 시스템

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030013154A (ko) * 2001-08-07 2003-02-14 엘지전자 주식회사 다채널로 입력되는 실시간 음성인식 방법
KR100404234B1 (ko) * 2003-06-05 2003-11-01 주식회사 비즈모델라인 블루투스를 이용한 근거리 무선 음성 분산 처리 방법
KR20170132622A (ko) * 2016-05-24 2017-12-04 삼성전자주식회사 음성 인식 기능을 갖는 전자 장치 및 전자 장치의 동작 방법
KR101832058B1 (ko) * 2016-05-30 2018-04-04 주식회사 엘지유플러스 음성 인식 시스템 및 방법
KR20180083587A (ko) * 2017-01-13 2018-07-23 삼성전자주식회사 전자 장치 및 그의 동작 방법
KR102471493B1 (ko) * 2017-10-17 2022-11-29 삼성전자주식회사 전자 장치 및 음성 인식 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101730563B1 (ko) 2015-08-17 2017-04-26 오션기술 주식회사 레져용 선박의 스피커 일체형 led 시스템

Also Published As

Publication number Publication date
KR20210043902A (ko) 2021-04-22

Similar Documents

Publication Publication Date Title
JP6965384B2 (ja) スマート機器ウェイクアップ方法、スマート機器、及びコンピュータ可読記憶媒体
US10185534B2 (en) Control method, controller, and recording medium
CN108683574B (zh) 一种设备控制方法、服务器和智能家居***
KR102417682B1 (ko) 음성 인식을 이용한 닉네임 관리 장치 및 방법
US11354089B2 (en) System and method for dialog interaction in distributed automation systems
US20200135191A1 (en) Digital Voice Butler
JP2023002502A (ja) ホームオートメーションのためのインテリジェントアシスタント
US20160373269A1 (en) Device control method, controller, and recording medium
JP2019003190A (ja) 音声エージェントの進行
US11914921B2 (en) Synchronous sounds for audio assistant on devices
US9984563B2 (en) Method and device for controlling subordinate electronic device or supporting control of subordinate electronic device by learning IR signal
JP2019086535A (ja) 送信制御装置及びプログラム
WO2019227371A1 (zh) 设备连接方法、装置、电子设备及可读存储介质
CN111028839B (zh) 一种智能家居控制方法、装置及电子设备
CN109618315A (zh) 一种照明设备的控制方法、装置、存储介质及智能终端
KR20240024315A (ko) 어시스턴트 클라이언트 장치에 의해 로컬로 스마트 장치 제어 및/또는 등록
CN110738992B (zh) 语音信息的处理方法及装置、存储介质、电子装置
CN113031452B (zh) 一种批量处理智能家居设备控制指令的方法和***
WO2017219519A1 (zh) 设备的控制方法、装置及***
KR102244156B1 (ko) 블루투스 메쉬 네트워크를 이용한 음성명령 처리 방법
CN114203176A (zh) 智能设备的控制方法、装置、存储介质及电子装置
CN112712683A (zh) 家电设备的控制方法、***、遥控器和服务器
CN113777944B (zh) 智慧家居场景下的智能设备控制偏好配置方法及***
CN112867141B (zh) 一种定位控制方法、蓝牙服务节点及电子设备
WO2019040152A1 (en) DYNAMIC CALIBRATION OF AUDIO DATA TRANSFER

Legal Events

Date Code Title Description
GRNT Written decision to grant