WO2020256176A1 - 사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법 및 사운드맵 업데이트방법 - Google Patents

사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법 및 사운드맵 업데이트방법 Download PDF

Info

Publication number
WO2020256176A1
WO2020256176A1 PCT/KR2019/007355 KR2019007355W WO2020256176A1 WO 2020256176 A1 WO2020256176 A1 WO 2020256176A1 KR 2019007355 W KR2019007355 W KR 2019007355W WO 2020256176 A1 WO2020256176 A1 WO 2020256176A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
sound
master
user
master robot
Prior art date
Application number
PCT/KR2019/007355
Other languages
English (en)
French (fr)
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 PCT/KR2019/007355 priority Critical patent/WO2020256176A1/ko
Publication of WO2020256176A1 publication Critical patent/WO2020256176A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0272Voice signal separating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S5/00Pseudo-stereo systems, e.g. in which additional channel signals are derived from monophonic signals by means of phase shifting, time delay or reverberation 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S7/00Indicating arrangements; Control arrangements, e.g. balance control

Definitions

  • a deep neural network including a plurality of hidden layers between an input layer and an output layer may be a representative artificial neural network that implements deep learning, a type of machine learning technology.
  • each robot 100 In order for each robot 100 to play multi-channel music based on the identified spatial information, it is appropriate to have a sound scenario corresponding to the spatial information. On the other hand, if you have a map for spatial information corresponding to such a sound scenario, music can be easily reproduced according to the sound scenario.
  • the sound map update may be performed by adding a new second sound map to the existing second sound map, and as a result, increasing the number of second sound maps.
  • a method of updating a sound map will be described in detail. 9 and 10 are flowcharts illustrating a method of updating a sound map according to an exemplary embodiment.
  • the master robot 101 may acquire the direction information of the slave robot from a positioning signal output from the slave robot (S241).
  • the direction information of the slave robot may mean a direction in which the slave robot is positioned with respect to the master robot 101 with respect to the master robot 101.
  • the positioning signal may be a sound file promised between the plurality of robots 100.
  • the master robot 101 may incorrectly grasp the distances D2, D3, and D4 between the user and the slave robot. Therefore, there is a need to remove this noise.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Manipulator (AREA)

Abstract

사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법 및 사운드맵 업데이트방법이 개시된다. 사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법은, 서로 일정한 거리를 두고 배치되는 복수의 로봇 중 하나를 마스터로봇으로 결정하고 나머지를 슬래이브로봇으로 결정하는 마스터로봇 결정단계, 마스터로봇이 사용자와 마스터로봇 사이의 거리를 측정하는 음악 재생을 위한 마스터로봇 거리측정단계, 마스터로봇이 사용자와 로봇 사이의 거리, 로봇의 방향각을 포함한 정보를 가진 사운드맵을 생성하는 음악 재생을 위한 사운드맵 생성단계, 및 로봇이 사운드맵에 대응하는 사운드시나리오를 가지도록 음악을 재생하는 음악 재생단계를 포함할 수 있다.

Description

사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법 및 사운드맵 업데이트방법
실시예는, 사용자의 음성명령을 인식하고 음악을 재생할 수 있는 로봇에 적용되는 사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법 및 사운드맵 업데이트방법에 관한 것이다.
이 부분에 기술된 내용은 단순히 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
기술이 발달함에 따라 최근 많은 분야에서 음성 인식 기술을 적용한 각종 서비스들이 소개되고 있다. 음성 인식 기술은 사람이 발성하는 음성을 이해하여 컴퓨터가 다룰 수 있는 문자 정보로 변환하는 일련의 과정이라 할 수 있으며, 음성 인식 기술을 이용하는 음성 인식 서비스는 사용자의 음성을 인식하고 이에 해당하는 적합한 서비스를 제공하는 일련의 과정을 포함할 수 있다.
로봇은 사용자의 명령에 따라 음악을 재생하는 서비스를 제공할 수 있다. 특히, 5.1채널 등 멀티채널의 음원을 사용하여 재생되는 음악은 입체적인 음향효과를 제공하기 위해, 복수의 로봇을 공간적으로 적절하게 배치되도록 하고, 각각의 로봇이 별도의 음향을 출력하도록 할 필요가 있다.
한국공개특허 10-2010-0069296에서는 출력되는 음악에 반응하여 동작하는 로봇에 관한 장치가 개시된다. 그러나, 복수의 로봇이 음악을 재생하는 경우, 이러한 복수의 로봇의 배치된 상태에서 음악을 재생하는 방법에 관한 내용은 개시되지 않는다.
미국공개특허 US 2014/0067385 A1에는 마이크 입력신호에 잡음제거 및 음원분리 과정을 적용하여 필요로하는 정보를 추출하는 사운드 처리장치가 개시된다. 그러나, 마찬가지로 복수의 로봇이 음악을 재생하는 경우, 이러한 복수의 로봇의 배치된 상태에서 음악을 재생하는 방법에 관한 내용은 개시되지 않는다.
실시예에서 해결하고자 하는 일 과제는 복수의 로봇을 사용하여 멀티채널 음악을 기 설정된 사운드 시나리오에 따라 효과적으로 재생할 수 있는 방안을 제시하는 것이다.
실시예의 다른 과제는 복수의 로봇이 공간적으로 배치된 상태를 파악하고, 배치된 상태에 대응하는 기 설정된 사운드시나리오를 효과적으로 구현할 수 있는 방안을 제시하는 것이다.
실시예의 또 다른 과제는 복수의 로봇이 공간적으로 배치된 상태가 변경될 경우에도 기 설정된 사운드시나리오대로 음악을 재생할 수 있는 방안을 제시하는 것이다.
실시예가 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 실시예가 속하는 기술분야에서 통상의 지식을 가진자에게 명확하게 이해될 수 있을 것이다.
전술한 과제를 달성하기 위해, 사운드 출력이 가능한 로봇은 사운드맵을 이용하여 음악을 재생할 수 있다.
사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법은, 서로 일정한 거리를 두고 배치되는 복수의 로봇 중 하나를 마스터로봇으로 결정하고 나머지를 슬래이브로봇으로 결정하는 마스터로봇 결정단계, 마스터로봇이 사용자와 마스터로봇 사이의 거리를 측정하는 음악 재생을 위한 마스터로봇 거리측정단계, 마스터로봇이 사용자와 로봇 사이의 거리, 로봇의 방향각을 포함한 정보를 가진 사운드맵을 생성하는 음악 재생을 위한 사운드맵 생성단계, 및 로봇이 사운드맵에 대응하는 사운드시나리오를 가지도록 음악을 재생하는 음악 재생단계를 포함할 수 있다.
이때, 방향각은 사용자와 마스터로봇을 연결한 기준선으로부터 사용자와 슬래이브로봇을 연결한 측정선까지 측정한 각도로 정의될 수 있다.
마스터로봇 결정단계는, 로봇이 기동어를 입력받는 기동어 입력단계, 로봇이 사용자를 향하여 정렬하는 정렬단계, 로봇에 구비된 카메라가 사용자의 안면을 인식하여 촬영하는 안면검출단계, 및 복수의 로봇이 촬영한 복수의 사용자 안면이미지를 기반으로 마스터로봇을 선택하는 마스터로봇 선택단계를 포함할 수 있다.
음악 재생을 위한 사운드맵 생성단계는, 마스터로봇이 기동어를 인식하는 기동어 인식단계, 슬래이브로봇이 오토포지셔닝을 위한 포지셔닝 시그널을 출력하는 단계, 마스터로봇에 구비되는 멀티채널 마이크로 포지셔닝 시그널이 입력되는 음악 재생을 위한 포지셔닝 시그널 입력단계, 및 마스터로봇이 포지셔닝 시그널로부터 사용자와 로봇 사이의 거리, 로봇의 방향각을 포함한 정보를 가진 제1사운드맵을 생성하는 제1사운드맵 생성단계를 포함할 수 있다.
음악 재생단계는, 마스터로봇이, 기 생성되어 저장된 복수의 제2사운드맵 중 제1사운드맵과 가장 유사한 제2사운드맵을 선택하고, 선택된 제2사운드맵에 대응하는 사운드시나리오를 선택하는 사운드시나리오 선택단계, 복수의 로봇이 선택된 사운드시나리오에 따라 음악을 재생하도록, 마스터로봇이 음원을 업믹싱(upmixing)하는 업믹싱단계, 및 복수의 로봇이 음원을 출력하는 음원출력단계를 포함할 수 있다.
전술한 과제를 달성하기 위해, 로봇은 사운드맵을 업데이트할 수 있다.
사운드맵 업데이트방법은, 서로 일정한 거리를 두고 배치되는 복수의 로봇 중 하나를 마스터로봇으로 결정하고 나머지를 슬래이브로봇으로 결정하는 마스터로봇 결정단계, 마스터로봇이 사용자와 마스터로봇 사이의 거리를 측정하는 업데이트를 위한 마스터로봇 거리측정단계를 포함할 수 있다.
사운드맵 업데이트방법은, 마스터로봇에 구비되는 멀티채널 마이크로 슬래이브로봇이 출력하는 포지셔닝 시그널이 입력되는 업데이트를 위한 포지셔닝 시그널 입력단계, 마스터로봇이 입력되는 포지셔닝 시그널을 기반으로 로봇의 위치정보를 포함하는 정보를 취득하는 로봇에 대한 정보취득단계, 및 마스터로봇이 취득된 로봇에 대한 정보를 저장하는 로봇에 대한 정보저장단계를 더 포함할 수 있다.
실시예에서, 복수의 로봇 중 마스터로봇을 선정하고, 마스터로봇이 나머지 슬래이브로봇을 제어함으로써, 복수의 로봇이 효과적으로 입체적인 음악을 재생할 수 있다.
실시예에서, 복수의 로봇의 배치가 변경되더라도, 변경된 위치에 대응하는 사운드맵을 찾고 이를 기반으로 음악을 재생할 수 있으므로, 사용자는 편리하게 로봇의 배치를 변경할 수 있다.
실시예에서, 마스터로봇은 슬래이브로봇으로부터 입력되는 사운드 중 포지셔닝 시그널을 제외한 잡음을 제거한 PSD매트릭스를 통해 슬래이브로봇의 방향정보를 정확히 파악할 수 있다. 또한, 마스터로봇은 파악한 슬래이브로봇의 방향으로 빔포밍을 수행하여 포지셔닝 시그널을 입력받아 이를 기반으로 사용자와 로봇 사이의 거리를 파악할 수 있다. 이러한 과정을 통해 마스터로봇은 매우 정확한 사용자와 로봇 사이의 거리를 취득하고, 이를 기반으로 정밀한 정보를 가진 사운드맵을 생성하고 업데이트할 수 있다.
도 1은 일 실시예에 따른 로봇을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 로봇의 음악재생방법을 설명하기 위한 순서도이다.
도 3은 일 실시예에 따른 로봇의 작동을 설명하기 위한 도면이다.
도 4 내지 도 8은 일 실시예에 따른 로봇의 음악재생방법을 더욱 구체적으로 설명하기 위한 순서도이다.
도 9 및 도 10은 일 실시예에 따른 사운드맵 업데이트 방법을 설명하기 위한 순서도이다.
이하, 첨부된 도면들을 참조하여 실시예를 상세히 설명한다. 실시예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 실시예를 특정한 개시 형태에 대해 한정하려는 것이 아니며, 실시예의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
"제1", "제2" 등의 용어는 다양한 구성요소들을 설명하는 데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용된다. 또한, 실시예의 구성 및 작용을 고려하여 특별히 정의된 용어들은 실시예를 설명하기 위한 것일 뿐이고, 실시예의 범위를 한정하는 것이 아니다.
실시예의 설명에 있어서, 각 element의 "상(위)" 또는 "하(아래)(on or under)"에 형성되는 것으로 기재되는 경우에 있어, 상(위) 또는 하(아래)(on or under)는 두개의 element가 서로 직접(directly)접촉되거나 하나 이상의 다른 element가 상기 두 element사이에 배치되어(indirectly) 형성되는 것을 모두 포함한다. 또한 “상(위)" 또는 "하(아래)(on or under)”로 표현되는 경우 하나의 element를 기준으로 위쪽 방향뿐만 아니라 아래쪽 방향의 의미도 포함할 수 있다.
또한, 이하에서 이용되는 "상/상부/위" 및 "하/하부/아래" 등과 같은 관계적 용어들은, 그런 실체 또는 요소들 간의 어떠한 물리적 또는 논리적 관계 또는 순서를 반드시 요구하거나 내포하지는 않으면서, 어느 한 실체 또는 요소를 다른 실체 또는 요소와 구별하기 위해서 이용될 수도 있다.
도 1은 일 실시예에 따른 로봇(100)을 설명하기 위한 도면이다. 로봇(100)은 사용자가 원하는 음악을 재생할 수 있는 로봇이다. 로봇은 음악 재생을 위해 복수로 구비되고, 각각의 로봇(100)은 서로 이격되어 배치될 수 있다.
로봇(100)은 카메라(140)를 사용하여 사용자의 위치를 파악할 수 있고, 사용자의 음성을 인식하여 사용자가 요구하는 명령을 수행할 수 있는 음성인식 기능을 가질 수 있다. 로봇(100)은 가정용, 산업용 기타 다양한 용도로 사용될 수 있다.
로봇(100)은 헤드부(110), 바디(120), 디스플레이부(130) 및 카메라(140)를 포함할 수 있다. 디스플레이부(130)는 사용자와 로봇(100)이 인터랙션(interaction)을 하기 위해 필요한 영상 예를 들어 동작모드, 동작상태, 에러상태, 음악의 재생상태, 기타 필요한 영상, 기쁜 상태, 우울한 상태 등 감성적인 표현 등을 나타낼 수 있다. 디스플레이부(130)는 헤드부(110)와 일체로 결합하여 헤드부(110)의 움직임에 따라 함께 움직일 수 있다.
로봇(100)은 회전가능한 헤드부(110)를 구비할 수 있다. 도 1을 참조하면, 예를 들어, 헤드부(110)는 바디(120)에 피벗(pivot) 형태로 결합하여 바디(120)에 대하여 3차원적인 움직임이 가능하다.
즉, 도 1의 (b)에 도시된 바와 같이, 헤드부(110)는 x-y평면상으로 회전가능하고, 또한 도 1의 (c)에 도시된 바와 같이, 헤드부(110)는 z-x평면상으로 회전도 가능하게 구비될 수 있다. 따라서 헤드부(110)는 바디(120)에 대하여 3차원적인 능동적인 동작이 가능하다. 로봇(100)은 음악 재생뿐만 아니라, 이러한 헤드부(110)의 움직임을 이용하여 재생되는 음악에 맞는 안무 동작을 수행할 수 있다.
로봇(100)은 카메라(140)를 구비할 수 있다. 로봇(100)은 카메라(140)를 통해 사용자의 위치, 사용자와 로봇(100) 사이의 거리를 측정할 수 있다. 예를 들어, 로봇(100)에는 사용자를 인식할 수 있는 RGB 이미지를 촬영하는 기능을 가지고, 사용자와의 거리를 알 수 있는 깊이(depth) 카메라의 기능을 동시에 가진 RGB-D카메라가 구비될 수 있다. 디스플레이부(130)와 마찬가지로, 카메라(140)도 헤드부(110)에 결합하여 헤드부(110)의 움직임에 따라 함께 움직일 수 있다.
한편, 로봇(100)은 서버와 연결되는 통신부를 구비하여, 로봇(100)과 서버는 서로 정보를 주고받을 수 있다. 또한, 로봇(100)은 실시예로 설명되는 각 단계에서 요구하는 연산 및 동작을 수행하기 위해 필요한 연산부, 제어부를 구비하고, 필요한 정보를 저장하는 저장부를 구비할 수도 있다.
또한, 로봇(100)은 멀티채널 마이크, 스피커를 구비할 수 있다. 멀티채널 마이크는 적어도 2개의 서로다른 채널에서 각각 사운드를 입력받을 수 있다. 각 채널은 적어도 하나의 독립된 마이크를 구비할 수 있고, 이러한 복수의 마이크들은 서로 일정거리 이격되어 구비될 수 있다.
각 채널들은 동일한 사운드를 각각 독립적으로 입력받으며, 인간이 2개의 귀에서 동일한 사운드를 각각 독립적으로 입력받고 입력받은 사운드의 차이를 파악하여 사운드가 발생하는 방향을 인식하는 것처럼, 로봇(100)은 각 채널들로 입력받는 동일한 사운드의 차이를 파악하여 사운드가 발생하는 방향을 파악할 수 있다.
스피커는 사용자에게 필요한 사운드를 출력할 수 있다. 로봇(100)은 스피커를 통해 사용자에게 음성, 알람 등을 전달하거나, 사용자에게 음악을 들려줄 수도 있다.
멀티채널 마이크와 스피커는 로봇(100)의 적절한 위치에 배치될 수 있다. 실시예에서 멀티채널 마이크는 로봇(100)의 헤드부(110)에 구비될 수 있다. 이러한 경우 헤드부(110)가 회전하므로, 상기 헤드부(110)의 회전에 따라 함께 회전하여 3차원적으로 동작하도록 구비될 수 있다.
이상에서 로봇(100) 구조의 일 실시예를 설명하였으나, 이는 일 실시예에 불과하고, 전술한 기능을 수행할 수 있다면, 로봇(100)은 다양한 다른 구조를 가질 수 있다. 예를 들어, 재생되는 음악에 맞는 다양한 안무동작을 보여주기 위해, 로봇(100)은 팔, 다리가 있는 형태로 구비될 수도 있다.
로봇(100)은 이동 통신 모듈을 포함하고, 상기 이동 통신 모듈을 통해 서버, 사용자가 보유하는 사용자단말 등과 통신할 수 있다. 여기서, 이동 통신 모듈은 이동통신을 위한 기술표준들 또는 통신방식(예를 들어, GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등) 및 5G(Generation) 통신에 따라 구축된 이동 통신망 상에서 무선신호를 송수신할 수 있다.
마찬가지로, 로봇(100), 서버, 사용자단말도 전술한 5G 통신 모듈을 구비할 수 있다. 이 경우, 로봇(100), 서버, 사용자단말은 100Mbps 내지 20Gbps 속도로 데이터를 전송할 수 있어서, 대용량의 음성 또는 이미지데이터를 매우 빠르게 전송할 수 있다. 이에 따라, 서버 및 사용자단말은 로봇(100)으로부터 전송되는 대용량의 음성 또는 이미지데이터를 보다 빨리 보다 정확하게 인식할 수 있다.
5G 통신 모듈을 구비한 로봇(100), 서버, 사용자단말은 각종 사물 지능 통신(IoT(Internet of Things), IoE(Internet of Everything), IoST(Internet of Small Things) 등)을 지원할 수 있으며, 로봇로봇로봇(100)은 M2M(Machine to Machine) 통신, V2X(Vehicle to Everything Communication) 통신, D2D(Device to Device) 통신 등을 지원할 수 있다. 이에 따라, 로봇(100)은 다양한 기기와 공간 상에서 취득할 수 있는 정보를 매우 효율적으로 서로 공유할 수 있다.
로봇(100)은 입력받는 사용자의 음성명령에 대하여 딥러닝(Deep Learning) 등 머신 러닝(machine learning)을 수행할 수 있고, 머신 러닝에 사용되는 데이터, 결과 데이터 등을 저장할 수 있다.
머신 러닝은 인공지능의 한 분야로, 컴퓨터에 명시적인 프로그램 없이 배울 수 있는 능력을 부여하는 연구 분야를 포함할 수 있다. 구체적으로 머신 러닝은, 경험적 데이터를 기반으로 학습을 하고 예측을 수행하고 스스로의 성능을 향상시키는 시스템과 이를 위한 알고리즘을 연구하고 구축하는 기술이라 할 수 있다. 머신 러닝의 알고리즘들은 엄격하게 정해진 정적인 프로그램 명령들을 수행하는 것이라기보다, 입력 데이터를 기반으로 예측이나 결정을 이끌어내기 위해 특정한 모델을 구축하는 방식을 취할 수 있다. 용어 '머신 러닝'은 용어 '기계 학습'과 혼용되어 사용될 수 있다.
기계 학습에서 데이터를 어떻게 분류할 것인가를 놓고, 많은 기계 학습 알고리즘이 개발되었다. 의사결정나무(Decision Tree)나 베이지안 망(Bayesian network), 서포트벡터머신(SVM: support vector machine), 그리고 인공 신경망(ANN: Artificial Neural Network) 등을 대표적으로 포함할 수 있다.
의사결정나무는 의사결정규칙(Decision Rule)을 나무구조로 도표화하여 분류와 예측을 수행하는 분석방법을 포함할 수 있다.
베이지안 망은 다수의 변수들 사이의 확률적 관계(조건부독립성: conditional independence)를 그래프 구조로 표현하는 모델을 포함할 수 있다. 베이지안 망은 비지도 학습(unsupervised learning)을 통한 데이터마이닝(data mining)에 적합할 수 있다.
서포트벡터머신은 패턴인식과 자료분석을 위한 지도 학습(supervised learning)의 모델이며, 주로 분류와 회귀분석을 위해 사용할 수 있다.
한편, 로봇(100)에는 인공신경망(artificial neural network)이 탑재될 수 있고, 수신되는 음성 입력 신호를 입력 데이터로 하는 머신 러닝 기반의 사용자 인식 및 사용자의 음성 인식을 수행할 수 있다.
인공신경망은 생물학적 뉴런의 동작원리와 뉴런간의 연결 관계를 모델링한 것으로 노드(node) 또는 처리 요소(processing element)라고 하는 다수의 뉴런들이 레이어(layer) 구조의 형태로 연결된 정보처리 시스템을 포함할 수 있다. 인공 신경망은 기계 학습에서 사용되는 모델로써, 기계학습과 인지과학에서 생물학의 신경망(동물의 중추신경계 중 특히 뇌)에서 영감을 얻은 통계학적 학습 알고리즘을 포함할 수 있다. 구체적으로 인공신경망은 시냅스(synapse)의 결합으로 네트워크를 형성한 인공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다.
용어 인공신경망은 용어 뉴럴 네트워크(Neural Network)와 혼용되어 사용될 수 있다.
인공신경망은 복수의 레이어(layer)를 포함할 수 있고, 레이어들 각각은 복수의 뉴런(neuron)을 포함할 수 있다. 또한 인공신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다.
인공 신경망은 일반적으로 다음의 세가지 인자, 즉 (1) 다른 레이어의 뉴런들 사이의 연결 패턴 (2) 연결의 가중치를 갱신하는 학습 과정 (3) 이전 레이어로부터 수신되는 입력에 대한 가중 합으로부터 출력값을 생성하는 활성화 함수에 의해 정의될 수 있다.
로봇(100)은 인공 신경망, 예를 들어, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network), MLP(Multilayer Perceptron), CNN(Convolutional Neural Network)와 같은 방식의 네트워크 모델들을 포함할 수 있으나, 이에 한정되지 않는다.
본 명세서에서 용어 '레이어'는 용어 '계층'과 혼용되어 사용될 수 있다.
인공신경망은 계층 수에 따라 단층 신경망(Single-Layer Neural Networks)과 다층 신경망(Multi-Layer Neural Networks)으로 구분될 수 있다.
일반적인 단층 신경망은, 입력층과 출력층으로 구성될 수 있다. 또한 일반적인 다층 신경망은 입력층(Input Layer)과 하나 이상의 은닉층(Hidden Layer), 출력층(Output Layer)으로 구성될 수 있다.
입력층은 외부의 자료들을 받아들이는 층으로서, 입력층의 뉴런 수는 입력되는 변수의 수와 동일하며, 은닉층은 입력층과 출력층 사이에 위치하며 입력층으로부터 신호를 받아 특성을 추출하여 출력층으로 전달할 수 있다. 출력층은 은닉층으로부터 신호를 받고, 수신한 신호에 기반한 출력 값을 출력한다. 뉴런간의 입력신호는 각각의 연결강도(가중치)와 곱해진 후 합산되며 이 합이 뉴런의 임계치보다 크면 뉴런이 활성화되어 활성화 함수를 통하여 획득한 출력값을 출력할 수 있다.
한편 입력층과 출력층 사이에 복수의 은닉층을 포함하는 심층 신경망은, 기계 학습 기술의 한 종류인 딥 러닝을 구현하는 대표적인 인공 신경망일 수 있다.
한편 용어 '딥 러닝'은 용어 '심층 학습'과 혼용되어 사용될 수 있다.
인공 신경망은 훈련 데이터(training data)를 이용하여 학습(training)될 수 있다. 여기서 학습이란, 입력 데이터를 분류(classification)하거나 회귀분석(regression)하거나 군집화(clustering)하는 등의 목적을 달성하기 위하여, 학습 데이터를 이용하여 인공 신경망의 파라미터(parameter)를 결정하는 과정을 의미할 수 있다. 인공 신경망의 파라미터의 대표적인 예시로써, 시냅스에 부여되는 가중치(weight)나 뉴런에 적용되는 편향(bias)을 들 수 있다.
훈련 데이터에 의하여 학습된 인공 신경망은, 입력 데이터를 입력 데이터가 가지는 패턴에 따라 분류하거나 군집화 할 수 있다.
한편, 훈련 데이터를 이용하여 학습된 인공 신경망을, 본 명세서에서는 학습 모델(a trained model)이라 명칭 할 수 있다.
다음은 로봇(100)이 수행하는 인공 신경망의 학습 방식에 대하여 설명한다.
인공 신경망의 학습 방식은 크게, 지도 학습, 비 지도 학습, 준 지도 학습(Semi-Supervised Learning), 강화 학습(Reinforcement Learning)으로 분류될 수 있다.
지도 학습은 훈련 데이터로부터 하나의 함수를 유추해내기 위한 기계 학습의 한 방법을 포함할 수 있다.
그리고 이렇게 유추되는 함수 중, 연속적인 값을 출력하는 것을 회귀분석(Regression)이라 하고, 입력 벡터의 클래스(class)를 예측하여 출력하는 것을 분류(Classification)라고 할 수 있다.
지도 학습에서는, 훈련 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시킬 수 있다.
여기서 레이블이란, 훈련 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과값)을 의미할 수 있다.
본 명세서에서는 훈련 데이터가 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과값)을 레이블 또는 레이블링 데이터(labeling data)이라 명칭 할 수 있다.
또한, 본 명세서에서는, 인공 신경망의 학습을 위하여 훈련 데이터에 레이블을 설정하는 것을, 훈련 데이터에 레이블링 데이터를 레이블링(labeling) 한다고 명칭할 수 있다.
이 경우 훈련 데이터와 훈련 데이터에 대응하는 레이블)은 하나의 트레이닝 셋(training set)을 구성하고, 인공 신경망에는 트레이닝 셋의 형태로 입력될 수 있다.
한편 훈련 데이터는 복수의 특징(feature)을 나타내고, 훈련 데이터에 레이블이 레이블링 된다는 것은 훈련 데이터가 나타내는 특징에 레이블이 달린다는 것을 의미할 수 있다. 이 경우 훈련 데이터는 입력 객체의 특징을 벡터 형태로 나타낼 수 있다.
인공 신경망은 훈련 데이터와 레이블링 데이터를 이용하여, 훈련 데이터와 레이블링 데이터의 연관 관계에 대한 함수를 유추할 수 있다. 그리고, 인공 신경망에서 유추된 함수에 대한 평가를 통해 인공 신경망의 파라미터가 결정(최적화)될 수 있다.
비 지도 학습은 기계 학습의 일종으로, 훈련 데이터에 대한 레이블이 주어지지 않을 수 있다.
구체적으로, 비 지도 학습은, 훈련 데이터 및 훈련 데이터에 대응하는 레이블의 연관 관계보다는, 훈련 데이터 자체에서 패턴을 찾아 분류하도록 인공 신경망을 학습시키는 학습 방법일 수 있다.
비 지도 학습의 예로는, 군집화 또는 독립 성분 분석(Independent Component Analysis)을 들 수 있다.
본 명세서에서 용어 '군집화'는 용어 '클러스터링'과 혼용되어 사용될 수 있다.
비지도 학습을 이용하는 인공 신경망의 일례로 생성적 적대 신경망(GAN: generative adversarial network), 오토 인코더(AE: autoencoder)를 들 수 있다.
생성적 적대 신경망이란, 생성기(generator)와 판별기(discriminator), 두 개의 서로 다른 인공지능이 경쟁하며 성능을 개선하는 머신 러닝 방법을 포함할 수 있다.
이 경우 생성기는 새로운 데이터를 창조하는 모형으로, 원본 데이터를 기반으로 새로운 데이터를 생성할 수 있다.
또한 판별기는 데이터의 패턴을 인식하는 모형으로, 입력된 데이터가 원본 데이터인지 또는 생성기에서 생성한 새로운 데이터인지 여부를 감별하는 역할을 수행할 수 있다.
그리고 생성기는 판별기를 속이지 못한 데이터를 입력 받아 학습하며, 판별기는 생성기로부터 속은 데이터를 입력 받아 학습할 수 있다. 이에 따라 생성기는 판별기를 최대한 잘 속이도록 진화할 수 있고, 판별기는 원본 데이터와 생성기에 의해 생성된 데이터를 잘 구분하도록 진화할 수 있다.
오토 인코더는 입력 자체를 출력으로 재현하는 것을 목표로 하는 신경망을 포함할 수 있다.
오토 인코더는 입력층, 적어도 하나의 은닉층 및 출력층을 포함할 수 있다. 이 경우 은닉 계층의 노드 수가 입력 계층의 노드 수보다 적으므로 데이터의 차원이 줄어들게 되며, 이에 따라 압축 또는 인코딩이 수행될 수 있다.
또한 은닉 계층에서 출력한 데이터는 출력 계층으로 들어갈 수 있다. 이 경우 출력 계층의 노드 수는 은닉 계층의 노드 수보다 많으므로, 데이터의 차원이 늘어나게 되며, 이에 따라 압축 해제 또는 디코딩이 수행될 수 있다.
한편 오토 인코더는 학습을 통해 뉴런의 연결 강도를 조절함으로써 입력 데이터가 은닉층 데이터로 표현될 수 있다. 은닉층에서는 입력층보다 적은 수의 뉴런으로 정보를 표현하는데 입력 데이터를 출력으로 재현할 수 있다는 것은, 은닉층이 입력 데이터로부터 숨은 패턴을 발견하여 표현했다는 것을 의미할 수 있다.
준 지도 학습은 기계 학습의 일종으로, 레이블이 주어진 훈련 데이터와 레이블이 주어지지 않은 훈련 데이터를 모두 사용하는 학습 방법을 의미할 수 있다.
준 지도 학습의 기법 중 하나로, 레이블이 주어지지 않은 훈련 데이터의 레이블을 추론한 후 추론된 라벨을 이용하여 학습을 수행하는 기법이 있으며, 이러한 기법은 레이블링에 소요되는 비용이 큰 경우에 유용하게 사용될 수 있다.
강화 학습은, 에이전트(Agent)가 매 순간 어떤 행동을 해야 좋을지 판단할 수 있는 환경이 주어진다면, 데이터 없이 경험으로 가장 좋을 길을 찾을 수 있다는 이론을 포함할 수 있다.
강화 학습은 주로 마르코프 결정 과정(MDP: Markov Decision Process)에 의하여 수행될 수 있다.
마르코프 결정 과정을 설명하면, 첫 번째로 에이전트가 다음 행동을 하기 위해 필요한 정보들이 구성된 환경이 주어지며, 두 번째로 그 환경에서 에이전트가 어떻게 행동할지 정의하고, 세 번째로 에이전트가 무엇을 잘하면 보상(reward)을 주고 무엇을 못하면 벌점(penalty)을 줄지 정의하며, 네 번째로 미래의 보상이 최고점에 이를 때까지 반복 경험하여 최적의 정책(policy)을 도출할 수 있다.
인공 신경망은 모델의 구성, 활성 함수(Activation Function), 손실 함수(Loss Function) 또는 비용 함수(Cost Function), 학습 알고리즘, 최적화 알고리즘 등에 의해 그 구조가 특정되며, 학습 전에 하이퍼파라미터(Hyperparameter)가 미리 설정되고, 이후에 학습을 통해 모델 파라미터(Model Parameter)가 설정되어 내용이 특정될 수 있다.
예컨대, 인공 신경망의 구조를 결정하는 요소에는 은닉층의 개수, 각 은닉층에 포함된 은닉 노드의 개수, 입력 특징 벡터(Input Feature Vector), 대상 특징 벡터(Target Feature Vector) 등이 포함될 수 있다.
하이퍼파라미터는 모델 파라미터의 초기값 등과 같이 학습을 위하여 초기에 설정하여야 하는 여러 파라미터들을 포함할 수 있다. 그리고, 모델 파라미터는 학습을 통하여 결정하고자 하는 여러 파라미터들을 포함할 수 있다.
예컨대, 하이퍼파라미터에는 노드 간 가중치 초기값, 노드 간 편향 초기값, 미니 배치(Mini-batch) 크기, 학습 반복 횟수, 학습률(Learning Rate) 등이 포함될 수 있다. 그리고, 모델 파라미터에는 노드 간 가중치, 노드 간 편향 등이 포함될 수 있다.
손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표(기준)로 이용될 수 있다. 인공 신경망에서 학습은 손실 함수를 줄이기 위하여 모델 파라미터들을 조작하는 과정을 의미하며, 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다.
손실 함수는 주로 평균 제곱 오차(MSE: Mean Squared Error) 또는 교차 엔트로피 오차(CEE, Cross Entropy Error)를 사용할 수 있으며, 본 발명이 이에 한정되지는 않는다.
교차 엔트로피 오차는 정답 레이블이 원 핫 인코딩(one-hot encoding)된 경우에 사용될 수 있다. 원 핫 인코딩은 정답에 해당하는 뉴런에 대하여만 정답 레이블 값을 1로, 정답이 아닌 뉴런은 정답 레이블 값이 0으로 설정하는 인코딩 방법을 포함할 수 있다.
머신 러닝 또는 딥 러닝에서는 손실 함수를 최소화하기 위하여 학습 최적화 알고리즘을 이용할 수 있으며, 학습 최적화 알고리즘은 경사 하강법(GD: Gradient Descent), 확률적 경사 하강법(SGD: Stochastic Gradient Descent), 모멘텀(Momentum), NAG(Nesterov Accelerate Gradient), Adagrad, AdaDelta, RMSProp, Adam, Nadam 등을 포함할 수 있다.
경사 하강법은 현재 상태에서 손실 함수의 기울기를 고려하여 손실 함수값을 줄이는 방향으로 모델 파라미터를 조정하는 기법을 포함할 수 있다.
모델 파라미터를 조정하는 방향은 스텝(step) 방향, 조정하는 크기는 스텝 사이즈(size)라고 칭할 수 있다.
이때, 스텝 사이즈는 학습률을 의미할 수 있다.
경사 하강법은 손실 함수를 각 모델 파라미터들로 편미분하여 기울기를 획득하고, 모델 파라미터들을 획득한 기울기 방향으로 학습률만큼 변경하여 갱신할 수 있다.
확률적 경사 하강법은 학습 데이터를 미니 배치로 나누고, 각 미니 배치마다 경사 하강법을 수행하여 경사 하강의 빈도를 높인 기법을 포함할 수 있다.
Adagrad, AdaDelta 및 RMSProp는 SGD에서 스텝 사이즈를 조절하여 최적화 정확도를 높이는 기법을 포함할 수 있다. SGD에서 모멘텀 및 NAG는 스텝 방향을 조절하여 최적화 정확도를 높이는 기법을 포함할 수 있다. Adam은 모멘텀과 RMSProp를 조합하여 스텝 사이즈와 스텝 방향을 조절하여 최적화 정확도를 높이는 기법을 포함할 수 있다. Nadam은 NAG와 RMSProp를 조합하여 스텝 사이즈와 스텝 방향을 조절하여 최적화 정확도를 높이는 기법을 포함할 수 있다.
인공 신경망의 학습 속도와 정확도는 인공 신경망의 구조와 학습 최적화 알고리즘의 종류뿐만 아니라, 하이퍼파라미터에 크게 좌우되는 특징을 포함할 수 있다. 따라서, 좋은 학습 모델을 획득하기 위하여는 적당한 인공 신경망의 구조와 학습 알고리즘을 결정하는 것뿐만 아니라, 적당한 하이퍼파라미터를 설정하는 것이 중요할 수 있다.
통상적으로 하이퍼파라미터는 실험적으로 다양한 값으로 설정해가며 인공 신경망을 학습시켜보고, 학습 결과 안정적인 학습 속도와 정확도를 제공하는 최적의 값으로 설정할 수 있다.
실시예에서는 복수의 로봇(100)이 동시에 음악을 재생하고, 각각의 로봇(100)들은 동일한 음악에서 서로 다른 사운드 부분을 재생할 수 있다. 예를 들어, 하나의 로봇(100)은 음악 중 음성을 재생하고, 다른 로봇(100)은 고음역의 악기소리를 재생하고, 또 다른 로봇(100)은 저음역의 악기소리를 재생할 수 있다.
즉, 실시예에서는 복수의 로봇(100)을 사용하여 사용자가 음악을 들으면서 음원의 입체감을 느낄 수 있는 멀티채널 음악을 재생할 수 있다. 이러한 멀티채널 음악을 재생하기 위해, 복수의 로봇(100) 각각은 사용자의 위치, 사용자와의 거리 등 공간정보를 파악할 수 있어야 한다.
각각의 로봇(100)이 파악된 공간정보를 기반으로 멀티채널 음악을 재생하려면, 그 공간정보에 대응하는 사운드시나리오를 가지고 있는 것이 적절하다. 한편, 이러한 사운드시나리오에 대응하는 공간정보에 대한 맵을 가지고 있다면, 용이하게 사운드시나리오 대로 음악을 재생할 수 있다.
즉, 로봇(100)이 공간정보를 파악하고, 기 저장된 맵 중 파악된 공간정보와 일치하는 맵을 불러오고, 그 맵에 대응하는 사운드시나리오 대로 음악을 재생할 수 있는 것이다.
실시예에서는, 복수의 로봇(100)을 사용하여 입체감 있는 멀티채널 음악을 재생하기 위해, 각 로봇(100)들이 사용자의 위치에 대한 공간정보를 파악할 수 있다. 이러한 공간정보를 파악하기 위해, 복수의 로봇(100) 중 마스터로봇(101)을 선정할 수 있다. 마스터로봇(101)은 나머지 로봇(100)들인 슬래이브로봇들의 동작을 제어할 수 있다.
이후, 마스터로봇(101)은 사운드맵을 생성할 수 있다. 사운드맵은 현재 상태에서 로봇(100)과 사용자 간 공간정보를 저장한 것으로 음악 재생을 위해 생성될 수 있다. 이후 마스터로봇(101)은 사운드맵에 대응하는 뮤직시나리오에 따른 음악을 재생하기 위해 입력되는 음원을 멀티채널로 출력하기 위해 음원을 분리하고, 분리된 음원을 업믹싱할 수 있다. 또한, 마스터로봇(101)은 상기 사운드맵을 업데이트 할 수 있다. 이하에서는 전술한 실시예의 내용을 더욱 구체적으로 설명한다.
도 2는 일 실시예에 따른 로봇(100)의 음악재생방법을 설명하기 위한 순서도이다. 도 4 내지 도 8은 일 실시예에 따른 로봇(100)의 음악재생방법을 더욱 구체적으로 설명하기 위한 순서도이다.
실시예에 따른 음악 재생방법은 마스터로봇(101) 결정단계, 음악 재생을 위한 마스터로봇(101) 거리측정단계, 음악 재생을 위한 사운드맵 생성단계, 음악 재생단계를 포함할 수 있다.
마스터로봇(101) 결정단계에서는, 서로 일정한 거리를 두고 배치되는 복수의 로봇(100) 중 하나를 마스터로봇(101)으로 결정하고 나머지를 슬래이브로봇으로 결정할 수 있다(S110). 도 4를 참조하면, 마스터로봇(101) 결정단계는 기동어 입력단계, 정렬단계, 안면검출단계 및 마스터로봇(101) 선택단계를 포함할 수 있다.
기동어 입력단계에서는, 상기 로봇(100)이 사용자가 발화하는 음성명령인 기동어를 입력받을 수 있다(S111). 입력받는 기동어는 음악의 재생을 명령하는 내용일 수 있다.
정렬단계에서는, 상기 로봇(100)이 사용자를 향하여 정렬할 수 있다(S112). 이때, 복수의 로봇(100)들은 헤드부(110)를 회전하여 사용자의 안면을 바라볼 수 있다. 도 5를 참조하면, 정렬단계는 방향파악단계 및 카메라 방향전환단계를 포함할 수 있다.
방향파악단계에서는, 상기 로봇(100)이 사용자의 발화신호를 입력받아 사용자가 위치하는 방향을 파악할 수 있다(S1121).
전술한 바와 같이, 로봇(100)에 구비되는 멀티채널 마이크는 적어도 2개의 서로다른 채널에서 각각 사운드를 입력받을 수 있다. 각 채널은 적어도 하나의 독립된 마이크를 구비할 수 있고, 이러한 복수의 마이크들은 서로 일정거리 이격되어 구비될 수 있다.
각 채널들은 동일한 사운드를 각각 독립적으로 입력받으며, 인간이 2개의 귀에서 동일한 사운드를 각각 독립적으로 입력받고 입력받은 사운드의 차이를 파악하여 사운드가 발생하는 방향을 인식하는 것처럼, 로봇(100)은 각 채널들로 입력받는 동일한 사운드의 차이를 파악하여 사운드가 발생하는 방향을 파악할 수 있다.
예를 들어, 멀티채널 마이크의 각 채널과 연결된 마이크는 서로 이격된 위치에 배치되므로, 로봇(100)은 각 마이크에 유입된 신호의 도달시간 차이, 사운드가 가지는 파형의 구조적인 차이, 주파수 응답 등을 분석하여 방향성을 가진 사운드를 추출할 수 있다. 한편, 동일한 방법으로 로봇(100)은 멀티채널 마이크로 입력되는 방향성을 가진 사운드를 생성하는 음원의 방향을 파악할 수 있다.
따라서, 실시예에서는 로봇(100)이 상기의 방법으로 사용자가 발화하는 기동어의 방향을 파악함으로써 사용자가 위치하는 방향을 파악할 수 있다.
카메라 방향전환단계에서는, 상기 로봇(100)의 헤드부(110)를 회전하여 상기 헤드부(110)에 구비된 상기 카메라(140)가 사용자를 바라보도록 할 수 있다(S1122).
안면검출단계에서는, 상기 로봇(100)에 구비된 카메라(140)가 사용자의 안면을 인식하여 촬영할 수 있다(S113).
마스터로봇(101) 선택단계에서는, 복수의 상기 로봇(100)이 촬영한 복수의 사용자 안면이미지를 기반으로 마스터로봇(101)을 선택할 수 있다(S114). 이때, 복수의 로봇(100)이 각각 촬영한 복수의 촬영된 안면이미지 중 사용자의 안면 정면방향에 가장 가까운 이미지를 촬영한 로봇(100)을 마스터로봇(101)으로 선택할 수 있다.
즉, 복수의 로봇(100) 중 사용자의 안면 정면방향과 일치하거나, 이에 가장 가까운 이미지를 촬영한 로봇(100)은 스스로 마스터로봇(101)이 되고, 나머지 로봇(100)들은 슬래이브로봇이 될 수 있다. 이후 마스터로봇(101)은 슬래이브로봇의 동작을 제어하여 음악을 재생할 수 있다.
이때, 각 로봇(100)에서 촬영한 안면이미지들 중 어느 것이 사용자의 안면 정면방향에 가장 가까운 이미지인지는, 예를 들어, 최대우도추정(Maximum Likelihood Estimation, MLE) 등의 기법을 사용하여 판단할 수 있다.
음악 재생을 위한 마스터로봇(101) 거리측정단계에서는, 상기 마스터로봇(101)이 사용자와 상기 마스터로봇(101) 사이의 거리를 측정할 수 있다(S120). 예를 들어, 마스터로봇(101)에 구비된 카메라(140)는 깊이 카메라의 기능을 가지고, 이를 이용하여 마스터로봇(101)은 사용자까지의 거리를 측정할 수 있다.
음악 재생을 위한 사운드맵 생성단계에서는, 상기 마스터로봇(101)이 사용자와 상기 로봇(100) 사이의 거리, 상기 로봇(100)의 방향각을 포함한 정보를 가진 사운드맵을 생성할 수 있다(S130).
이때, 상기 방향각은 사용자와 상기 마스터로봇(101)을 연결한 기준선으로부터 상기 사용자와 상기 슬래이브로봇을 연결한 측정선까지 측정한 각도로 정의될 수 있다. 로봇(100) 중 마스터로봇(101)은 스스로 사용자와의 거리를 측정하고 방향각은 0일 수 있다.
도 3은 일 실시예에 따른 로봇(100)의 작동을 설명하기 위한 도면이다. 전술한 마스터로봇(101) 결정방식에 의해, 로봇(100) 중 사용자의 안면방향과 일치하는 방향을 바라보는 것이 마스터로봇(101)으로 결정되고, 나머지 로봇(100)은 제1 내지 제3 슬래이브로봇(102-1, 102-2, 102-3)으로 결정된다. 다만, 도 3에서 로봇(100)은 총 4개로 구비되었으나, 다른 실시예로 로봇(100)은 2개, 3개 또는 5개 이상으로 구비될 수 있다. 이하에서는 도 3에 도시된 바와 같이, 총 4개의 로봇(100)을 사용하여 음악을 재생하는 경우를 예를 들어 설명한다.
도 3을 참조하면, 마스터로봇(101)의 방향각은 O이고, 마스터로봇(101)과 사용자 사이의 거리는 D1이다. 제1슬래이브로봇(102-1)의 방향각은 기준선 L1으로부터 반시계방향으로 측정선 L2까지 측정한 각도 al, 제2슬래이브로봇(102-2)의 방향각은 기준선 L1으로부터 반시계방향으로 측정선 L3까지 측정한 각도 a2, 제3슬래이브로봇(102-3)의 방향각은 기준선 L1으로부터 반시계방향으로 측정선 L4까지 측정한 각도 a3로 정의될 수 있다.
각 로봇(100)은 헤드부(110)의 회전각도를 파악함으로써, 사용자를 바라보는 상태에서 기준선 L1에 대하여 각 측정선 L2, L3, L4가 얼마의 각도만큼 회전하였는지를 측정하여 각각의 방향각 a1, a2, a3을 도출할 수 있다.
실시예에서 사운드맵에 포함되는 사용자와 로봇(100) 사이의 거리 중, 사용자와 마스터로봇(101) 사이의 거리 D1은 전술한 바와 같이, 마스터로봇(101)이 카메라(140)를 이용하여 측정할 수 있다. 나머지 로봇(100) 즉, 각 슬래이브로봇과 사용자 사이의 거리 D2, D3, D4는 방위각 a1, a2, a3과, D1과, 마스터로봇(101)과 슬래이브로봇 사이의 거리 K1, K2, K3의 기하학적 관계를 이용하여 구할 수 있다. 마스터로봇(101)과 슬래이브로봇 사이의 거리 K1, K2, K3을 구하는 방법은 하기에 구체적으로 설명한다.
도 6을 참조하면, 상기 음악 재생을 위한 사운드맵 생성단계(S130)는, 기동어 인식단계, 포지셔닝 시그널을 출력하는 단계, 음악 재생을 위한 포지셔닝 시그널 입력단계, 제1사운드맵 생성단계를 포함할 수 있다.
기동어 인식단계에서는, 상기 마스터로봇(101)이 사용자가 발화한 기동어를 인식할 수 있다(S131). 이때, 마스터로봇(101)은 기동어를 통해 재생할 음악을 특정할 수 있다. 즉, 사용자가 재생을 요구하는 특정 음악을 인식하고, 그 음악에 대한 재생을 준비할 수 있다.
포지셔닝 시그널을 출력하는 단계에서는, 상기 슬래이브로봇이 오토포지셔닝을 위한 포지셔닝 시그널을 출력할 수 있다(S132). 상기 포지셔닝 시그널은 복수의 상기 로봇(100) 사이에 서로 약속된 음파일 수 있다. 포지셔닝 시그널은 예를 들어, 음악, 알람 기타 로봇(100)이 멀티채널 마이크로 인식할 수 있는 것일 수 있다.
음악 재생을 위한 포지셔닝 시그널 입력단계에서는, 상기 마스터로봇(101)에 구비되는 멀티채널 마이크로 상기 포지셔닝 시그널이 입력될 수 있다(S133).
상기 사용자와 상기 로봇(100) 사이의 거리는, 상기 방향각 a1, a2, a3과, 상기 마스터로봇(101)이 상기 카메라(140)를 이용하여 측정한 사용자와 상기 마스터로봇(101) 사이의 거리 D1과, 타임딜레이(time delay), 그리고 음속으로부터 도출될 수 있다.
타임딜레이는 상기 슬래이브로봇이 출력하는 상기 포지셔닝 시그널을 상기 마스터로봇(101)이 입력받는 시간과 상기 마스터로봇(101)이 직접 재생하는 상기 포지셔닝 시그널의 재생시간 차이로 정의될 수 있다.
마스터로봇(101)과 슬래이브로봇은 동일한 시간에 동일한 포지셔닝 시그널을 재생할 수 있다. 이때, 마스터로봇(101)은 포지셔닝 시그널을 재생하지 않을 수도 있다. 마스터로봇(101)이 포지셔닝 시그널을 재생하지 않는 경우에도, 모든 슬래이브로봇들이 동시에 포지셔닝 시그널을 재생하고, 마스터로봇(101)은 포지셔닝 시그널이 재생되는 시간을 알고 있으므로 상기 타임딜레이를 도출할 수 있다.
마스터로봇(101)과 슬래이브로봇은 서로 이격된 위치에 배치되므로, 타임딜레이가 발생할 수 있고, 마스터로봇(101)은 상기 타임딜레이를 도출할 수 있다. 타임딜레이에 음속을 곱하면 마스터로봇(101)과 슬래이브로봇 사이의 거리 K1, K2, K3를 구할 수 있다.
따라서, 상기 사용자와 상기 로봇(100) 사이의 거리 D2, D3, D4는, 상기 타임딜레이와 음속을 곱하여 계산되는 상기 마스터로봇(101)과 상기 슬래이브로봇 사이의 거리와 K1, K2, K3, 상기 사용자와 상기 마스터로봇(101) 사이의 거리 D1과, 상기 방향각 a1, a2, a3으로부터 삼각측량으로 구할 수 있다. 이러한 방법으로 사용자와 로봇(100) 사이의 거리 D1, D2, D3, D4를 모두 구할 수 있다.
제1사운드맵 생성단계에서는, 상기 마스터로봇(101)이 상기 포지셔닝 시그널로부터 상기 사용자와 상기 로봇(100) 사이의 거리 D1, D2, D3, D4와, 상기 로봇(100)의 방향각 a1, a2, a3을 포함한 정보를 가진 제1사운드맵을 생성할 수 있다(S134). 물론 마스터로봇(101)의 방향각은 0이다.
음악 재생단계에서는, 상기 로봇(100)이 상기 사운드맵에 대응하는 사운드시나리오를 가지도록 음악을 재생할 수 있다(S140). 도 7을 참조하면, 상기 음악 재생단계는, 사운드시나리오 선택단계, 업믹싱단계, 음원출력단계를 포함할 수 있다.
사운드시나리오 선택단계에서는, 상기 마스터로봇(101)이, 기 생성되어 저장된 복수의 제2사운드맵 중 상기 제1사운드맵과 가장 유사한 제2사운드맵을 선택하고, 선택된 상기 제2사운드맵에 대응하는 사운드시나리오를 선택할 수 있다(S141).
제2사운드맵은 사용자와 로봇(100) 사이의 거리, 로봇(100)의 방향각을 기록한 기 설정된 사운드맵이고, 제2사운드맵은 복수로 구비되고, 복수의 제2사운드맵 각각에 대응하는 사운드시나리오가 적어도 하나 구비될 수 있다.
사운드시나리오는 멀티채널 음악을 재생하는 시나리오이며, 예를 들어, 각 로봇(100)에 음원을 배치하여 입체음원을 출력하는 시나리오일 수 있다. 상기 사운드시나리오는 복수의 상기 제2사운드맵과 동일한 개수 또는 그보다 많은 개수로 구비될 수 있다. 즉, 각각의 제2사운드맵은 대응되는 복수의 사운드시나리오를 가질 수 있고, 마스터로봇(101)은 복수의 사운드시나리오 중 사용자의 명령 또는 상황을 고려하여 적절한 사운드시나리오를 선택할 수 있다.
업믹싱단계에서는, 복수의 상기 로봇(100)이 선택된 상기 사운드시나리오에 따라 음악을 재생하도록, 상기 마스터로봇(101)이 음원을 업믹싱할 수 있다(S142). 업믹싱은 사운드시나리오에 따라 음악이 재생되도록, 음원을 분리하고 분리된 각 음원에 여러가지 효과를 주어 입체적으로 재생되도록 하는 것이다. 도 8을 참조하면, 업믹싱단계는, 음원분리단계, 입체음원 생성단계를 포함할 수 있다.
음원분리단계에서는, 상기 마스터로봇(101)이 복수의 상기 로봇(100)이 각각 음원을 재생하도록 원래의 음원을 복수로 분리할 수 있다(S1421). 원래의 음원은 1채널(mono) 또는 2채널(stereo) 음원일 수 있다. 예를 들어, 1채널 또는 2채널 음원을 5.1채널 음악으로 재생하는 경우, 마스터로봇(101)은 1채널 또는 2채널 음원을 분리하여 5.1채널 음원으로 만들 수 있다.
입체음원 생성단계에서는, 상기 마스터로봇(101)이 복수의 상기 로봇(100) 각각에 음원을 부여할 수 있다(S1422). 이때, 분리된 각각의 음원이 복수의 로봇(100) 각각에 서로 다르게 부여될 수 있다. 물론, 마스터로봇(101)에게도 음원이 부여될 수 있다.
마스터로봇(101)은 부여된 각각의 음원의 볼륨, 공간적 위치(panning), 감쇠(attenuation), 잔향(reverberation) 중 적어도 하나를 조절하여 입체적 음원으로 만들 수 있다(S1422). 각 로봇(100)에 독립적으로 음원의 볼륨, 공간적 위치, 감쇠, 잔향을 조절함으로써, 사용자는 재생되는 음악을 담은 음향이 이동하는 것처럼 느끼는 등의 음악의 입체적인 재생이 가능하다.
음원출력단계에서는, 복수의 상기 로봇(100)이 음원을 출력할 수 있다(S143). 전술한 음원분리 및 업믹싱된 음악이 복수의 로봇(100)에 의해 각각 재생되므로, 사용자는 입체적은 음악을 들을 수 있다.
실시예에서, 사용자 또는 로봇(100)의 위치는 다양하게 변경될 수 있다. 이에 따라, 상기 제2사운드맵 즉, 대응되는 사운드시나리오를 적어도 하나 가지는 사운드맵을 추가하는 업데이트가 필요하다.
사운드맵 업데이트는 기존의 제2사운드맵에 새로운 제2사운드맵을 추가하여, 결과적으로 제2사운드맵의 갯수가 증가하는 방식으로 진행될 수 있다. 이하에서 사운드맵 업데이트방법을 구체적으로 설명한다. 도 9 및 도 10은 일 실시예에 따른 사운드맵 업데이트 방법을 설명하기 위한 순서도이다.
한편, 이하에서 다시 도 3을 참조하여 설명한다. 앞서 도 3을 참조하여 사운드맵 생성방법을 설명하였고, 이하에서는 도 3을 참조하여 사운드맵 업데이트방법을 설명한다. 사운드맵 생성방법과 사운드맵 업데이트방법은 서로 유사한 과정이 있으므로, 사운드맵 업데이트방법의 설명에서도 도 3을 참조한다.
도 9를 참조하면, 사운드맵 업데이트방법은, 마스터로봇(101) 결정단계, 업데이트를 위한 마스터로봇(101) 거리측정단계, 업데이트를 위한 포지셔닝 시그널 입력단계, 로봇(100)에 대한 정보취득단계, 로봇(100)에 대한 정보저장단계를 포함할 수 있다.
마스터로봇(101) 결정단계에서는, 서로 일정한 거리를 두고 배치되는 복수의 로봇(100) 중 하나를 마스터로봇(101)으로 결정하고 나머지를 슬래이브로봇으로 결정할 수 있다(S210). 이는 상기 S110 단계와 동일하게 진행할 수 있다.
업데이트를 위한 마스터로봇(101) 거리측정단계에서는, 상기 마스터로봇(101)이 사용자와 상기 마스터로봇(101) 사이의 거리를 측정할 수 있다(S220). 이는 상기 S120 단계와 동일하게 진행할 수 있다.
업데이트를 위한 포지셔닝 시그널 입력단계에서는, 상기 마스터로봇(101)에 구비되는 멀티채널 마이크로 상기 슬래이브로봇이 출력하는 포지셔닝 시그널이 입력될 수 있다(S230). 이는 상기 S133 단계와 동일하게 진행할 수 있다.
로봇(100)에 대한 정보취득단계에서는, 상기 마스터로봇(101)이 입력되는 상기 포지셔닝 시그널을 기반으로 상기 로봇(100)의 위치정보를 포함하는 정보를 취득할 수 있다(S240). 도 10을 참조하면, 로봇(100)에 대한 정보취득단계는, 방향정보 취득단계, PSD매트릭스(power spectral density matrix) 계산단계, PSD매트릭스 보정단계, 빔포밍(beam forming)에 의한 포지셔닝 시그널 입력단계, 업데이트를 위한 사운드맵 생성단계를 포함할 수 있다.
마스터로봇(101) 결정단계(S210)와 업데이트를 위한 마스터로봇(101) 거리측정단계(S210)를 거친 후, 마스터로봇(101)은 슬래이브로봇 각각에 대한 방향각 a1, a2, a3를 취득할 수 있다. 상기 방향각 취득방법은 전술한 바와 같다.
한편, 사운드맵 업데이트 과정에서도 마스터로봇(101)과 슬래이브로봇 사이의 거리 K1, K2, K3를 구하는데, 이 값들의 정확성을 높이기 위해 사운드 빔포밍을 포함하는 다음의 단계를 수행할 수 있다.
방향정보 취득단계에서는, 상기 마스터로봇(101)이 상기 슬래이브로봇이 출력하는 포지셔닝 시그널로부터 상기 슬래이브로봇의 방향정보를 취득할 수 있다(S241). 슬래이브로봇의 방향정보는, 마스터로봇(101)을 기준으로 마스터로봇(101)에 대하여 슬래이브로봇이 위치하는 방향을 의미할 수 있다. 전술한 바와 같이, 포지셔닝 시그널은 복수의 상기 로봇(100) 사이에 서로 약속된 음파일 수 있다.
마스터로봇(101)은 구비된 멀티채널 마이크로 입력되는 포지셔닝 시그널의 방향을 파악함으로써, 슬래이브로봇에 대한 방향정보를 취득할 수 있다. 즉, 상기 S112 단계에서 로봇(100)이 사용자가 발화하는 기동어의 방향을 파악함으로써 사용자가 위치하는 방향을 파악하는 방식을 설명하였다. S241 단계에서는 동일한 방식으로, 마스터로봇(101)은 슬래이브로봇이 출력하는 포지셔닝 시그널의 방향을 파악함으로써 슬래이브로봇이 위치하는 방향을 파악할 수 있다.
PSD매트릭스 계산단계에서는, 상기 마스터로봇(101)이 취득된 상기 슬래이브로봇의 방향정보와 일치하는 방향으로부터 입력되는 사운드의 PSD매트릭스(power spectral density matrix)를 계산할 수 있다(S242). 마스터로봇(101)은 계산된 PSD매트릭스를 통해 입력된 잡음의 공간적인 배치 및 분포상태 등을 파악할 수 있다.
PSD매트릭스 보정단계에서는, 마스터로봇(101)이 상기 입력되는 사운드의 PSD매트릭스에서 상기 포지셔닝 시그널을 제외한 사운드를 제거할 수 있다(S243). 마스터로봇(101)이 멀티채널 마이크를 통해 입력받는 사운드에는 슬래이브로봇이 생성하는 포지셔닝 시그널 이외에, TV, 공기청정기 등 가전제품에서 발생하는 사운드, 사용자 또는 제3자의 음성 등의 잡음이 포함될 수 있다.
포지셔닝 시그널 이외의 잡음으로 인해, 마스터로봇(101)이 사용자와 슬래이브로봇 사이의 거리 D2, D3, D4를 부정확하게 파악할 수 있다. 따라서, 이러한 잡음을 제거할 필요가 있다.
마스터로봇(101)은 포지셔닝 시그널의 특징을 알고 있으므로, 입력되는 사운드의 PSD매트릭스에서 포지셔닝 시그널이 아닌 잡음을 추출하고, 이러한 잡음을 PSD매트릭스에서 제거하여, 잡음이 제거된 PSD매트릭스인 보정된 PSD매트릭스를 생성할 수 있다.
빔포밍에 의한 포지셔닝 시그널 입력단계에서는, 상기 마스터로봇(101)이 보정된 PSD매트릭스로부터 취득되는 상기 입력되는 사운드의 방향정보와 일치하는 방향으로 사운드 빔포밍(beam forming)을 수행하여 상기 슬래이브로봇으로부터 상기 포지셔닝 시그널을 입력받을 수 있다(S244). 마스터로봇(101)은 상기 포지셔닝 시그널을 입력받아 전술한 타임딜레이를 측정할 수 있다.
마스터로봇(101)은 빔포밍을 통해 특정방향에서 입력되는 사운드를 선택적으로 인식할 수 있다. 빔포밍은 예를 들어, 멀티채널 마이크에 구비되는 각각의 마이크들에 서로다른 입력값을 부여하여, 특정방향에서 생성되는 사운드를 더욱 정확하게 입력받을 수 있다.
마스터로봇(101)은 슬래이브로봇 방향으로 빔포밍을 하여, 슬래이브로봇으로부터 입력되는 포지셔닝 시그널을 더욱 정확하게 입력받을 수 있고, 빔포밍을 하지않는 경우와 비교하여, 특히, 상기 타임딜레이의 측정값의 정밀도가 향상될 수 있다.
업데이트를 위한 사운드맵 생성단계에서는, 상기 마스터로봇(101)이 상기 포지셔닝 시그널로부터 상기 사용자와 상기 로봇(100) 사이의 거리, 상기 로봇(100)의 방향각을 포함한 정보를 가진 사운드맵을 생성할 수 있다(S245).
이때, 상기 사용자와 상기 로봇(100) 사이의 거리는, 상기 방향각과, 상기 마스터로봇(101)이 상기 카메라(140)를 이용하여 측정한 사용자와 상기 마스터로봇(101) 사이의 거리와, 상기 슬래이브로봇이 출력하는 상기 포지셔닝 시그널을 상기 마스터로봇(101)이 입력받는 시간과 상기 슬래이브로봇이 직접 재생하는 상기 포지셔닝 시그널의 재생시간 차이로 정의되는 타임딜레이와, 음속으로부터 도출될 수 있다.
즉, 상기 사용자와 상기 로봇(100) 사이의 거리 D1, D2, D3, D4는, 상기 타임딜레이와 음속을 곱하여 계산되는 상기 마스터로봇(101)과 상기 슬래이브로봇 사이의 거리 K1, K2, K3와, 상기 사용자와 상기 마스터로봇(101) 사이의 거리 D1과, 상기 방향각 a1, a2, a3으로부터 도출될 수 있다. 물론, 마스터로봇(101)의 방향각은 0이다. 이에 대해서는 전술한 바와 동일하므로, 중복설명은 생략한다.
로봇(100)에 대한 정보저장단계에서는, 상기 마스터로봇(101)이 취득된 상기 로봇(100)에 대한 정보를 저장할 수 있다(S250). 상기 로봇(100)에 대한 정보는 업데이트를 위해 새로 생성된 사운드맵에 기록된 내용을 의미할 수 있다.
상기 로봇(100)에 대한 정보저장단계에서는, 상기 사운드맵 생성단계에서 새로 생성된 사운드맵을 기 생성되어 저장된 사운드맵과 함께 저장할 수 있다. 전술한 바와 같이, 대응하는 사운드시나리오를 적어도 하나 가진 사운드맵에 새로운 사운드맵을 추가하여, 결과적으로 사운드맵의 갯수가 증가하는 방식으로 사운드맵 업데이트가 진행되기 때문이다. 이후, 새로 추가된 사운드맵에 대응되는 사운드시나리오를 작성하여 음악의 재생에 사용할 수 있다.
슬래이브로봇은 복수로 구비되므로, 마스터로봇(101)은 각각의 슬래이브로봇에 대해 전술한 업데이트과정을 동시에 또는 시간적인 차이를 두고 진행하여, 복수의 슬래이브로봇에 대한 정보를 가진 사운드맵을 생성하고 업데이트할 수 있다.
실시예에서, 복수의 로봇(100) 중 마스터로봇(101)을 선정하고, 마스터로봇(101)이 나머지 슬래이브로봇을 제어함으로써, 복수의 로봇(100)이 효과적으로 입체적인 음악을 재생할 수 있다.
실시예에서, 복수의 로봇(100)의 배치가 변경되더라도, 변경된 위치에 대응하는 사운드맵을 찾고 이를 기반으로 음악을 재생할 수 있으므로, 사용자는 편리하게 로봇(100)의 배치를 변경할 수 있다.
실시예에서, 마스터로봇(101)은 슬래이브로봇으로부터 입력되는 사운드 중 포지셔닝 시그널을 제외한 잡음을 제거한 PSD매트릭스를 통해 슬래이브로봇의 방향정보를 정확히 파악할 수 있다. 또한, 마스터로봇(101)은 파악한 슬래이브로봇의 방향으로 빔포밍을 수행하여 포지셔닝 시그널을 입력받아 이를 기반으로 사용자와 로봇(100) 사이의 거리를 파악할 수 있다. 이러한 과정을 통해 마스터로봇(101)은 매우 정확한 사용자와 로봇(100) 사이의 거리를 취득하고, 이를 기반으로 정밀한 정보를 가진 사운드맵을 생성하고 업데이트할 수 있다.
이상 설명된 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 통상의 기술자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
실시예와 관련하여 전술한 바와 같이 몇 가지만을 기술하였지만, 이외에도 다양한 형태의 실시가 가능하다. 앞서 설명한 실시예들의 기술적 내용들은 서로 양립할 수 없는 기술이 아닌 이상은 다양한 형태로 조합될 수 있으며, 이를 통해 새로운 실시형태로 구현될 수도 있다.
실시예에서, 복수의 로봇 중 마스터로봇을 선정하고, 마스터로봇이 나머지 슬래이브로봇을 제어함으로써, 복수의 로봇이 효과적으로 입체적인 음악을 재생할 수 있다.

Claims (17)

  1. 서로 일정한 거리를 두고 배치되는 복수의 로봇 중 하나를 마스터로봇으로 결정하고 나머지를 슬래이브로봇으로 결정하는 마스터로봇 결정단계;
    상기 마스터로봇이 사용자와 상기 마스터로봇 사이의 거리를 측정하는 음악 재생을 위한 마스터로봇 거리측정단계;
    상기 마스터로봇이 사용자와 상기 로봇 사이의 거리, 상기 로봇의 방향각을 포함한 정보를 가진 사운드맵을 생성하는 음악 재생을 위한 사운드맵 생성단계; 및
    상기 로봇이 상기 사운드맵에 대응하는 사운드시나리오를 가지도록 음악을 재생하는 음악 재생단계
    를 포함하고,
    상기 방향각은,
    사용자와 상기 마스터로봇을 연결한 기준선으로부터 상기 사용자와 상기 슬래이브로봇을 연결한 측정선까지 측정한 각도로 정의되는,
    사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법.
  2. 제1항에 있어서,
    상기 마스터로봇 결정단계는,
    상기 로봇이 기동어를 입력받는 기동어 입력단계;
    상기 로봇이 사용자를 향하여 정렬하는 정렬단계;
    상기 로봇에 구비된 카메라가 사용자의 안면을 인식하여 촬영하는 안면검출단계; 및
    복수의 상기 로봇이 촬영한 복수의 사용자 안면이미지를 기반으로 마스터로봇을 선택하는 마스터로봇 선택단계
    를 포함하는, 사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법.
  3. 제2항에 있어서,
    상기 정렬단계는,
    상기 로봇이 사용자의 발화신호를 입력받아 사용자가 위치하는 방향을 파악하는 방향파악단계; 및
    상기 로봇의 헤드부를 회전하여 상기 헤드부에 구비된 상기 카메라가 사용자를 바라보도록 하는 카메라 방향전환단계
    를 포함하는, 사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법.
  4. 제2항에 있어서,
    상기 마스터로봇 선택단계는,
    복수의 촬영된 안면이미지 중 사용자의 안면 정면방향에 가장 가까운 이미지를 촬영한 로봇을 마스터로봇으로 선택하는, 사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법.
  5. 제1항에 있어서,
    상기 음악 재생을 위한 사운드맵 생성단계는,
    상기 마스터로봇이 기동어를 인식하는 기동어 인식단계;
    상기 슬래이브로봇이 오토포지셔닝을 위한 포지셔닝 시그널을 출력하는 단계;
    상기 마스터로봇에 구비되는 멀티채널 마이크로 상기 포지셔닝 시그널이 입력되는 음악 재생을 위한 포지셔닝 시그널 입력단계; 및
    상기 마스터로봇이 상기 포지셔닝 시그널로부터 상기 사용자와 상기 로봇 사이의 거리, 상기 로봇의 방향각을 포함한 정보를 가진 제1사운드맵을 생성하는 제1사운드맵 생성단계
    를 포함하는, 사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법.
  6. 제5항에 있어서,
    상기 포지셔닝 시그널은,
    복수의 상기 로봇 사이에 서로 약속된 음파인, 사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법.
  7. 제5항에 있어서,
    상기 사용자와 상기 로봇 사이의 거리는,
    상기 방향각과,
    상기 마스터로봇이 상기 카메라를 이용하여 측정한 사용자와 상기 마스터로봇 사이의 거리와,
    상기 슬래이브로봇이 출력하는 상기 포지셔닝 시그널을 상기 마스터로봇이 입력받는 시간과 상기 마스터로봇이 직접 재생하는 상기 포지셔닝 시그널의 재생시간 차이로 정의되는 타임딜레이(time delay)와,
    음속으로부터 도출되는, 사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법.
  8. 제7항에 있어서,
    상기 사용자와 상기 로봇 사이의 거리는,
    상기 타임딜레이와 음속을 곱하여 계산되는 상기 마스터로봇과 상기 슬래이브로봇 사이의 거리와,
    상기 사용자와 상기 마스터로봇 사이의 거리와,
    상기 방향각으로부터 도출되는, 사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법.
  9. 제5항에 있어서,
    상기 음악 재생단계는,
    상기 마스터로봇이, 기 생성되어 저장된 복수의 제2사운드맵 중 상기 제1사운드맵과 가장 유사한 제2사운드맵을 선택하고, 선택된 상기 제2사운드맵에 대응하는 사운드시나리오를 선택하는 사운드시나리오 선택단계;
    복수의 상기 로봇이 선택된 상기 사운드시나리오에 따라 음악을 재생하도록, 상기 마스터로봇이 음원을 업믹싱(upmixing)하는 업믹싱단계; 및
    복수의 상기 로봇이 음원을 출력하는 음원출력단계
    를 포함하는, 사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법.
  10. 제9항에 있어서,
    상기 사운드시나리오는,
    복수의 상기 제2사운드맵과 동일한 개수 또는 그보다 많은 개수로 구비되는, 사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법.
  11. 제9항에 있어서,
    상기 업믹싱단계는,
    상기 마스터로봇이 복수의 상기 로봇이 각각 음원을 재생하도록 원래의 음원을 복수로 분리하는 음원분리단계; 및
    상기 마스터로봇이 복수의 상기 로봇 각각에 음원을 부여하고, 부여된 각각의 음원의 볼륨, 공간적 위치(panning), 감쇠(attenuation), 잔향(reverberation) 중 적어도 하나를 조절하여 입체적 음원으로 만드는 입체음원 생성단계
    를 포함하는, 사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법.
  12. 서로 일정한 거리를 두고 배치되는 복수의 로봇 중 하나를 마스터로봇으로 결정하고 나머지를 슬래이브로봇으로 결정하는 마스터로봇 결정단계;
    상기 마스터로봇이 사용자와 상기 마스터로봇 사이의 거리를 측정하는 업데이트를 위한 마스터로봇 거리측정단계;
    상기 마스터로봇에 구비되는 멀티채널 마이크로 상기 슬래이브로봇이 출력하는 포지셔닝 시그널이 입력되는 업데이트를 위한 포지셔닝 시그널 입력단계;
    상기 마스터로봇이 입력되는 상기 포지셔닝 시그널을 기반으로 상기 로봇의 위치정보를 포함하는 정보를 취득하는 로봇에 대한 정보취득단계; 및
    상기 마스터로봇이 취득된 상기 로봇에 대한 정보를 저장하는 로봇에 대한 정보저장단계
    를 포함하는, 사운드맵 업데이트방법.
  13. 제12항에 있어서,
    상기 로봇에 대한 정보취득단계는,
    상기 마스터로봇이 상기 슬래이브로봇이 출력하는 포지셔닝 시그널로부터 상기 슬래이브로봇의 방향정보를 취득하는 방향정보 취득단계;
    상기 마스터로봇이 취득된 상기 슬래이브로봇의 방향정보와 일치하는 방향으로부터 입력되는 사운드의 PSD매트릭스(power spectral density matrix)를 계산하는 PSD매트릭스 계산단계;
    상기 마스터로봇이 상기 입력되는 사운드의 PSD매트릭스에서 상기 포지셔닝 시그널을 제외한 사운드를 제거하는 PSD매트릭스 보정단계;
    상기 마스터로봇이 보정된 PSD매트릭스로부터 취득되는 상기 입력되는 사운드의 방향정보와 일치하는 방향으로 사운드 빔포밍(beam forming)을 수행하여 상기 슬래이브로봇으로부터 상기 포지셔닝 시그널을 입력받는, 빔포밍에 의한 포지셔닝 시그널 입력단계; 및
    상기 마스터로봇이 상기 포지셔닝 시그널로부터 상기 사용자와 상기 로봇 사이의 거리, 상기 로봇의 방향각을 포함한 정보를 가진 사운드맵을 생성하는 업데이트를 위한 사운드맵 생성단계
    를 포함하는, 사운드맵 업데이트방법.
  14. 제13항에 있어서,
    상기 사용자와 상기 로봇 사이의 거리는,
    상기 방향각과,
    상기 마스터로봇이 상기 카메라를 이용하여 측정한 사용자와 상기 마스터로봇 사이의 거리와,
    상기 슬래이브로봇이 출력하는 상기 포지셔닝 시그널을 상기 마스터로봇이 입력받는 시간과 상기 슬래이브로봇이 직접 재생하는 상기 포지셔닝 시그널의 재생시간 차이로 정의되는 타임딜레이(time delay)와,
    음속으로부터 도출되는, 사운드맵 업데이트방법.
  15. 제14항에 있어서,
    상기 사용자와 상기 로봇 사이의 거리는,
    상기 타임딜레이와 음속을 곱하여 계산되는 상기 마스터로봇과 상기 슬래이브로봇 사이의 거리와,
    상기 사용자와 상기 마스터로봇 사이의 거리와,
    상기 방향각으로부터 도출되는, 사운드맵 업데이트방법.
  16. 제13항에 있어서,
    상기 로봇에 대한 정보저장단계는,
    상기 사운드맵 생성단계에서 새로 생성된 사운드맵을 기 생성되어 저장된 사운드맵과 함께 저장하는, 사운드맵 업데이트방법.
  17. 컴퓨터를 이용하여 제1항 내지 제16항의 방법 중 어느 한 항의 방법을 실행시키기 위하여 상기 컴퓨터로 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
PCT/KR2019/007355 2019-06-18 2019-06-18 사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법 및 사운드맵 업데이트방법 WO2020256176A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2019/007355 WO2020256176A1 (ko) 2019-06-18 2019-06-18 사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법 및 사운드맵 업데이트방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2019/007355 WO2020256176A1 (ko) 2019-06-18 2019-06-18 사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법 및 사운드맵 업데이트방법

Publications (1)

Publication Number Publication Date
WO2020256176A1 true WO2020256176A1 (ko) 2020-12-24

Family

ID=74036953

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/007355 WO2020256176A1 (ko) 2019-06-18 2019-06-18 사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법 및 사운드맵 업데이트방법

Country Status (1)

Country Link
WO (1) WO2020256176A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101082839B1 (ko) * 2008-12-22 2011-11-11 한국전자통신연구원 다채널 잡음처리 장치 및 방법
JP2014137226A (ja) * 2013-01-15 2014-07-28 Advanced Telecommunication Research Institute International 移動体、音響源マップ作成システムおよび音響源マップ作成方法
US20150208187A1 (en) * 2014-01-17 2015-07-23 Sony Corporation Distributed wireless speaker system
KR101620721B1 (ko) * 2014-10-02 2016-05-12 유한회사 밸류스트릿 복수의 모바일 기기를 이용한 다채널 오디오 할당 및 사용자 제스쳐 인식에 의한 오디오 데이터 컨트롤 방법 및 장치
KR101919508B1 (ko) * 2018-01-19 2018-11-16 주식회사 킨트 가상 공간에서의 사운드 신호 생성을 통한 입체음향 공급방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101082839B1 (ko) * 2008-12-22 2011-11-11 한국전자통신연구원 다채널 잡음처리 장치 및 방법
JP2014137226A (ja) * 2013-01-15 2014-07-28 Advanced Telecommunication Research Institute International 移動体、音響源マップ作成システムおよび音響源マップ作成方法
US20150208187A1 (en) * 2014-01-17 2015-07-23 Sony Corporation Distributed wireless speaker system
KR101620721B1 (ko) * 2014-10-02 2016-05-12 유한회사 밸류스트릿 복수의 모바일 기기를 이용한 다채널 오디오 할당 및 사용자 제스쳐 인식에 의한 오디오 데이터 컨트롤 방법 및 장치
KR101919508B1 (ko) * 2018-01-19 2018-11-16 주식회사 킨트 가상 공간에서의 사운드 신호 생성을 통한 입체음향 공급방법 및 장치

Similar Documents

Publication Publication Date Title
Settle et al. End-to-end multi-speaker speech recognition
KR102281515B1 (ko) 개인화 언어 모델을 이용하여 사용자의 음성을 인식하는 인공 지능 장치 및 그 방법
US10986235B2 (en) Headset and operating method thereof
WO2019182265A1 (ko) 인공 지능 기기 및 그의 동작 방법
KR20210057611A (ko) 이미지 데이터에 포함된 객체를 인식하는 인공 지능 장치 및 그 방법
US20190392851A1 (en) Artificial intelligence-based apparatus and method for controlling home theater speech
US11398222B2 (en) Artificial intelligence apparatus and method for recognizing speech of user in consideration of user's application usage log
WO2018174397A1 (ko) 전자 장치 및 제어 방법
WO2021112631A1 (en) Device, method, and program for enhancing output content through iterative generation
Zhang et al. Robust DOA Estimation Based on Convolutional Neural Network and Time-Frequency Masking.
WO2020184746A1 (ko) 주행 정보에 기반한 오토 스탑 시스템을 제어하는 인공 지능 장치 및 그 방법
WO2020241920A1 (ko) 장치 정보에 기반하여, 다른 장치를 제어할 수 있는 인공 지능 장치
WO2020130260A1 (en) Mobile terminal and method of operating the same
WO2021177805A1 (ko) 음원 위치 추적 및 음원 상쇄 장치, 방법, 및 시스템
KR20210079666A (ko) 음향 모델을 학습시키기 위한 인공 지능 장치
WO2021002649A1 (ko) 개별 화자 별 음성 생성 방법 및 컴퓨터 프로그램
KR20190084859A (ko) 의미론적으로 생성된 결과 세트에 기초하여 오디오 스트림을 라우팅하는 기법
López-Espejo et al. A novel loss function and training strategy for noise-robust keyword spotting
Majumder et al. Active audio-visual separation of dynamic sound sources
WO2021040105A1 (ko) 개체명 테이블을 생성하는 인공 지능 장치 및 그 방법
WO2020241923A1 (ko) 사용자 환경에서의 음성 인식 모델의 성능을 예측하는 인공 지능 장치 및 그 방법
WO2020256176A1 (ko) 사운드맵을 이용한 사운드 출력이 가능한 로봇의 음악 재생방법 및 사운드맵 업데이트방법
Oliveira et al. An active audition framework for auditory-driven HRI: Application to interactive robot dancing
Braun et al. Attention-driven multi-sensor selection
WO2018117608A1 (ko) 전자 장치, 그의 사용자 발화 의도 판단 방법 및 비일시적 컴퓨터 판독가능 기록매체

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19934289

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19934289

Country of ref document: EP

Kind code of ref document: A1