KR20200104773A - 전자 장치 및 그 제어 방법 - Google Patents

전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
KR20200104773A
KR20200104773A KR1020190101234A KR20190101234A KR20200104773A KR 20200104773 A KR20200104773 A KR 20200104773A KR 1020190101234 A KR1020190101234 A KR 1020190101234A KR 20190101234 A KR20190101234 A KR 20190101234A KR 20200104773 A KR20200104773 A KR 20200104773A
Authority
KR
South Korea
Prior art keywords
sensor device
audio signal
electronic device
audio
processor
Prior art date
Application number
KR1020190101234A
Other languages
English (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 CN202080017288.7A priority Critical patent/CN113519022B/zh
Priority to EP20763564.0A priority patent/EP3857545B1/en
Priority to US16/749,350 priority patent/US11417323B2/en
Priority to PCT/KR2020/001101 priority patent/WO2020175802A1/en
Publication of KR20200104773A publication Critical patent/KR20200104773A/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
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/60Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for measuring the quality of voice signals
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/221Announcement of recognition results
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/225Feedback of the input speech
    • 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/0208Noise filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Quality & Reliability (AREA)
  • Telephone Function (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

전자 장치가 개시된다. 본 전자 장치는 통신 인터페이스 및 통신 인터페이스를 통해 제1 센서 장치 및 제1 센서 장치와 이격된 제2 센서 장치로부터 각각 제1 오디오 신호 및 제2 오디오 신호를 수신하고, 제1 오디오 신호 및 제2 오디오 신호 간의 유사도를 획득하며, 유사도가 임계 값 이상이면 제1 센서 장치에 인접한 전자 장치 및 제2 센서 장치에 인접한 전자 장치 각각의 동작 상태에 기초하여 제1 오디오 신호 및 제2 오디오 신호로부터 각각 제1 예측 오디오 성분 및 제2 예측 오디오 성분을 획득하고, 상기 제1 예측 오디오 성분 및 상기 제2 예측 오디오 성분에 기초하여 제1 센서 장치 및 제2 센서 장치 중 하나를 유효 센서 장치로 식별하며, 유효 센서 장치로부터 수신된 추가 오디오 신호에 대한 음성 인식을 수행하는 프로세서를 포함한다. 특히, 유효 센서 장치의 식별 방법의 적어도 일부는 기계학습, 신경망 또는 딥러닝 알고리즘 중 적어도 하나에 따라 학습된 인공지능 모델을 이용할 수 있다.

Description

전자 장치 및 그 제어 방법 { ELECTRONIC APPARATUS AND CONTROL METHOD THEREOF }
본 개시는 전자 장치 및 그 제어 방법에 대한 것으로, 더욱 상세하게는 음성 인식을 수행하는 전자 장치 및 그 제어 방법에 대한 것이다.
또한, 본 개시는 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공 지능(Artificial Intelligence, AI) 시스템 및 그 응용에 관한 것이다.
근래에는 인간 수준의 지능을 구현하는 인공 지능 시스템이 다양한 분야에서 이용되고 있다. 인공 지능 시스템은 기존의 룰(rule) 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공 지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 룰 기반 스마트 시스템은 점차 딥러닝 기반 인공 지능 시스템으로 대체되고 있다.
인공 지능 기술은 기계학습(예로, 딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공 지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
최근에는 AI 스피커와 같이 사용자의 음성을 인식하고, 그에 따라 동작하는 전자 장치들이 개발되고 있으나, 이러한 전자 장치들을 거실, 주방, 안방 등 모든 공간에 배치하는 것은 비용 상의 문제가 있을 수 있다.
그에 따라, 사용자의 음성을 처리하는 하나의 메인(Edge) 장치와 사용자의 음성을 수신하여 메인 장치로 제공하는 복수의 서브(Dot) 장치를 이용하는 방안이 개발되었다. 이때, 복수의 서브 장치는 거실, 주방, 안방 등과 같은 공간에 배치될 수 있다.
다만, 사용자 음성이 복수의 서브 장치를 통해 입력될 가능성이 있으며, 이 경우 동일한 요구 사항을 반복 처리하는 문제가 발생할 수 있다. 또한, 반복 처리에 따라 네트워크 전송 및 연산 리소스 낭비가 발생하는 문제가 있었다.
본 개시는 상술한 필요성에 따른 것으로, 본 개시의 목적은 음성 인식에 있어서 복수의 센서 장치 간 우선 순위를 설정하는 전자 장치 및 그 제어 방법을 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따르면, 전자 장치는 통신 인터페이스 및 상기 통신 인터페이스를 통해 제1 센서 장치 및 상기 제1 센서 장치와 이격된 제2 센서 장치로부터 각각 제1 오디오 신호 및 제2 오디오 신호를 수신하고, 상기 제1 오디오 신호 및 상기 제2 오디오 신호 간의 유사도를 획득하며, 상기 유사도가 임계 값 이상이면 상기 제1 센서 장치에 인접한 전자 장치 및 상기 제2 센서 장치에 인접한 전자 장치 각각의 동작 상태에 기초하여 상기 제1 오디오 신호 및 상기 제2 오디오 신호로부터 각각 제1 예측 오디오 성분 및 제2 예측 오디오 성분을 획득하고, 상기 제1 예측 오디오 성분 및 상기 제2 예측 오디오 성분에 기초하여 상기 제1 센서 장치 및 상기 제2 센서 장치 중 하나를 유효 센서 장치로 식별하며, 상기 유효 센서 장치로부터 수신된 추가 오디오 신호에 대한 음성 인식을 수행하는 프로세서를 포함한다.
또한, 상기 전자 장치 및 적어도 하나의 타 전자 장치 각각의 동작 상태에 기초한 모드 별 오디오 모델이 저장된 메모리를 더 포함하며, 상기 프로세서는 상기 오디오 모델에 기초하여 상기 제1 센서 장치에 인접한 전자 장치의 동작 상태 및 상기 제2 센서 장치에 인접한 전자 장치의 동작 상태에 대응되는 모드를 식별하고, 상기 식별된 모드에 기초하여 상기 제1 오디오 신호 및 상기 제2 오디오 신호로부터 각각 상기 제1 예측 오디오 성분 및 상기 제2 예측 오디오 성분을 획득하며, 상기 오디오 모델은 복수의 센서 장치 각각이 인접한 전자 장치의 동작 상태에 따라 획득된 오디오를 인공지능 알고리즘을 통해 학습하여 획득될 수 있다.
그리고, 상기 프로세서는 상기 식별된 모드에 기초하여 상기 제1 오디오 신호에 포함된 노이즈 성분 및 상기 제2 오디오 신호에 포함된 노이즈 성분으로부터 각각 상기 제1 예측 오디오 성분 및 상기 제2 예측 오디오 성분을 획득하고, 상기 제1 예측 오디오 성분의 크기 및 상기 제2 예측 오디오 성분의 크기 각각에 기초하여 상기 제1 오디오 신호에 대한 제1 품질 특성 및 상기 제2 오디오 신호에 대한 제2 품질 특성을 획득하며, 상기 제1 품질 특성 및 상기 제2 품질 특성에 기초하여 상기 제1 센서 장치 및 상기 제2 센서 장치 중 하나를 상기 유효 센서 장치로 식별할 수 있다.
또한, 상기 프로세서는 기설정된 이벤트에 따라 상기 제1 센서 장치에 인접한 전자 장치 및 상기 제2 센서 장치에 인접한 전자 장치가 상기 기설정된 모드로 동작하도록 상기 제1 센서 장치에 인접한 전자 장치 및 상기 제2 센서 장치에 인접한 전자 장치의 동작 상태를 변경할 수 있다.
그리고, 상기 프로세서는 상기 음성 인식 결과에 기초하여 상기 전자 장치 또는 적어도 하나의 타 전자 장치 중 적어도 하나를 제어하고, 상기 제어 결과에 대한 안내 메시지를 제공하도록 상기 유효 센서 장치를 제어할 수 있다.
또한, 상기 프로세서는 상기 제1 오디오 신호가 수신되고 임계 시간 이내에 상기 제2 오디오 신호가 수신되면 상기 유사도를 획득할 수 있다.
그리고, 상기 프로세서는 상기 제1 오디오 신호가 수신되고 임계 시간 이후에 상기 제2 오디오 신호가 수신되거나, 상기 유사도가 상기 임계 값 미만이면, 상기 제1 센서 장치 및 상기 제2 센서 장치를 각각 제1 유효 센서 장치 및 제2 유효 센서 장치로 식별하고, 상기 제1 유효 센서 장치 및 상기 제2 유효 센서 장치 각각으로부터 수신된 추가 오디오 신호에 대한 음성 인식을 수행할 수 있다.
또한, 상기 프로세서는 상기 제1 오디오 신호 및 상기 제2 오디오 신호 간의 시간 도메인 유사도를 획득하고, 상기 제1 오디오 신호 및 상기 제2 오디오 신호 간의 주파수 도메인 유사도를 획득하며, 상기 시간 도메인 유사도 또는 상기 주파수 도메인 유사도 중 적어도 하나에 기초하여 상기 유사도를 획득할 수 있다.
그리고, 상기 프로세서는 상기 제1 센서 장치 및 상기 제2 센서 장치 중 하나가 상기 유효 센서 장치로 식별되면, 상기 유효 센서 장치가 식별된 시점으로부터 임계 시간 동안 상기 제1 센서 장치 및 상기 제2 센서 장치 중 나머지 하나로부터 수신되는 추가 오디오 신호를 무시할 수 있다.
한편, 본 개시의 일 실시 예에 따르면, 전자 장치의 제어 방법은 제1 센서 장치 및 상기 제1 센서 장치와 이격된 제2 센서 장치로부터 각각 제1 오디오 신호 및 제2 오디오 신호를 수신하는 단계, 상기 제1 오디오 신호 및 상기 제2 오디오 신호 간의 유사도를 획득하는 단계, 상기 유사도가 임계 값 이상이면 상기 제1 센서 장치에 인접한 전자 장치 및 상기 제2 센서 장치에 인접한 전자 장치 각각의 동작 상태에 기초하여 상기 제1 오디오 신호 및 상기 제2 오디오 신호로부터 각각 제1 예측 오디오 성분 및 제2 예측 오디오 성분을 획득하는 단계, 상기 제1 예측 오디오 성분 및 상기 제2 예측 오디오 성분에 기초하여 상기 제1 센서 장치 및 상기 제2 센서 장치 중 하나를 유효 센서 장치로 식별하는 단계 및 상기 유효 센서 장치로부터 수신된 추가 오디오 신호에 대한 음성 인식을 수행하는 단계를 포함한다.
또한, 상기 제1 예측 오디오 성분 및 상기 제2 예측 오디오 성분을 획득하는 단계는 상기 전자 장치 및 적어도 하나의 타 전자 장치 각각의 동작 상태에 기초한 모드 별 오디오 모델에 기초하여 상기 제1 센서 장치에 인접한 전자 장치의 동작 상태 및 상기 제2 센서 장치에 인접한 전자 장치의 동작 상태에 대응되는 모드를 식별하는 단계 및 상기 식별된 모드에 기초하여 상기 제1 오디오 신호 및 상기 제2 오디오 신호로부터 각각 상기 제1 예측 오디오 성분 및 상기 제2 예측 오디오 성분을 획득하는 단계를 포함하며, 상기 오디오 모델은 복수의 센서 장치 각각이 인접한 전자 장치의 동작 상태에 따라 획득된 오디오를 인공지능 알고리즘을 통해 학습하여 획득될 수 있다.
그리고, 상기 제1 예측 오디오 성분 및 상기 제2 예측 오디오 성분을 획득하는 단계는 상기 식별된 모드에 기초하여 상기 제1 오디오 신호에 포함된 노이즈 성분 및 상기 제2 오디오 신호에 포함된 노이즈 성분으로부터 각각 상기 제1 예측 오디오 성분 및 상기 제2 예측 오디오 성분을 획득하는 단계 및 상기 제1 예측 오디오 성분의 크기 및 상기 제2 예측 오디오 성분의 크기 각각에 기초하여 상기 제1 오디오 신호에 대한 품질 특성 및 상기 제2 오디오 신호에 대한 제2 품질 특성을 획득하는 단계를 포함하며, 상기 유효 센서 장치로 식별하는 단계는 상기 제1 품질 특성 및 상기 제2 품질 특성에 기초하여 상기 제1 센서 장치 및 상기 제2 센서 장치 중 하나를 상기 유효 센서 장치로 식별할 수 있다.
또한, 기설정된 이벤트에 따라 상기 제1 센서 장치에 인접한 전자 장치 및 상기 제2 센서 장치에 인접한 전자 장치가 상기 기설정된 모드로 동작하도록 상기 제1 센서 장치에 인접한 전자 장치 및 상기 제2 센서 장치에 인접한 전자 장치의 동작 상태를 변경하는 단계를 더 포함할 수 있다.
그리고, 상기 음성 인식 결과에 기초하여 상기 전자 장치 또는 적어도 하나의 타 전자 장치 중 적어도 하나를 제어하는 단계 및 상기 제어 결과에 대한 안내 메시지를 제공하도록 상기 유효 센서 장치를 제어하는 단계를 더 포함할 수 있다.
또한, 상기 유사도를 획득하는 단계는 상기 제1 오디오 신호가 수신되고 임계 시간 이내에 상기 제2 오디오 신호가 수신되면 상기 유사도를 획득할 수 있다.
그리고, 상기 제1 오디오 신호가 수신되고 임계 시간 이후에 상기 제2 오디오 신호가 수신되거나, 상기 유사도가 상기 임계 값 미만이면, 상기 제1 센서 장치 및 상기 제2 센서 장치를 각각 제1 유효 센서 장치 및 제2 유효 센서 장치로 식별하고, 상기 제1 유효 센서 장치 및 상기 제2 유효 센서 장치 각각으로부터 수신된 추가 오디오 신호에 대한 음성 인식을 수행하는 단계를 더 포함할 수 있다.
또한, 상기 유사도를 획득하는 단계는 상기 제1 오디오 신호 및 상기 제2 오디오 신호 간의 시간 도메인 유사도를 획득하는 단계, 상기 제1 오디오 신호 및 상기 제2 오디오 신호 간의 주파수 도메인 유사도를 획득하는 단계 및 상기 시간 도메인 유사도 또는 상기 주파수 도메인 유사도 중 적어도 하나에 기초하여 상기 유사도를 획득하는 단계를 포함할 수 있다.
그리고, 상기 제1 센서 장치 및 상기 제2 센서 장치 중 하나가 상기 유효 센서 장치로 식별되면, 상기 유효 센서 장치가 식별된 시점으로부터 임계 시간 동안 상기 제1 센서 장치 및 상기 제2 센서 장치 중 나머지 하나로부터 수신되는 추가 오디오 신호를 무시하는 단계를 더 포함할 수 있다.
한편, 본 개시의 다른 실시 예에 따르면, 전자 장치는 마이크, 통신 인터페이스 및 상기 마이크를 통해 제1 오디오 신호를 수신하며, 상기 통신 인터페이스를 통해 센서 장치로부터 제2 오디오 신호를 수신하고, 상기 제1 오디오 신호 및 상기 제2 오디오 신호 간의 유사도를 획득하며, 상기 유사도가 임계 값 이상이면 상기 전자 장치 및 상기 센서 장치에 인접한 전자 장치 각각의 동작 상태에 기초하여 상기 제1 오디오 신호 및 상기 제2 오디오 신호로부터 각각 제1 예측 오디오 성분 및 제2 예측 오디오 성분을 획득하고, 상기 제1 예측 오디오 성분 및 상기 제2 예측 오디오 성분에 기초하여 상기 전자 장치 및 상기 센서 장치 중 하나를 유효 장치로 식별하며, 상기 유효 장치에 수신된 추가 오디오 신호에 대한 음성 인식을 수행하는 프로세서를 포함한다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 전자 장치는 복수의 센서 장치 중 하나에 우선 순위를 부여하여, 중복 처리 및 리소스 낭비와 같은 문제를 방지할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 시스템을 도시한 도면이다.
도 2a는 전자 장치의 구성의 일 예를 나타내는 블럭도이다.
도 2b는 전자 장치의 세부 구성의 일 예를 나타내는 블럭도이다.
도 2c는 메모리에 저장된 모듈의 일 예를 나타내는 블럭도이다.
도 2d는 음성 인식 모듈의 일 예를 나타내는 블럭도이다.
도 2e는 센서 장치의 구성의 일 예를 나타내는 블럭도이다.
도 2f는 서버의 구성의 일 예를 나타내는 블럭도이다.
도 3 내지 도 6은 본 개시의 일 실시 예에 따른 음성 인식 방법을 설명하기 위한 도면들이다.
도 7a는 본 개시의 일 실시 예에 따른 전자 시스템의 동작을 설명하기 위한 시퀀스도이다.
도 7b는 본 개시의 다른 실시 예에 따른 전자 시스템의 동작을 설명하기 위한 시퀀스도이다.
도 8은 본 개시의 일 실시 예에 따른 대화 시스템을 설명하기 위한 블럭도이다.
도 9a 내지 도 9c는 본 개시의 확장 실시 예를 설명하기 위한 도면들이다.
도 10a 및 도 10b는 본 개시의 다양한 실시 예에 따른 장치 간 우선 순위를 설명하기 위한 도면들이다.
도 11은 본 개시의 일 실시 예에 따른 서버를 이용하는 방법을 설명하기 위한 도면이다.
도 12는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 명세서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
본 명세서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
이하 첨부된 도면들을 참조하여 본 개시의 일 실시 예를 보다 상세하게 설명한다.
도 1은 본 개시의 일 실시 예에 따른 전자 시스템(1000)을 도시한 도면이다. 도 1에 도시된 바와 같이 전자 시스템(1000)은 전자 장치(100), 복수의 센서 장치(200-1 ~ 200-5)를 포함한다. 여기서, 전자 장치(100)는 엣지(edge) 장치, 엣지 컴퓨팅 (edge computing) 장치 또는 허브 장치로도 불릴 수 있으며, 센서 장치는 닷(dot) 장치로도 불릴 수 있다.
본 명세서의 다양한 실시 예들에 따른 전자 장치(100)는, 예를 들면, 스피커, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시 예들에서, 전자 장치(100)는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시 예에서, 전자 장치(100)는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 드론(drone), 금융 기관의 ATM, 상점의 POS(point of sales), 또는 사물 인터넷 장치 (예: 전구, 각종 센서, 스프링클러 장치, 화재 경보기, 온도조절기, 가로등, 토스터, 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
도 1에서는 설명의 편의를 위하여 TV가 전자 장치(100)인 것으로 도시하였으나, 얼마든지 다른 장치가 전자 장치(100)로서 동작할 수도 있다. 예를 들어, 냉장고, 세탁기, 스피커 중 하나가 전자 장치(100)로서 동작할 수도 있다.
또는, 복수의 가전 기기가 전자 장치(100)로서 동작할 수도 있다. 가령, TV가 제1 전자 장치로 동작하고, 냉장고가 제2 전자 장치로 동작하며, 제1 전자 장치 및 제2 전자 장치는 서로 연동 동작 또는 개별 동작할 수 있다. 이에 대한 구체적인 설명은 후술한다.
전자 장치(100)는 복수의 센서 장치(200-1 ~ 200-5) 중 적어도 하나로부터 오디오 신호를 수신할 수 있다. 예를 들어, 전자 장치(100)는 거실에 배치된 제1 센서 장치(200-1)로부터 "냉장고 온도 낮춰줘."라는 오디오 신호를 할 수 있고, 이 경우 전자 장치(100)는 냉장고의 온도를 낮추기 위한 제어 명령을 냉장고로 전송할 수 있다. 여기서, 복수의 센서 장치(200-1 ~ 200-5)는 주변의 오디오를 수신하고, 전자 장치(200)로 오디오 신호를 전송하는 장치일 수 있다.
전자 장치(100)는 복수의 센서 장치(200-1 ~ 200-5) 중 제1 센서 장치(200-1) 및 제2 센서 장치(200-2)로부터 각각 제1 오디오 신호 및 제2 오디오 신호를 수신하고, 제1 오디오 신호 및 제2 오디오 신호 간의 유사도를 획득할 수 있다. 여기서, 제1 오디오 신호 및 제2 오디오 신호의 수신 시점은 거의 동일할 수 있다.
예를 들어, 사용자가 거실에서 "Hi Bixby."라고 발화한 경우, 전자 장치(100)는 거실에 배치된 제1 센서 장치(200-1)로부터 "Hi Bixby."에 대응되는 제1 오디오 신호를 수신할 수 있다. 또한, 사용자의 발화는 주방에 배치된 제2 센서 장치(200-2)에도 입력될 수 있으며, 전자 장치(100)는 주방에 배치된 제2 센서 장치(200-2)로부터 "Hi Bixby."에 대응되는 제2 오디오 신호를 수신할 수 있다. 제2 센서 장치(200-2)는 제1 센서 장치(200-1)보다 전자 장치(100)로부터 멀리 떨어져 있으므로, 전자 장치(100)가 제2 오디오 신호를 수신하는 시점은 제1 오디오 신호를 수신하는 시점보다 지연될 수 있다.
전자 장치(100)는 유사도가 임계 값 이상이면 제1 오디오 신호 및 제2 오디오 신호에 기초하여 제1 센서 장치(200-1) 및 제2 센서 장치(200-2) 중 하나를 유효 센서 장치로 식별하고, 유효 센서 장치로부터 수신된 추가 오디오 신호에 대한 음성 인식을 수행할 수 있다.
즉, 전자 장치(100)는 제1 오디오 신호 및 제2 오디오 신호가 동일한 발화에 의한 오디오 신호라고 판단되면, 제1 센서 장치(200-1) 및 제2 센서 장치(200-2) 중 하나만을 유효 센서 장치로 식별할 수 있다. 이때, 전자 장치(100)는 유효 센서 장치임을 통지하는 신호를 유효 센서 장치로 식별된 센서 장치로 전송할 수 있으며, 센서 장치는 수신된 신호에 기초하여 알람을 제공할 수 있다. 가령, 센서 장치는 유효 센서 장치임을 통지하는 신호가 수신되면, LED 알림, 효과음 알림 등을 통해 사용자에게 음성 인식 동작 상태임을 통지할 수 있다.
전자 장치(100)는 제1 오디오 신호 및 제2 오디오 신호 각각의 품질 특성에 기초하여 제1 센서 장치(200-1) 및 제2 센서 장치(200-2) 중 하나만을 유효 센서 장치로 식별할 수 있다. 여기서, 오디오 신호의 품질 특성은 오디오 신호의 크기, 파워 또는 SNR(signal to noise ratio) 특성 중 적어도 하나를 포함할 수 있다.
전자 장치(100)는 유효 센서 장치로 식별되지 않는 센서 장치로부터 추가 오디오 신호가 수신되더라도 음성 인식을 수행하지 않을 수 있다.
한편, 전자 시스템(1000)은 적어도 하나의 타 전자 장치(미도시)를 더 포함할 수 있다. 여기서, 타 전자 장치는 전자 장치(100)에 의해 제어되는 장치로서, 전자 장치(100)와 통신이 가능한 장치일 수 있다. 또한, 경우에 따라서, 전자 장치(100)의 동작 중 일부를 타 전자 장치가 수행할 수도 있다. 이하에서는 설명의 편의를 위하여, 전자 시스템(1000)이 제1 센서 장치(200-1) 및 제2 센서 장치(200-2)만을 포함하는 것으로 설명한다.
복수의 센서 장치(200-1 ~ 200-5) 각각은 타 전자 장치로부터 기설정된 거리 내에 배치될 수 있다. 다만, 이에 한정되는 것은 아니며, 센서 장치는 기설정된 거리 내에 전자 장치 또는 타 전자 장치가 없는 위치에 배치될 수도 있다.
복수의 센서 장치(200-1 ~ 200-5) 각각은 사용자 음성이나 기타 소리를 입력받을 수 있다. 그리고, 복수의 센서 장치(200-1 ~ 200-5) 각각은 입력된 사용자 음성 등을 오디오 신호로 변환하여 전자 장치(100)로 전송할 수 있다.
또는, 복수의 센서 장치(200-1 ~ 200-5) 각각은 트리거 워드 또는 웨이크업 워드를 포함하는 사용자 음성이 수신되면, 웨이크업되고, 웨이크업된 이후에 수신된 사용자 음성에 대응되는 오디오 신호를 전자 장치(100)로 전송할 수도 있다. 예를 들어, 복수의 센서 장치(200-1 ~ 200-5) 각각은 트리거 워드가 수신되면 웨이크업되고, 웨이크업된 이후에 수신된 사용자 음성에 대응되는 오디오 신호를 전자 장치(100)로 전송할 수 있다. 즉, 복수의 센서 장치(200-1 ~ 200-5) 각각은 스탠바이 모드 상태로 동작하여 전력 소모를 최소화하고, 불필요한 오디오 신호가 전자 장치(100)로 전송되는 것을 방지할 수 있다.
다만, 이에 한정되는 것은 아니며, 복수의 센서 장치(200-1 ~ 200-5) 각각은 사용자 감지 등에 따라 웨이크업되어 사용자 감지 이후에 입력된 사용자 음성에 대응되는 오디오 신호를 전자 장치(100)로 전송할 수도 있다. 예를 들어, 복수의 센서 장치(200-1 ~ 200-5) 각각은 모션 센서를 구비하여 사용자의 움직임이 감지되면 웨이크업되고, 이후에 입력된 사용자 음성에 대응되는 오디오 신호를 전자 장치(100)로 전송할 수도 있다. 또는, 복수의 센서 장치(200-1 ~ 200-5) 각각은 조도 센서를 구비하여 사용자의 터치가 감지되면 웨이크업되고, 이후에 입력된 사용자 음성에 대응되는 오디오 신호를 전자 장치(100)로 전송할 수도 있다. 또는, 복수의 센서 장치(200-1 ~ 200-5) 각각은 적외선 센서, 열 센서, 소리 센서 등을 통해 사용자를 감지하고, 사용자 감지 이후에 입력된 사용자 음성에 대응되는 오디오 신호를 전자 장치(100)로 전송할 수도 있다.
복수의 센서 장치(200-1 ~ 200-5) 각각은 음성 구간 검출(VAD, Voice Activity Detection) 또는 음성 끝점 검출(EPD, End Point Detection) 중 적어도 하나를 통해 사용자의 목소리를 감지할 수 있다. 음성 구간 검출 및 음성 끝점 검출은 음성 인식 분야에서 일반적으로 사용되는 기술로, 소리의 크기나 주파수 영역에서의 에너지 분포 등에 기반한 통계적 모델, 딥러닝 모델 등으로 사람의 목소리를 감지하는 기술이다.
복수의 센서 장치(200-1 ~ 200-5) 각각은 입력된 사용자 음성에 대응되는 오디오 신호 뿐만 아니라 음성 구간 검출을 통해 획득된 사용자 음성의 음성 구간에 대한 시간 정보 또는 음성 끝점 검출을 통해 획득된 사용자 음성의 음성 끝점에 대한 시간 정보 중 적어도 하나를 전자 장치(100)로 전송할 수 있다. 예를 들어, 센서 장치(200-1)는 사용자 음성에 대응되는 오디오 신호와 사용자 음성의 음성 끝점을 나타내는 시간 정보, AM 9:00:00, AM 9:00:03를 전자 장치(100)로 전송할 수 있다.
전자 장치(100)는 제1 센서 장치(200-1) 및 제2 센서 장치(200-2)로부터 제1 사용자 음성 및 제2 사용자 음성 각각의 음성 구간에 대한 시간 정보 또는 사용자 음성의 음성 끝점에 대한 시간 정보 중 적어도 하나가 수신되면, 수신된 정보에 기초하여 제1 사용자 음성에 대응되는 제1 오디오 신호 및 제2 사용자 음성에 대응되는 제2 오디오 신호의 유사도를 획득할 수 있다.
예를 들어, 전자 장치(100)는 제1 센서 장치(200-1)로부터 제1 사용자 음성에 대응되는 제1 오디오 신호 및 제1 사용자 음성의 음성 끝점을 나타내는 시간 정보, AM 9:00:00, AM 9:00:03를 수신하고, 제2 센서 장치(200-2)로부터 제2 사용자 음성에 대응되는 제2 오디오 신호 및 제2 사용자 음성의 음성 끝점을 나타내는 시간 정보, AM 9:00:01, AM 9:00:04를 수신할 수 있다. 그리고, 전자 장치(100)는 제1 사용자 음성의 음성 끝점 간의 시간 차이가 제2 사용자 음성의 음성 끝점 간의 시간 차이와 동일하므로 제1 오디오 신호와 제2 오디오 신호가 동일한 사용자 음성에 의한 오디오 신호라고 판단할 수 있다.
다만, 이에 한정되는 것은 아니며, 복수의 센서 장치(200-1 ~ 200-5) 각각은 입력된 사용자 음성에 대응되는 오디오 신호 만을 전자 장치(100)로 전송할 수 있다. 이 경우, 전자 장치(100)는 음성 구간 검출을 통해 사용자 음성의 음성 구간에 대한 시간 정보를 획득하고, 음성 끝점 검출을 통해 사용자 음성의 음성 끝점에 대한 시간 정보를 획득할 수도 있다.
도 2a는 전자 장치(100)의 구성의 일 예를 나타내는 블럭도이다.
도 2a에 따르면, 전자 장치(100)는 통신 인터페이스(110) 및 프로세서(120)를 포함한다.
통신 인터페이스(110)는 다양한 장치와 통신을 수행하기 위한 구성이다. 예를 들어, 통신 인터페이스(110)는 BT(BlueTooth), BLE(Bluetooth Low Energy), WI-FI(Wireless Fidelity), Zigbee 등과 같이 다양한 통신 인터페이스를 지원할 수 있다. 다만, 이에 한정되는 것은 아니며, 통신 인터페이스 중 무선 통신이 가능하다면 어떤 것이라도 무방하다.
또한, 통신 인터페이스(110)는 다양한 장치와의 유선 통신이 가능한 입출력 인터페이스를 포함할 수 있다. 예를 들어, 통신 인터페이스(110)는 HDMI, MHL, USB, RGB, D-SUB, DVI 등과 같은 입출력 인터페이스를 포함하며, 다양한 장치와 통신을 수행할 수 있다.
다만, 이에 한정되는 것은 아니며, 입출력 인터페이스는 데이터 송수신을 수행할 수 있는 규격이라면 어떠한 것이라도 무방하다.
전자 장치(100)는 복수의 센서 장치(200-1 ~ 200-5)와 연결되어 오디오 신호를 수신할 수 있다. 전자 장치(100)는 오디오 신호에 대응되는 제어 명령을 타 전자 장치로 전송할 수 있다. 또한, 전자 장치(100)는 제어 결과를 안내하는 안내 메시지를 유효 센서 장치로 전송할 수 있다.
통신 인터페이스(110)는 이상에서 설명한 인터페이스 외에도 다양한 장치와 유무선 통신이 가능한 모든 통신 규격의 인터페이스를 포함할 수 있다.
프로세서(120)는 전자 장치(100)의 동작을 전반적으로 제어한다.
프로세서(120)는 디지털 신호를 처리하는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), GPU(graphics-processing unit) 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(120)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다. 프로세서(120)는 메모리에 저장된 컴퓨터 실행가능 명령어(computer executable instructions)를 실행함으로써 다양한 기능을 수행할 수 있다.
프로세서(120)는 통신 인터페이스(110)를 통해 제1 센서 장치(200-1) 및 제1 센서 장치(200-1)와 이격된 제2 센서 장치(200-2)로부터 각각 제1 오디오 신호 및 제2 오디오 신호를 수신하고, 제1 오디오 신호 및 제2 오디오 신호 간의 유사도를 획득하며, 유사도가 임계 값 이상이면 제1 센서 장치(200-1)에 인접한 전자 장치 및 제2 센서 장치(200-2)에 인접한 전자 장치 각각의 동작 상태에 기초하여 제1 오디오 신호 및 제2 오디오 신호로부터 각각 제1 예측 오디오 성분 및 제2 예측 오디오 성분을 획득하고, 제1 예측 오디오 성분 및 제2 예측 오디오 성분에 기초하여 제1 센서 장치(200-1) 및 제2 센서 장치(200-2) 중 하나를 유효 센서 장치로 식별하며, 유효 센서 장치로부터 수신된 추가 오디오 신호에 대한 음성 인식을 수행할 수 있다.
여기서, 전자 장치(100)는 전자 장치(100) 및 적어도 하나의 타 전자 장치 각각의 동작 상태에 기초한 모드 별 오디오 모델이 저장된 메모리(미도시)를 더 포함할 수 있다. 예를 들어, 오디오 모델은 복수의 모드를 기준으로 분류된 데이터일 수 있으며, 가령 복수의 모드 중 제1 모드는 제1 센서 장치(200-1)에 인접한 TV 및 제2 센서 장치(200-2)에 인접한 청소기가 턴 온된 상태이고, 제2 모드는 TV 및 청소기 중 하나만이 턴 온된 상태이며, 제3 모드는 TV 및 청소기가 모두 턴 오프된 상태일 수 있다. 그리고, 오디오 모드는 제1 모드에서 제1 센서 장치(200-1) 및 제2 센서 장치(200-2) 각각에 입력되는 오디오에 대한 정보, 제2 모드에서 제1 센서 장치(200-1) 및 제2 센서 장치(200-2) 각각에 입력되는 오디오에 대한 정보, 제3 모드에서 제1 센서 장치(200-1) 및 제2 센서 장치(200-2) 각각에 입력되는 오디오에 대한 정보를 포함할 수 있다.
다만, 이상의 오디오 모델에 대한 설명은 일 실시 예에 불과하고, 얼마든지 다른 형태의 데이터일 수도 있다. 예를 들어, 오디오 모델은 TV, 청소기 뿐만 아니라 냉장고, 세탁기 등의 동작 상태를 더 포함할 수도 있다. 각 장치의 동작 상태도 턴 온, 턴 오프 뿐만 아니라 더 세분화된 동작 상태를 포함할 수도 있다. 예를 들어, TV의 동작 상태는 스탠바이 상태, 액자 상태, 조명 상태 등의 동작 상태를 더 포함하고, 청소기의 동작 상태는 저소음 동작 상태, 파워 출력 상태 등의 동작 상태를 더 포함하며, 냉장고의 동작 상태는 냉동 상태, 냉장 상태, 김치 냉장 상태 등의 동작 상태를 더 포함하고, 세탁기의 동작 상태는 이불 세탁 상태, 섬세 세탁 상태 등의 동작 상태를 더 포함할 수 있다. 또한, 오디오 모델은 1개의 센서 장치 또는 3개 이상의 센서 장치에 입력된 오디오에 대한 정보를 포함할 수도 있다.
이러한 오디오 모델은 복수의 센서 장치 각각이 인접한 전자 장치의 동작 상태에 따라 획득된 오디오를 인공지능 알고리즘을 통해 학습하여 획득될 수 있다. 다만, 이에 한정되는 것은 아니며, 오디오 모델은 복수의 센서 장치 각각이 인접한 전자 장치의 동작 상태에 따라 획득된 오디오를 룰 기반으로 획득할 수도 있다. 오디오 모델은 전자 장치(100)와는 별도의 타 전자 장치에서 획득될 수 있다. 다만, 이에 한정되는 것은 아니며, 전자 장치(100)가 인공지능 알고리즘을 통해 오디오 모델을 획득할 수도 있다.
프로세서(120)는 오디오 모델에 기초하여 제1 센서 장치(200-1)에 인접한 전자 장치의 동작 상태 및 제2 센서 장치(200-2)에 인접한 전자 장치의 동작 상태에 대응되는 모드를 식별하고, 식별된 모드에 기초하여 제1 오디오 신호 및 제2 오디오 신호로부터 각각 제1 예측 오디오 성분 및 제2 예측 오디오 성분을 획득할 수 있다.
여기서, 프로세서(120)는 전자 장치(100)의 동작 상태를 실시간으로 식별할 수 있다. 그리고, 프로세서(120)는 타 전자 장치의 동작 상태를 저장해둔 상태일 수 있다. 가령, 타 전자 장치는 타 전자 장치의 동작 상태를 기설정된 시간 간격으로 전자 장치(100)로 전송할 수 있다. 또는, 타 전자 장치는 동작 상태가 변경될 때마다 변경된 동작 상태를 전자 장치(100)로 전송할 수도 있다.
다만, 이에 한정되는 것은 아니며, 프로세서(120)는 오디오 신호가 수신되면, 타 전자 장치의 동작 상태를 요청하는 신호를 타 전자 장치로 전송하고, 타 전자 장치로부터 동작 상태를 수신할 수도 있다.
프로세서(120)는 식별된 모드에 기초하여 제1 오디오 신호에 포함된 노이즈 성분 및 제2 오디오 신호에 포함된 노이즈 성분으로부터 각각 제1 예측 오디오 성분 및 제2 예측 오디오 성분을 획득하고, 제1 예측 오디오 성분의 크기 및 제2 예측 오디오 성분의 크기 각각에 기초하여 제1 오디오 신호에 대한 제1 품질 특성 및 제2 오디오 신호에 대한 제2 품질 특성을 획득하며, 제1 품질 특성 및 제2 품질 특성에 기초하여 제1 센서 장치(200-1) 및 제2 센서 장치(200-2) 중 하나를 유효 센서 장치로 식별할 수 있다. 이에 대한 구체적인 설명은 도면을 통해서 후술한다.
한편, 프로세서(120)는 기설정된 이벤트에 따라 제1 센서 장치(200-1)에 인접한 전자 장치 및 제2 센서 장치(200-2)에 인접한 전자 장치가 기설정된 모드로 동작하도록 제1 센서 장치(200-1)에 인접한 전자 장치 및 제2 센서 장치(200-2)에 인접한 전자 장치의 동작 상태를 변경할 수 있다. 예를 들어, 프로세서(120)는 제1 오디오 신호 및 제2 오디오 신호가 수신되면, 제1 센서 장치(200-1)에 인접한 TV 및 제2 센서 장치(200-2)에 인접한 청소기가 기설정된 모드로 동작하도록 전자 장치(100) 및 타 전자 장치의 동작 상태를 변경할 수 있다.
또는, 제1 센서 장치(200-1) 및 제2 센서 장치(200-2) 각각이 트리거 신호에 따라 웨이크업되면, 웨이크업 되었음을 나타내는 신호를 전자 장치(100)로 전송할 수도 있다. 전자 장치(100)는 수신된 신호에 기초하여 기설정된 모드로 동작하도록 제1 센서 장치(200-1)에 인접한 전자 장치 및 제2 센서 장치(200-2)에 인접한 전자 장치의 동작 상태를 변경할 수도 있다.
여기서, 기설정된 모드는 제1 센서 장치(200-1)에 인접한 전자 장치 및 제2 센서 장치(200-2)에 인접한 전자 장치 각각에서 발생하는 오디오 크기가 최소화된 동작 상태일 수 있다. 가령, TV가 턴 온된 상태에서, 프로세서(120)는 기설정된 이벤트에 따라 TV를 음소거할 수 있다. 또는, 청소기가 동작하는 상태에서 프로세서(120)는 기설정된 이벤트에 따라 청소기의 동작을 일시 정지할 수 있다.
이상과 같은 동작을 통해 프로세서(120)는 유효 센서 장치로부터 추가 오디오 신호가 수신되기 전에 제1 센서 장치(200-1)에 인접한 전자 장치 및 제2 센서 장치(200-2)에 인접한 전자 장치의 동작 상태를 변경할 수 있다. 즉, 사용자가 트리거 신호에 대응되는 발화 후, 제어 명령에 대응되는 발화 시에는 제1 센서 장치(200-1)에 인접한 전자 장치 및 제2 센서 장치(200-2)에 인접한 전자 장치에 의한 노이즈가 최소화될 수 있다. 예를 들어, TV가 턴 온된 상태에서, 사용자가 "Hi Bixby. 오늘 영화 리스트 보여줘."라고 발화한 경우, 프로세서(120)는 "Hi Bixby."를 트리거 신호로 식별하고, "오늘 영화 리스트 보여줘."가 발화되기 전에 TV를 음소거할 수 있으며, "오늘 영화 리스트 보여줘."와 같은 오디오 신호는 음소거 전과 비교하여 상대적으로 노이즈가 작아진 오디오 신호일 수 있다. 이러한 동작을 통해 음성 인식 성능이 향상될 수 있다.
프로세서(120)는 음성 인식 결과에 기초하여 전자 장치(100) 또는 적어도 하나의 타 전자 장치 중 하나를 제어하고, 제어 결과에 대한 안내 메시지를 제공하도록 유효 센서 장치를 제어할 수 있다.
예를 들어, 프로세서(120)는 음성 인식 결과에 따라 TV의 채널을 변경하고, TV의 채널이 변경되었음을 안내하는 안내 메시지를 유효 센서 장치로 전송할 수 있다. 유효 센서 장치는 스피커를 포함할 수 있으며, TV의 채널이 변경되었음을 안내하는 안내 메시지를 스피커를 통해 출력할 수 있다. 또는, 유효 센서 장치는 디스플레이를 포함하며, TV의 채널이 변경되었음을 안내하는 안내 메시지를 디스플레이를 통해 디스플레이할 수도 있다.
한편, 프로세서(120)는 제1 오디오 신호 및 제2 오디오 신호 간의 시간 도메인 유사도를 획득하고, 제1 오디오 신호 및 제2 오디오 신호 간의 주파수 도메인 유사도를 획득하며, 시간 도메인 유사도 또는 주파수 도메인 유사도 중 적어도 하나에 기초하여 유사도를 획득할 수 있다.
예를 들어, 프로세서(120)는 제1 오디오 신호 및 제2 오디오 신호를 크로스-코릴레이션(cross-correlation)을 통해 시간 도메인 유사도를 획득하고, 시간 도메인 유사도를 이용하여 제1 오디오 신호 및 제2 오디오 신호의 유사도를 판단할 수 있다. 또는, 프로세서(120)는 스펙트럼 코히어런스(spectral coherence)를 통해 주파수 도메인 유사도를 획득하며, 주파수 도메인 유사도를 이용하여 제1 오디오 신호 및 제2 오디오 신호의 유사도를 판단할 수도 있다. 또는, 프로세서(120)는 시간 도메인 유사도 및 주파수 도메인 유사도를 가중합하여 제1 오디오 신호 및 제2 오디오 신호의 유사도를 판단할 수도 있다.
한편, 프로세서(120)는 제1 오디오 신호가 수신되고 임계 시간 이내에 제2 오디오 신호가 수신되면 유사도를 획득할 수 있다. 즉, 프로세서(120)는 제1 오디오 신호가 수신되고 임계 시간을 초과한 후 제2 오디오 신호가 수신되면 유사도를 획득하지 않을 수 있다. 예를 들어, 프로세서(120)는 제1 오디오 신호가 수신되고 0.01초 이내에 제2 오디오 신호가 수신되면 유사도를 획득하며, 유사도 획득 결과에 기초하여 최종적으로 유효 센서 장치를 식별할 수 있다.
또는, 프로세서(120)는 제1 오디오 신호의 발화 시점 및 제2 오디오 신호의 발화 시점에 기초하여 유사도를 획득할 수도 있다. 예를 들어, 프로세서(120)는 제1 센서 장치(200-1) 및 제2 센서 장치(200-20) 각각으로부터 사용자 음성의 음성 구간에 대한 시간 정보 또는 사용자 음성의 음성 끝점에 대한 시간 정보 중 적어도 하나를 수신할 수 있다. 그리고, 프로세서(120)는 수신된 정보에 기초하여 사용자 음성의 시작 시점을 비교하고, 사용자 음성이 시작 시점 간의 차이가 임계 시간 이내이면 제1 오디오 신호 및 제2 오디오 신호의 유사도를 획득할 수도 있다.
즉, 프로세서(120)는 제1 오디오 신호와 제2 오디오 신호의 수신 시점 및 제1 오디오 신호와 제2 오디오 신호의 유사도에 기초하여 유효 센서 장치를 식별할 수 있다. 그에 따라, 프로세서(120)는 복수의 사용자가 발화했을 때 발생할 수 있는 문제를 해결할 수 있다.
예를 들어, 제1 사용자가 제1 센서 장치(200-1) 주변에서 제1 사용자 음성을 발화하고, 제2 사용자가 제2 센서 장치(200-2) 주변에서 제2 사용자 음성을 발화하며, 제1 사용자의 발화 시점과 제2 사용자의 발화 시점 간의 차이가 임계 시간을 초과하면, 프로세서(120)는 유사도 획득 동작 및 유효 센서 장치의 식별 동작 없이 제1 사용자 음성 및 제2 사용자 음성 각각에 대응되는 제어 동작을 수행할 수 있다.
또는, 제1 사용자가 제1 센서 장치(200-1) 주변에서 제1 사용자 음성을 발화하고, 제2 사용자가 제2 센서 장치(200-2) 주변에서 제2 사용자 음성을 발화하며, 제1 사용자의 발화 시점과 제2 사용자의 발화 시점 간의 차이가 임계 시간 이내이면, 프로세서(120)는 유사도를 획득하게 된다. 다만, 이 경우, 유사도는 임계 값 미만일 수 있다. 따라서, 프로세서(120)는 제1 및 제2 센서 장치(200-1, 200-2)로부터 각각 수신된 제1 오디오 신호 및 제2 오디오 신호가 서로 다른 신호라고 판단하고, 제1 오디오 신호 및 제2 오디오 신호 각각에 대한 음성 인식을 수행할 수 있다. 설령, 제1 사용자 음성이 제2 센서 장치(200-2)에 입력되고, 제2 사용자 음성이 제1 센서 장치(200-1)에 입력되더라도, 제1 센서 장치(200-1) 주변에서는 제2 사용자 음성보다 제1 사용자 음성의 오디오 크기가 크며, 제2 센서 장치(200-2) 주변에서는 제1 사용자 음성보다 제2 사용자 음성의 오디오 크기가 크게 된다. 또한, 제1 사용자 음성과 제2 사용자 음성은 음색이 서로 다르므로, 제1 센서 장치(200-1) 및 제2 센서 장치(200-2)가 수신하는 오디오 신호는 서로 다르게 되며, 프로세서(120)는 임계 값 미만의 유사도를 획득하게 된다.
프로세서(120)는 제1 센서 장치(200-1) 및 제2 센서 장치(200-2) 중 하나가 유효 센서 장치로 식별되면, 유효 센서 장치가 식별된 시점으로부터 임계 시간 동안 제1 센서 장치(200-1) 및 제2 센서 장치(200-2) 중 나머지 하나로부터 수신되는 추가 오디오 신호를 무시할 수 있다.
예를 들어, 프로세서(120)는 제1 센서 장치(200-1)가 유효 센서 장치로 식별되면, 제1 센서 장치(200-1)로부터 수신되는 추가 오디오 신호에 대한 음성 인식만을 수행하고, 제2 센서 장치(200-2)로부터 수신되는 추가 오디오 신호에 대한 음성 인식은 수행하지 않을 수 있다. 또는, 프로세서(120)는 제1 센서 장치(200-1)가 유효 센서 장치로 식별되면, 제2 센서 장치(200-2)의 오디오 수신 기능을 임계 시간 동안 정지시키는 명령을 제2 센서 장치(200-2)로 전송할 수도 있다. 이 경우, 제2 센서 장치(200-2)는 임계 시간 동안 오디오를 수신하지 않게 되면, 프로세서(120)는 임계 시간 동안은 제1 센서 장치(200-1)에서 전송되는 추가 오디오 신호만을 수신할 수 있다.
이상과 같이, 프로세서(120)는 제1 센서 장치(200-1) 및 제2 센서 장치(200-2)로부터 서로 유사한 제1 오디오 신호 및 제2 오디오 신호가 수신되었을 때, 제1 센서 장치(200-1) 및 제2 센서 장치(200-2) 중 하나만을 음성 인식을 수행하기 위한 장치로 식별할 수 있다. 특히, 프로세서(120)는 서로 유사한 제1 오디오 신호 및 제2 오디오 신호에 대해 오디오 성분만을 예측하여 유효 센서 장치를 결정하고, 유효 센서 장치로부터 수신된 오디오 신호에 대하여만 음성 인식을 수행할 수 있다. 즉, 모든 오디오 신호에 대한 음성 인식을 수행하지 않음으로써, 리소스 낭비를 최소화하고, 네트워크 효율이 향상되며, 중복 처리 문제를 해결할 수 있다.
한편, 이상에서는 제1 오디오 신호가 수신되고 임계 시간 이내에 제2 오디오 신호가 수신되며, 유사도가 임계 값 이상인 경우의 프로세서(120)의 동작을 설명하였다.
반면, 프로세서(120)는 제1 오디오 신호가 수신되고 임계 시간 이후에 제2 오디오 신호가 수신되거나, 유사도가 임계 값 미만이면, 제1 센서 장치(200-1) 및 제2 센서 장치(200-2)를 각각 제1 유효 센서 장치 및 제2 유효 센서 장치로 식별하고, 제1 유효 센서 장치 및 제2 유효 센서 장치 각각으로부터 수신된 추가 오디오 신호에 대한 음성 인식을 수행할 수 있다. 즉, 프로세서(120)는 제1 오디오 신호가 수신되고 임계 시간 이후에 제2 오디오 신호가 수신되거나, 유사도가 임계 값 미만이면, 제1 오디오 신호 및 제2 오디오 신호가 서로 다른 신호라고 식별하고, 제1 유효 센서 장치로부터 수신된 추가 오디오 신호 및 제2 유효 센서 장치로부터 수신된 추가 오디오 신호 각각에 대한 음성 인식을 수행할 수 있다. 이때, 프로세서(120)는 복수의 추가 오디오 신호를 순차적으로 처리할 수도 있고, 동시에 처리할 수도 있다.
한편, 프로세서(120)는 제1 오디오 신호 및 제2 오디오 신호 각각의 오디오 크기 또는 파워에 기초하여 제1 오디오 신호 및 제2 오디오 신호 간의 유사도 획득 여부를 결정할 수도 있다. 예를 들어, 프로세서(120)는 제1 오디오 신호의 오디오 크기가 임계 크기 이하이면, 유사도를 획득하지 않고 제2 오디오 신호를 전송한 제2 센서 장치(200-2)를 유효 센서 장치로 식별할 수도 있다.
한편, 프로세서(120)는 오디오 신호가 수신되기 전에는 음성 인식 기능을 스탠바이 상태로 유지할 수 있다. 즉, 프로세서(120)는 오디오 신호가 수신되기 전에는 음성 인식을 수행하는 모듈을 스탠바이 상태로 유지할 수 있다. 프로세서(120)는 오디오 신호를 수신함으로써 스탠바이 상태를 해제할 수 있다. 이러한 동작을 통해 전력 소모를 감소시킬 수 있다.
한편, 이상에서는 프로세서(120)가 제1 오디오 신호 및 제2 오디오 신호를 수신한 후, 유효 센서 장치를 식별하며, 유효 센서 장치로부터 수신된 추가 오디오 신호에 대한 음성 인식을 수행하는 것으로 설명하였다. 예를 들어, 제1 센서 장치(200-1) 및 제2 센서 장치(200-2)가 "Hi Bixby."라는 발화를 수신하고, 프로세서(120)는 제1 센서 장치(200-1) 및 제2 센서 장치(200-2) 각각으로부터 제1 오디오 신호 및 제2 오디오 신호를 수신하며, 제1 센서 장치(200-1)를 유효 센서 장치로 식별할 수 있다. 이후, 제1 센서 장치(200-1) 및 제2 센서 장치(200-2)가 "TV 켜줘."라는 발화를 수신하고, 프로세서(120)는 제1 센서 장치(200-1)로부터 "TV 켜줘."에 대응되는 추가 오디오 신호를 수신하고, 추가 오디오 신호에 대하여 음성 인식을 수행할 수 있다. 즉, 이상에서는 트리거 신호의 이후에 수신되는 오디오 신호에 대하여만 음성 인식을 수행하는 것으로 설명하였다.
다만, 이에 한정되는 것은 아니며, 사용자는 "Hi Bixby."와 같은 발화 없이 "TV 켜줘."라는 발화만으로 TV를 제어할 수도 있다. 예를 들어, 제1 센서 장치(200-1) 및 제2 센서 장치(200-2)가 "TV 켜줘."라는 발화를 수신하고, 프로세서(120)는 제1 센서 장치(200-1) 및 제2 센서 장치(200-2) 각각으로부터 제1 오디오 신호 및 제2 오디오 신호를 수신하며, 제1 센서 장치(200-1)를 유효 센서 장치로 식별할 수 있다. 그리고, 프로세서(120)는 제1 센서 장치(200-1)로부터 수신된 제1 오디오 신호에 대한 음성 인식을 수행하고, 제1 센서 장치(200-1)로부터 추가로 수신된 추가 오디오 신호에 대한 음성 인식을 수행할 수도 있다. 이 경우, 제1 센서 장치(200-1) 및 제2 센서 장치(200-2)는 항상 스탠바이 모드가 해제된 상태일 수 있다.
한편, 이상에서는 전자 장치(100)가 복수의 센서 장치로부터 복수의 오디오 신호를 수신하는 것으로 설명하였으나, 이에 한정되는 것은 아니다. 예를 들어, 전자 장치(100)는 마이크(미도시), 통신 인터페이스(110) 및 프로세서(120)를 포함할 수 있다. 그리고, 프로세서(120)는 마이크를 통해 제1 오디오 신호를 수신하며, 통신 인터페이스(110)를 통해 센서 장치로부터 제2 오디오 신호를 수신하고, 제1 오디오 신호 및 제2 오디오 신호 간의 유사도를 획득하며, 유사도가 임계 값 이상이면 전자 장치(100) 및 센서 장치에 인접한 전자 장치 각각의 동작 상태에 기초하여 제1 오디오 신호 및 제2 오디오 신호로부터 각각 제1 예측 오디오 성분 및 제2 예측 오디오 성분을 획득하고, 제1 예측 오디오 성분 및 제2 예측 오디오 성분에 기초하여 전자 장치(100) 및 센서 장치 중 하나를 유효 장치로 식별하며, 유효 장치에 수신된 추가 오디오 신호에 대한 음성 인식을 수행할 수도 있다. 예를 들어, 에어컨이 전자 장치(100)인 경우, 에어컨은 에어컨의 동작 상태에 기초하여 에어컨에 구비된 마이크를 통해 직접 수신한 제1 오디오 신호의 제1 품질 특성을 획득할 수 있다. 그리고, 에어컨은 센서 장치로부터 수신된 제2 오디오 신호의 제2 품질 특성과 비교하여 유효 장치를 식별할 수 있다.
본 개시에 따른 인공지능과 관련된 기능은 프로세서(120)와 메모리를 통해 동작된다.
프로세서(120)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다.
하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다. 기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다.
여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다.
인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
도 2b는 전자 장치(100)의 세부 구성의 일 예를 나타내는 블럭도이다. 전자 장치(100)는 통신 인터페이스(110) 및 프로세서(120)를 포함할 수 있다. 또한, 도 2b에 따르면, 전자 장치(100)는 메모리(130), 디스플레이(140), 사용자 인터페이스(150), 카메라(160), 스피커(170), 마이크(180)를 더 포함할 수도 있다. 도 2b에 도시된 구성요소들 중 도 2a에 도시된 구성요소와 중복되는 부분에 대해서는 자세한 설명을 생략하도록 한다.
통신 인터페이스(110)는 다양한 유형의 통신방식에 따라 다양한 유형의 외부 장치와 통신을 수행하는 구성이다. 통신 인터페이스(110)는 와이파이 모듈(111), 블루투스 모듈(112), 적외선 통신 모듈(113) 및 무선 통신 모듈(114) 등을 포함한다. 여기서, 각 통신 모듈은 적어도 하나의 하드웨어 칩 형태로 구현될 수 있다.
프로세서(120)는 통신 인터페이스(110)를 이용하여 각종 외부 장치와 통신을 수행할 수 있다. 여기서, 외부 장치는 복수의 센서 장치(200-1 ~ 200-2), TV와 같은 디스플레이 장치, set-top box와 같은 영상 처리 장치, 외부 서버, 리모컨과 같은 제어 장치, 블루투스 스피커와 같은 음향 출력 장치, 조명 장치, 스마트 청소기, 스마트 냉장고와 같은 가전 기기, IOT 홈 매니저 등과 같은 서버 등을 포함할 수 있다.
와이파이 모듈(111), 블루투스 모듈(112)은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행한다. 와이파이 모듈(111)이나 블루투스 모듈(112)을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다.
적외선 통신 모듈(113)은 시 광선과 밀리미터파 사이에 있는 적외선을 이용하여 근거리에 무선으로 데이터를 전송하는 적외선 통신(IrDA, infrared Data Association)기술에 따라 통신을 수행한다.
무선 통신 모듈(114)은 상술한 통신 방식 이외에 지그비(zigbee), 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), LTE-A(LTE Advanced), 4G(4th Generation), 5G(5th Generation)등과 같은 다양한 무선 통신 규격에 따라 통신을 수행하는 적어도 하나의 통신 칩을 포함할 수 있다.
그 밖에 통신 인터페이스(110)는 LAN(Local Area Network) 모듈, 이더넷 모듈, 또는 페어 케이블, 동축 케이블 또는 광섬유 케이블 등을 이용하여 통신을 수행하는 유선 통신 모듈 중 적어도 하나를 포함할 수 있다.
통신 인터페이스(110)는 입출력 인터페이스를 더 포함할 수 있다. 입출력 인터페이스는 HDMI(High Definition Multimedia Interface), MHL (Mobile High-Definition Link), USB (Universal Serial Bus), DP(Display Port), 썬더볼트(Thunderbolt), VGA(Video Graphics Array)포트, RGB 포트, D-SUB(D-subminiature), DVI(Digital Visual Interface) 중 어느 하나의 인터페이스일 수 있다.
입출력 인터페이스는 오디오 및 비디오 신호 중 적어도 하나를 입출력 할 수 있다.
구현 예에 따라, 입출력 인터페이스는 오디오 신호만을 입출력하는 포트와 비디오 신호만을 입출력하는 포트를 별개의 포트로 포함하거나, 오디오 신호 및 비디오 신호를 모두 입출력하는 하나의 포트로 구현될 수 있다.
메모리(130)는 프로세서(120)에 포함된 롬(ROM)(예를 들어, EEPROM(electrically erasable programmable read-only memory)), 램(RAM) 등의 내부 메모리로 구현되거나, 프로세서(120)와 별도의 메모리로 구현될 수도 있다. 이 경우, 메모리(130)는 데이터 저장 용도에 따라 전자 장치(100)에 임베디드된 메모리 형태로 구현되거나, 전자 장치(100)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 전자 장치(100)의 구동을 위한 데이터의 경우 전자 장치(100)에 임베디드된 메모리에 저장되고, 전자 장치(100)의 확장 기능을 위한 데이터의 경우 전자 장치(100)에 탈부착이 가능한 메모리에 저장될 수 있다. 한편, 전자 장치(100)에 임베디드된 메모리의 경우 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나로 구현되고, 전자 장치(100)에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 포트에 연결 가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.
메모리(130)는 전자 장치(100)를 구동시키기 위한 O/S(Operating System) 소프트웨어 모듈, 오디오 처리 모듈 및 음성 인식 모듈 등과 같이 다양한 데이터를 저장한다.
프로세서(120)는 메모리(130)에 저장된 각종 프로그램을 이용하여 전자 장치(100)의 동작을 전반적으로 제어한다.
구체적으로, 프로세서(120)는 RAM(121), ROM(122), 메인 CPU(123), 제1 내지 n 인터페이스(124-1 ~ 124-n), 버스(125)를 포함한다.
RAM(121), ROM(122), 메인 CPU(123), 제1 내지 n 인터페이스(124-1 ~ 124-n) 등은 버스(125)를 통해 서로 연결될 수 있다.
ROM(122)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴온 명령이 입력되어 전원이 공급되면, 메인 CPU(123)는 ROM(122)에 저장된 명령어에 따라 메모리(130)에 저장된 O/S를 RAM(121)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU(123)는 메모리(130)에 저장된 각종 어플리케이션 프로그램을 RAM(121)에 복사하고, RAM(121)에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다.
메인 CPU(123)는 메모리(130)에 액세스하여, 메모리(130)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 메모리(130)에 저장된 각종 프로그램, 컨텐츠 데이터 등을 이용하여 다양한 동작을 수행한다.
제1 내지 n 인터페이스(124-1 내지 124-n)는 상술한 각종 구성 요소들과 연결된다. 인터페이스들 중 하나는 네트워크를 통해 외부 장치와 연결되는 네트워크 인터페이스가 될 수도 있다.
한편, 프로세서(120)는 그래픽 처리 기능(비디오 처리 기능)을 수행할 수 있다. 예를 들어, 프로세서(120)는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성할 수 있다. 여기서, 연산부(미도시)는 수신된 제어 명령에 기초하여 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 연산할 수 있다. 그리고, 렌더링부(미도시)는 연산부(미도시)에서 연산한 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성할 수 있다. 또한, 프로세서(120)는 비디오 데이터에 대한 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다.
한편, 프로세서(120)는 오디오 데이터에 대한 처리를 수행할 수 있다. 구체적으로, 프로세서(120)는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다.
디스플레이(140)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(140) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 한편, 디스플레이(140)는 터치 센서와 결합된 터치 스크린, 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 등으로 구현될 수 있다.
사용자 인터페이스(150)는 버튼, 터치 패드, 마우스 및 키보드와 같은 장치로 구현되거나, 상술한 디스플레이 기능 및 조작 입력 기능도 함께 수행 가능한 터치 스크린으로도 구현될 수 있다. 여기서, 버튼은 전자 장치(100)의 본체 외관의 전면부나 측면부, 배면부 등의 임의의 영역에 형성된 기계적 버튼, 터치 패드, 휠 등과 같은 다양한 유형의 버튼이 될 수 있다.
카메라(160)는 사용자의 제어에 따라 정지 영상 또는 동영상을 촬상하기 위한 구성이다. 카메라(160)는 특정 시점에서의 정지 영상을 촬영할 수 있으나, 연속적으로 정지 영상을 촬영할 수도 있다.
스피커(170)는 입출력 인터페이스에서 처리된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지 등을 출력하는 구성요소일 수 있다.
마이크(180)는 사용자 음성이나 기타 소리를 입력받아 오디오 데이터로 변환하기 위한 구성이다.
마이크(180)는 활성화 상태에서 사용자의 음성을 수신할 수 있다. 예를 들어, 마이크(180)는 전자 장치(100)의 상측이나 전면 방향, 측면 방향 등에 일체화된 일체형으로 형성될 수 있다. 마이크(180)는 아날로그 형태의 사용자 음성을 수집하는 마이크, 수집된 사용자 음성을 증폭하는 앰프 회로, 증폭된 사용자 음성을 샘플링하여 디지털 신호로 변환하는 A/D 변환회로, 변환된 디지털 신호로부터 노이즈 성분을 제거하는 필터 회로 등과 같은 다양한 구성을 포함할 수 있다.
한편, 전자 장치(100)는 마이크를 포함하는 센서 장치로부터 사용자 음성을 포함하는 오디오 신호를 수신할 수 있다. 이 경우, 수신된 오디오 신호는 디지털 음성 신호일 수 있으나, 구현 예에 따라 아날로그 음성 신호일 수 있다. 일 예로, 전자 장치(100)는 Bluetooth 또는 Wi-Fi 등의 무선 통신 방법을 통해 오디오 신호를 수신할 수 있다.
전자 장치(100)는 센서 장치로부터 수신된 디지털 음성 신호에 직접 자동 음성 인식(automatic speech recognition, ASR) 기술을 적용하여 음성 인식을 수행할 수 있다.
또는, 전자 장치(100)는 센서 장치로부터 수신된 음성 신호의 음성 인식을 위해, 외부 서버로 해당 음성 신호를 전송할 수 있다.
이 경우, 센서 장치 및 외부 서버와의 통신을 위한 통신 모듈은 하나로 구현되거나, 별개로 구현될 수 있다. 예를 들어, 센서 장치와는 Bluetooth 모듈을 이용하여 통신하고, 외부 서버와는 이더넷 모뎀 또는 Wi-Fi모듈을 이용하여 통신할 수 있다.
외부 서버는 디지털 음성 신호에 자동 음성 인식(automatic speech recognition, ASR) 기술을 적용하여 음성 인식을 수행하고, 음성 인식 결과를 전자 장치(100)로 전송할 수도 있다.
도 2c는 메모리(130)에 저장된 모듈의 일 예를 나타내는 블럭도이다.
메모리(130)는 하나 이상의 모듈로서 구성된 소프트웨어 및/또는 펌웨어를 포함할 수 있다. 모듈은 컴퓨터 실행 가능 명령어의 집합에 대응될 수 있다.
메모리(130)는 O/S 소프트웨어 모듈(131), 오디오 처리 모듈(132), 음성 인식 모듈(133) 및 태스크 모듈(134)을 포함할 수 있다. 모듈들(131 ~ 134)은 다양한 기능 수행을 위해 프로세서(120)에 의해 실행될 수 있다.
O/S 소프트웨어 모듈(131)은 전자 장치(100)를 구동하기 위한 모듈일 수 있다. 예를 들어, 프로세서(120)는 O/S 소프트웨어 모듈(131)을 이용하여 전자 장치(100)의 턴 온 및 턴 오프 동작, 전자 장치(100)의 전력 관리, 어플리케이션의 구동, 타 전자 장치의 제어 등과 같은 기능을 수행할 수 있다.
오디오 처리 모듈(132)은 오디오 신호의 분석, 유사도 판단 등을 수행하기 위한 모듈일 수 있다. 예를 들어, 프로세서(120)는 오디오 처리 모듈(132)을 이용하여 제1 오디오 신호 및 제2 오디오 신호의 유사도를 획득할 수 있다.
음성 인식 모듈(133)은 음성 인식을 수행할 수 있다. 음성 인식 모듈(133)은 자동 음성 인식(automatic speech recognition)(ASR)기술을 이용할 수 있다.
음성 인식 모듈(133)은 사용자의 발화 대응되는 오디오 신호를 텍스트 데이터로 변환할 수 있다. 음성 인식 모듈(133)의 구체적인 기능은 도 2d를 참고하여 설명하도록 한다.
도 2d를 참고하면, 음성 인식 모듈(133)은 특징 추출부와 디코더를 포함할 수 있다. 특징 추출부는 오디오 신호로부터 특징 정보(특징 벡터)를 추출할 수 있다. 그리고 디코더는 음향 모델과 언어 모델을 바탕으로 특징 정보들에 대응되는 음성 인식 정보를 획득할 수 있다. 음성 인식 정보는 음향 모델을 기초로 획득된 특징 정보들에 대응하는 발음 정보, 음소 정보, 문자열 정보와, 언어 모델을 기초로 상기 획득된 발음 정보들에 대응되는 텍스트 데이터를 포함할 수 있다.
또 다른 실시 예에 따르면, 음성 인식 모듈(133)은 음향 모델과 언어 모델 중 어느 하나만 포함하거나, 또는 둘 다 포함하고 있더라도 둘 중 어느 하나만을 사용할 수 있다. 이 경우 음성 인식 모듈(133)은 음향 모델과 언어 모델 중 어느 하나만 적용하여 음성 인식 정보를 획득할 수 있다. 예컨대, 음성 인식 정보는 음향 모델을 기초로 획득된 발음 정보, 음소 정보, 문자열 정보 또는 언어 모델을 기초로 획득된 텍스트 정보를 포함할 수 있다. 즉, 음성 인식 정보는 최종 결과물인 텍스트 데이터가 아니라 중간 결과물인 발음 정보, 음소 정보 또는 문자열 정보를 포함할 수 있다. 이 경우, 음성 인식 정보는 다른 장치로 전송되고, 적용되지 않은 음향 모델 또는 언어 모델을 다른 장치에서 적용해서 최종적으로 텍스트 데이터를 획득할 수 있다.
또 다른 실시 예에 따르면, 음성 인식 모듈(133)은 음향 모델과 언어 모델 둘 다를 포함하고 있지 않을 수 있거나, 또는 둘 중 적어도 하나를 포함하고 있더라도 그것을 사용하지 않을 수 있다. 이 경우, 음성 인식 모듈(133)은 특징 정보 추출 동작까지만 수행해서 특징 정보를 포함한 음성 인식 정보를 출력할 수 있다. 음성 인식 정보는 다른 장치로 전송되고, 다른 장치에서 음향 모델 및 언어 모델을 적용해서 최종적으로 텍스트 데이터를 획득할 수 있다.
또 다른 실시 예에 따르면 전자 장치(100)는 음성 인식 모듈 자체를 포함하지 않을 수 있거나, 포함하고 있더라도 이를 사용하지 않을 수 있다. 이 경우, 전자 장치(100)는 마이크(180)를 통해 획득된 오디오 신호를 다른 장치로 전송하고, 다른 장치에서 음성 인식이 수행될 수 있다.
이와 같이 음성 인식 모듈(133)의 기능들의 선택적 사용은 전자 장치(100) 내에서의 연산 부담을 줄여줄 수 있다.
또한, 음성 인식 모듈(133)은 외부 장치로부터 중간 결과물인 음성 인식 정보가 수신되는 경우, 음성 인식 정보에 대해 나머지 음성 인식 처리를 수행할 수 있다. 예컨대, 음성 인식 모듈(133)은 외부 장치로부터 수신된 음성 인식 정보가 음향 모델이 적용되고 언어 모델이 미적용된 정보인 경우 수신된 음성 인식 정보에 언어 모델을 적용하여 최종 인식 결과를 획득할 수 있다. 또 다른 예로, 음성 인식 모듈(133)은 외부 장치로부터 수신된 음성 인식 정보가 특징 정보만을 포함한 경우, 음성 인식 정보에 언어 모델과 음향 모델을 적용해서 최종 인식 결과를 획득할 수 있다.
음성 인식 모듈(133)을 통해 오디오 신호로부터 텍스트 데이터가 획득되면, 텍스트 데이터는 태스크 모듈(134)로 전달될 수 있다.
태스크 모듈(134)은 음성 인식 모듈(133)로부터 전달된 텍스트 데이터를 분석해서 의미를 분석하고 의미에 맞는 태스크를 수행할 수 있다. 태스크 모듈(134)은 자연어 이해 처리(Natural Language Processing)(NLP) 기술을 이용할 수 있다.
태스크 모듈(134)은 분석된 의미에 기초해서 수행할 태스크를 식별할 수 있다. 다양한 타입의 태스크들, 예컨대 음악 재생, 스케줄 설정, 전화 걸기, 문의에 대한 응답 등이 수행될 수 있다. 또한, 태스크들은 타 전자 장치를 제어하기 위한 태스크를 포함할 수 있다.
본 개시의 일 실시 예에 따르면, 태스크를 수행하기 위한 인공지능 에이전트(Artificial intelligence agent) 프로그램이 전자 장치(100)에 저장되어 있을 수 있다.
인공지능 에이전트 프로그램은 AI(Artificial Intelligence) 기반의 서비스(예를 들어, 음성 인식 서비스, 비서 서비스, 번역 서비스, 검색 서비스 등)를 제공하기 위한 전용 프로그램으로서, 기존의 범용 프로세서(예를 들어, CPU) 또는 별도의 AI 전용 프로세서(예를 들어, GPU 등)에 의해 실행될 수 있다. 프로세서(120)는 범용 프로세서 및 AI 전용 프로세서 중 적어도 하나를 포함할 수 있다.
특히, 인공지능 에이전트 프로그램은 사용자 명령 및 사용자 명령에 대응되는 동작을 처리하고, 그에 대한 안내 메시지를 자연어로 처리할 수 있는 대화 시스템을 포함할 수 있다. 대화 시스템은 음성 인식 모듈(133) 및 태스크 모듈(134)을 포함하여 구성될 수 있다. 이에 대한 구체적인 설명은 후술한다.
도 2e는 센서 장치(200)의 구성의 일 예를 나타내는 블럭도이다.
도 2e를 참고하면, 센서 장치(200)는 프로세서(210), 메모리(220), 통신 인터페이스(230) 및 마이크(240)를 포함한다.
프로세서(210)는 센서 장치(200)의 전반적인 동작을 제어하기 위한 구성이다. 예를 들면, 프로세서(210)는 운영 체제, 애플리케이션을 구동하여 프로세서(210)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(210)는 CPU(central processing unit) 또는 GPU(graphics-processing unit)이거나 둘 다일 수 있다. 프로세서(110)는 적어도 하나의 범용 프로세서(general processor), 디지털 신호 프로세서(digital signal processor), ASIC(Application specific integrated circuit), SoC(system on chip), MICOM(Microcomputer) 등으로 구현될 수 있다.
메모리(220)는 내장 메모리 또는 외장 메모리를 포함할 수 있다. 메모리(220)는 프로세서(210)에 의해 액세스되며, 프로세서(210)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
메모리(220)는 하나 이상의 모듈로서 구성된 소프트웨어 및/또는 펌웨어를 포함할 수 있다. 모듈은 컴퓨터 실행 가능 명령어의 집합에 대응될 수 있다.
메모리(220)는 웨이크업 모듈(221), 태스크 모듈(222)를 포함할 수 있다. 모듈들(221, 222)은 다양한 기능 수행을 위해 프로세서(210)에 의해 실행될 수 있다.
웨이크업 모듈(221)은 오디오 신호 내에서 기 설정된 트리거 워드 또는 문구를 인식할 수 있다. 예컨대, 웨이크업 모듈(221)은 마이크(240)를 통해 획득된 사용자 음성에 포함된 트리거 워드를 인식할 수 있다. 트리거 워드가 인식되면, 센서 장치(200)의 스탠바이 모드를 해제할 수 있다. 예컨대, 웨이크업 모듈(221)은 마이크(240)의 녹음 기능 및 통신 인터페이스(230)를 활성화시킬 수 있다.
센서 장치(200)에 웨이크업 모듈(221)이 구비되지 않을 수 있고, 이 경우에는 센서 장치(200)는 사용자 수동 조작에 의해 스탠바이 모드를 해제할 수도 있다. 예컨대, 센서 장치(200)에 마련된 특정 버튼의 선택으로 스탠바이 모드가 해제될 수 있다. 또 다른 예로, 센서 장치(200)는 녹음만을 수행해서 오디오 신호를 외부 장치, 예컨대 전자 장치(100) 또는 서버(300) 등에 전송할 수 있고, 이러한 외부 장치에서 트리거 워드를 인식해서 센서 장치(200)에서 스탠바이 모드가 해제되도록 제어하는 것도 가능하다.
한편, 웨이크업 모듈(221)은 필수적으로 구비된 모듈은 아니다. 예를 들어, 센서 장치(200)는 웨이크업 모듈(221)을 구비하지 않을 수도 있으며, 이 경우 센서 장치(200)는 스탠바이 모드로 진입하지 않게 된다.
태스크 모듈(222)은 사용자 음성이 수신되면, 사용자 음성으로부터 음성 구간 검출(VAD, Voice Activity Detection) 또는 음성 끝점 검출(EPD, End Point Detection) 중 적어도 하나를 통해 사용자의 목소리를 감지할 수 있다.
그리고, 태스크 모듈(222)은 사용자 음성에 대응되는 오디오 신호 뿐만 아니라 사용자 음성의 음성 구간에 대한 시간 정보 또는 사용자 음성의 음성 끝점에 대한 시간 정보 중 적어도 하나를 전자 장치(100)로 전송할지에 대한 판단을 수행할 수 있다. 가령, 태스크 모듈(222)은 마이크(240)에 의해 수신된 오디오가 사용자 음성을 포함하지 않는다고 판단되면, 전자 장치(100)로 오디오 신호를 전송하지 않을 수 있다.
통신 인터페이스(230)는 예를 들면 무선 통신 또는 유선 통신을 통해서 네트워크에 연결되어 외부 장치와 통신할 수 있다. 무선 통신은, 예를 들면, 셀룰러 통신 프로토콜로서, 예를 들면, LTE(long-term evolution), LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용할 수 있다. 또한, 무선 통신은, 예를 들면, 근거리 통신을 포함할 수 있다. 근거리 통신은, 예를 들면, WiFi 다이렉트(wireless fidelity direct), 블루투스(Bluetooth), NFC(near field communication), 직비(Zigbee) 중 적어도 하나를 포함할 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크는 통신 네트워크(telecommunications network), 예를 들면, 컴퓨터 네트워크(computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망(telephone network) 중 적어도 하나를 포함할 수 있다.
마이크(240)는 사운드를 수신하기 위한 구성이다. 마이크(240)는 수신된 사운드를 전기적 신호로 변환할 수 있다. 마이크(240)는 센서 장치(200)와 일체형으로 구현되거나 또는 분리될 수 있다. 분리된 마이크(200)는 센서 장치(200)와 전기적으로 연결될 수 있다. 마이크(240)는 복수 개로 마련될 수 있다. 복수 개의 마이크를 통해 사용자의 이동 방향을 감지할 수 있다.
프로세서(210)는 메모리(220)에 저장된 컴퓨터 실행 가능 명령어(모듈)을 실행함으로써 다양한 기능을 수행할 수 있다.
일 실시 예에 따르면, 프로세서(210)는 메모리(220)에 저장된 컴퓨터 실행가능 명령어를 실행함으로써, 기 설정된 트리거 워드를 포함한 사용자의 음성을 마이크(240)를 통해 획득하고, 사용자 음성에 대응되는 오디오 신호를 전자 장치(100)로 전송하도록 통신 인터페이스(230)를 제어할 수 있다.
한편, 도시되진 않았지만 센서 장치(200)는 사용자 입력 수신부를 포함할 수 있다. 사용자 입력 수신부는 다양한 사용자 입력, 예컨대 터치 입력, 모션 입력, 버튼 조작 등을 수신할 수 있다. 예컨대 사용자 입력 수신부는 버튼, 터치 패널 등을 포함할 수 있다. 또한 센서 장치(200)는 다양한 정보를 표시하기 위한 디스플레이를 더 포함할 수 있다. 디스플레이는 예컨대 발광 다이오드(light-emitting diode(LED)), 액정 디스플레이(liquid crystal display(LCD)) 등을 포함할 수 있다. 또한 전자 장치(100)는 카메라를 더 포함할 수 있다. 카메라를 통해 촬영된 영상은 사용자의 이동 방향을 판단하거나 마이크(240)로 들어오는 노이즈를 감쇄시키는데 사용될 수 있다. 또한, 센서 장치(200)는 스피커를 더 포함할 수 있다. 스피커를 통해 제어 결과를 나타내는 안내 메시지가 출력될 수 있다.
도 2f는 서버(300)의 구성의 일 예를 나타내는 블럭도이다.
도 2f를 참고하면, 서버(300)는 프로세서(310), 메모리(320), 통신 인터페이스(330)를 포함한다.
프로세서(310)는 서버(300)의 전반적인 동작을 제어하기 위한 구성이다. 예를 들면, 프로세서(310)는 운영 체제, 애플리케이션을 구동하여 프로세서(310)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(310)는 CPU(central processing unit) 또는 GPU(graphics-processing unit)이거나 둘 다일 수 있다. 프로세서(310)는 적어도 하나의 범용 프로세서(general processor), 디지털 신호 프로세서(digital signal processor), ASIC(Application specific integrated circuit), SoC(system on chip), MICOM(Microcomputer) 등으로 구현될 수 있다.
메모리(320)는 내장 메모리 또는 외장 메모리를 포함할 수 있다. 메모리(220)는 프로세서(310)에 의해 액세스되며, 프로세서(310)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
메모리(320)는 하나 이상의 모듈로서 구성된 소프트웨어 및/또는 펌웨어를 포함할 수 있다. 모듈은 컴퓨터 실행 가능 명령어의 집합에 대응될 수 있다.
메모리(320)는 음성 인식 모듈(321), 태스크 모듈(322)를 포함할 수 있다. 모듈들(321, 322)은 다양한 기능 수행을 위해 프로세서(310)에 의해 실행될 수 있다.
음성 인식 모듈(321)은 앞서 설명한 음성 인식 모듈(133)의 기능과 동일한 기능을 수행할 수 있다.
태스크 모듈(322)은 음성 인식 결과를 바탕으로 특정 제어 신호를 전자 장치(100) 또는 타 전자 장치 중 적어도 하나에 전송하는 태스크를 수행할 수 있다. 예컨대, 최종 인식 결과가 "TV 켜줘?"인 경우, 태스크 모듈(322)은 TV를 턴 온하는 제어 신호를 TV로 전송하는 태스크를 수행할 수 있다.
통신 인터페이스(330)는 예를 들면 무선 통신 또는 유선 통신을 통해서 네트워크에 연결되어 외부 장치와 통신할 수 있다. 무선 통신은, 예를 들면, 셀룰러 통신 프로토콜로서, 예를 들면, LTE(long-term evolution), LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용할 수 있다. 또한, 무선 통신은, 예를 들면, 근거리 통신을 포함할 수 있다. 근거리 통신은, 예를 들면, WiFi 다이렉트(wireless fidelity direct), 블루투스(Bluetooth), NFC(near field communication), 직비(Zigbee) 중 적어도 하나를 포함할 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크는 통신 네트워크(telecommunications network), 예를 들면, 컴퓨터 네트워크(computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망(telephone network) 중 적어도 하나를 포함할 수 있다.
프로세서(310)는 메모리(320)에 저장된 컴퓨터 실행 가능 명령어(모듈)을 실행함으로써 다양한 기능을 수행할 수 있다.
일 실시 예에 따르면, 프로세서(310)는 메모리(320)에 저장된 컴퓨터 실행가능 명령어를 실행함으로써, 전자 장치(100) 또는 센서 장치(200)로부터 수신된 오디오 신호에 대한 음성 인식을 수행할 수 있다. 그리고, 프로세서(310)는 음성 인식 결과에 대응되는 제어 명령을 음성 인식 결과에 대응되는 장치로 전송하도록 통신 인터페이스(330)를 제어할 수 있다.
또한, 프로세서(310)는 음성 인식이 아닌 유효 센서 장치의 식별 동작을 수행할 수도 있다. 예를 들어, 프로세서(310)는 전자 장치(100) 또는 복수의 센서 장치(200-1 ~ 200-5) 중 두 장치로부터 각각 제1 및 제2 오디오 신호를 수신할 수 있다. 그리고, 프로세서(310)는 전자 장치(100)의 프로세서(120)와 동일하게 유효 센서 장치 판단 등의 동작을 수행할 수 있으며, 중복되는 설명이므로 생략한다.
서버(300)가 유효 센서 장치를 식별하는 경우, 서버(300)로 오디오 신호를 전송하는 장치는 식별 정보를 서버(300)로 추가 제공할 수 있다. 예를 들어, 서버(300)는 제1 가정 내의 전자 장치 및 복수의 센서 장치, 제2 가정 내의 전자 장치 및 복수의 센서 장치, ... , 제n 가정 내의 전자 장치 및 복수의 센서 장치와 통신을 수행할 수 있으며, 단순히 오디오 신호만을 수신하는 경우, 어느 가정의 센서 장치가 유효 센서 장치인지 식별할 수 없다. 따라서, 서버(300)가 유효 센서 장치를 식별하는 경우에는, 전자 장치 또는 센서 장치가 오디오 신호와 함께 식별 정보를 서버(300)로 전송할 수 있다. 여기서, 식별 정보는 계정 정보, 사용자 정보, 위치 정보 중 적어도 하나를 포함할 수 있다.
한편, 각 가정 내의 센서 장치는 직접 오디오 신호 및 식별 정보를 서버(300)로 전송할 수 있다. 또는, 각 가정 내의 센서 장치는 오디오 신호 및 식별 정보를 동일한 가정 내의 전자 장치로 전송하고, 전자 장치가 오디오 신호 및 식별 정보를 서버(300)로 전송할 수도 있다.
이상과 같은 방법을 통해 전자 장치(100)는 복수의 센서 장치(200-1 ~ 200-5) 중 하나에 우선 순위를 부여하여, 중복 처리 및 리소스 낭비와 같은 문제를 방지할 수 있다.
이하에서는 도면을 통해 전자 장치(100) 및 복수의 센서 장치(200-1 ~ 200-5)의 동작을 좀더 구체적으로 설명한다.
도 3 내지 도 6은 본 개시의 일 실시 예에 따른 음성 인식 방법을 설명하기 위한 도면들이다. 도 3 내지 도 6에서는 전자 시스템(1000)이 TV와 같은 하나의 전자 장치(100), 제1 내지 제4 센서 장치(200-1 ~ 200-4) 및 에어컨, 냉장고와 같은 타 전자 장치를 포함하는 것으로 가정한다. 또한, 제1 센서 장치(200-1)는 전자 장치(100) 근처에 배치되며, 제2 센서 장치(200-2)는 냉장고 근처에 배치되고, 제3 센서 장치(200-3)는 에어컨 근처에 배치된 상태를 가정한다. 그리고, 제1 센서 장치(200-1) 근처에서 사용자가 발화하는 상황을 가정한다. 이 경우, 유효 센서 장치는 사용자가 가장 가까이에 있는 제1 센서 장치(200-1)가 되어야 한다.
제1 내지 제4 센서 장치(200-1 ~ 200-4)는 웨이크업 모듈(221)을 포함할 수도 있고, 포함하지 않을 수도 있다. 이하에서는 먼저, 제1 내지 제4 센서 장치(200-1 ~ 200-4)가 웨이크업 모듈(221)을 포함하지 않는 경우를 설명한다.먼저, 도 3에 도시된 바와 같이, 사용자의 "Hi Bixby. 냉장고 온도 낮춰줘."라는 발화는 사용자 주변의 제1 내지 제3 센서 장치(200-1 ~ 200-3)에 입력될 수 있다. 다만, 제4 센서 장치(200-4)는 사용자와의 거리가 멀거나 사용자와의 사이에 형성된 벽에 의해 사용자의 발화를 수신하지 못할 수 있다. 또는, 제4 센서 장치(200-4)는 사용자의 발화를 수신하였으나, 오디오 크기가 임계 값보다 작은 경우 오디오 신호를 전자 장치(100)로 전송하지 않을 수 있다. 또는, 제4 센서 장치(200-4)는 사용자의 발화를 수신하고, 오디오 크기가 임계 값보다 작더라도 오디오 신호를 전자 장치(100)로 전송할 수 있다. 그리고, 전자 장치(100)는 오디오 크기가 임계 값보다 작은 오디오 신호를 무시할 수도 있다.
사용자의 "Hi Bixby. 냉장고 온도 낮춰줘."라는 발화가 입력된 제1 내지 제3 센서 장치(200-1 ~ 200-3)는 각각 "Hi Bixby. 냉장고 온도 낮춰줘."에 대응되는 제1 내지 제3 오디오 신호를 전자 장치(100)로 전송할 수 있다. 여기서, 제1 내지 제3 오디오 신호는 입력 시간 또는 사용자와 센서 장치 간의 거리 등에 따라 시간차가 있는 신호일 수 있다.
프로세서(120)는 제1 내지 제3 오디오 신호에 기초하여 제1 내지 제3 센서 장치(200-1 ~ 200-3) 중 하나를 유효 센서 장치로 식별할 수 있다. 구체적으로, 프로세서(120)는 제1 내지 제3 오디오 신호 중 발화 시점이 가장 빠른 신호와 발화 시점이 가장 늦은 신호를 비교하여 발화 시점 간의 차이가 임계 시간 이하인지 식별할 수 있다. 프로세서(120)는 발화 시점 간의 차이가 임계 시간을 초과하면, 서로 다른 신호라고 식별할 수 있다. 여기서, 제1 내지 제3 센서 장치(200-1 ~ 200-3) 각각은 오디오 신호와 함께 사용자 음성의 음성 구간에 대한 시간 정보 또는 사용자 음성의 음성 끝점에 대한 시간 정보 중 적어도 하나를 전자 장치(100)로 전송할 수 있다. 그리고, 프로세서(120)는 수신된 정보에 기초하여 오디오 신호의 발화 시점을 식별할 수 있다.
다만, 이에 한정되는 것은 아니며, 프로세서(120)는 오디오 신호의 수신 시점을 이용할 수도 있다. 예를 들어, 프로세서(120)는 제1 내지 제3 오디오 신호 중 제일 먼저 입력된 신호의 수신 시점과 나머지 신호의 수신 시점을 비교하여 수신 시점 간의 차이가 임계 시간 이하인지 식별할 수 있다. 프로세서(120)는 수신 시점 간의 차이가 임계 시간을 초과하면, 서로 다른 신호라고 식별할 수 있다.
프로세서(120)는 발화 시점 또는 수신 시점 간의 차이가 임계 시간 이하이면, 오디오 신호 간 유사도를 식별할 수 있다. 프로세서(120)는 유사도가 임계 값 미만이면, 서로 다른 신호라고 식별할 수 있다.
이때, 프로세서(120)는 입력된 오디오 신호의 전체를 비교하여 오디오 신호 간 유사도를 식별할 수 있다. 예를 들어, 프로세서(120)는 제1 센서 장치(200-1) 및 제2 센서 장치(200-2) 각각으로부터 사용자의 “Hi Bixby. 에어컨 켜줘.”라는 발화에 대응되는 제1 오디오 신호 및 제2 오디오 신호가 수신되면, 제1 오디오 신호 및 제2 오디오 신호 전체를 비교하여 유사도를 식별할 수 있다.
다만, 이에 한정되는 것은 아니며, 프로세서(120)는 입력된 오디오 신호의 일부만을 비교하여 오디오 신호 간 유사도를 식별할 수도 있다. 예를 들어, 프로세서(120)는 제1 센서 장치(200-1) 및 제2 센서 장치(200-2) 각각으로부터 사용자의 “Hi Bixby. 에어컨 켜줘.”라는 발화에 대응되는 제1 오디오 신호 및 제2 오디오 신호가 수신되면, 제1 오디오 신호 중 “Hi Bixby.”에 대응되는 신호 및 제2 오디오 신호 중 “Hi Bixby.”에 대응되는 신호만을 비교하여 유사도를 식별할 수도 있다. 즉, 프로세서(120)는 수신된 제1 오디오 신호의 일부 및 제2 오디오 신호의 일부만을 비교하여 유효 센서 장치를 식별할 수도 있다. 여기서, 제1 오디오 신호의 일부 및 제2 오디오 신호의 일부는 기설정된 시간으로 결정될 수 있다.
프로세서(120)는 오디오 신호 간 유사도가 임계 값 이상이면, 제1 내지 제3 오디오 신호의 오디오 성분을 변환하여 제1 내지 제3 센서 장치(200-1 ~ 200-3) 중 하나를 유효 센서 장치로 식별할 수 있다. 이때, 프로세서(120)는 도 4와 같은 오디오 모델을 이용하여 제1 내지 제3 오디오 신호에 포함된 오디오 성분을 변환할 수 있다.
도 4는 오디오 모델의 일 예를 나타내며, 모드 1은 TV, 냉장고가 턴 온된 상태이고, 에어컨이 터보 모드로 동작하는 상태일 수 있다. 이때, TV, 냉장고, 에어컨 각각의 주변에 배치된 제1 내지 제3 센서 장치(200-1 ~ 200-3)에서 입력되는 오디오의 크기는 각각 60, 20, 30일 수 있다. 모드 2는 TV의 볼륨이 낮아진 상태이며, 냉장고가 턴 온된 상태이고, 에어컨이 일반 모드로 동작하는 상태일 수 있다. 이때, 제1 내지 제3 센서 장치(200-1 ~ 200-3)에서 입력되는 오디오의 크기는 각각 30, 20, 20일 수 있다. 모드 3은 TV, 냉장고가 턴 온된 상태이고, 에어컨이 턴 오프된 상태일 수 있다. 이때, 제1 내지 제3 센서 장치(200-1 ~ 200-3)에서 입력되는 오디오의 크기는 각각 60, 20, 10일 수 있다.
이상과 같이 오디오 모델은 전자 장치 및 적어도 하나의 타 전자 장치의 동작 상태에 기초한 복수의 모드를 포함하며, 복수의 모드 각각의 경우에 센서 장치들에서 입력되는 오디오 크기를 포함할 수 있다. 여기서, 오디오 크기는 사용자 음성이 없는 노이즈 성분만을 포함할 수 있다. 도 4에서는 설명의 편의를 위하여 전자 장치(100) 또는 적어도 하나의 타 전자 장치 주변에 배치되지 않은 제4 센서 장치(200-4)에서 입력되는 오디오 크기를 기재하지 않았으나, 오디오 모델은 제4 센서 장치(200-4)에서 입력된 오디오 크기를 포함할 수도 있다.
프로세서(120)는 제1 내지 제3 오디오 신호 각각에서 음성 성분과 노이즈 성분을 식별할 수 있다. 예를 들어, 프로세서(120)는 도 5에 도시된 바와 같이, 제1 오디오 신호에서 65의 음성 성분 및 60의 노이즈 성분을 식별하고, 제2 오디오 신호에서 30의 음성 성분 및 20의 노이즈 성분을 식별하고, 제3 오디오 신호에서 40의 음성 성분 및 30의 노이즈 성분을 식별할 수 있다.
프로세서(120)는 도 4와 같은 오디오 모델에 기초하여 오디오 신호에 포함된 음성 성분과 노이즈 성분을 식별할 수 있다. 즉, 프로세서(120)는 사용자의 발화가 없는 경우의 오디오 신호를 도 4와 같은 오디오 모델로 학습하여 저장하고 있으며, 이후 사용자 음성이 있으면, 오디오 모델에 기초하여 오디오 신호에 포함된 음성 성분과 노이즈 성분을 식별할 수 있다.
그리고, 프로세서(120)는 오디오 신호를 전송한 센서 장치 각각에 인접한 전자 장치의 동작 상태에 따라 유효 센서 장치의 식별 오류를 최소화하기 위해 노이즈 보정을 수행할 수 있다. 예를 들어, 프로세서(120)는 오디오 신호를 전송한 센서 장치 각각에 인접한 전자 장치의 동작 상태에 따라 제1 오디오 신호에 포함된 노이즈 성분, 제2 오디오 신호에 포함된 노이즈 성분 및 제3 오디오 신호에 포함된 노이즈 성분으로부터 각각 제1 예측 오디오 성분, 제2 예측 오디오 성분 및 제3 예측 오디오 성분을 획득하고, 제1 예측 오디오 성분의 크기, 제2 예측 오디오 성분의 크기 및 제3 예측 오디오 성분의 크기 각각에 기초하여 제1 오디오 신호에 대한 제1 품질 특성, 제2 오디오 신호에 대한 제2 품질 특성 및 제3 오디오 신호에 대한 제3 품질 특성을 획득하며, 제1 품질 특성, 제2 품질 특성 및 제3 품질 특성에 기초하여 제1 센서 장치(200-1), 제2 센서 장치(200-2) 및 제3 센서 장치(200-3) 중 하나를 유효 센서 장치로 식별할 수 있다.
좀더 구체적으로, 프로세서(120)는 제1 내지 제3 오디오 신호 각각의 품질 특성 중 SNR 특성을 이용하여 유효 센서 장치를 식별할 수 있다. 여기서, 노이즈 보정이 없이 SNR 특성을 획득하는 경우, 도 5의 노이즈 보정 전의 예에 따르면 SNR 특성이 가장 좋은 제2 센서 장치(200-2)가 유효 센서 장치로 식별될 수 있다. 즉, TV와 같은 전자 장치(100)의 노이즈로 인해 제1 오디오 신호의 SNR 특성이 악화된 상태이며, 이 경우 프로세서(120)는 제2 센서 장치(200-2)를 유효 센서 장치로 식별함으로써 식별 오류가 발생하게 된다.
반면, 프로세서(120)는 오디오 모델을 통해 노이즈 보정을 수행할 수 있다. TV를 예로 들면, 프로세서(120)는 도 4에 도시된 바와 같이, TV가 턴 온된 상태에서 볼륨이 낮아지면 노이즈가 60에서 30으로 감소함을 식별할 수 있다. 그리고, 프로세서(120)는 도 5에 도시된 바와 같이, 제1 오디오 신호에서 65의 음성 성분은 그대로 유지하고, 60의 노이즈 성분을 30으로 낮출 수 있다. 프로세서(120)는 이러한 동작을 나머지 오디오 신호에 대하여도 수행하며, 보정된 노이즈를 이용하여 SNR 특성을 획득할 수 있다. 그리고, 프로세서(120)는 SNR 특성이 가장 좋은 제1 센서 장치(200-1)를 유효 센서 장치로 식별할 수 있다. 이상과 같이 노이즈 보정을 통해 식별 오류가 발생하는 문제를 해소할 수 있다.
프로세서(120)는 유효 센서 장치로 식별된 제1 센서 장치(200-1)로부터 수신된 제1 오디오 신호인 “Hi Bixby. 냉장고 온도 낮춰줘.”에 대하여만 음성 인식을 수행할 수 있다. 그리고, 프로세서(120)는 유효 센서 장치의 식별로부터 임계 시간 동안 제1 센서 장치(200-1)로부터 추가로 수신된 오디오 신호에 대하여만 음성 인식을 수행할 수 있다.
프로세서(120)는 음성 인식 결과에 기초하여 냉장고의 온도가 낮아지도록 냉장고를 제어할 수 있다. 그리고, 프로세서(120)는 냉장고에 대한 제어 결과를 안내하는 안내 메시지를 제1 센서 장치(200-1)로 전송하며, 제1 센서 장치(200-1)는 제어 결과를 사용자에게 제공할 수 있다.
한편, 제1 내지 제4 센서 장치(200-1 ~ 200-4)는 웨이크업 모듈(221)을 포함할 수도 있다. 예를 들어, 도 6에 도시된 바와 같이, 사용자의 "Hi Bixby."라는 발화는 사용자 주변의 제1 내지 제3 센서 장치(200-1 ~ 200-3)에 입력될 수 있다. 다만, 제4 센서 장치(200-4)는 사용자와의 거리가 멀거나 사용자와의 사이에 형성된 벽에 의해 사용자의 발화를 수신하지 못할 수 있다.
사용자의 "Hi Bixby."라는 발화가 입력된 제1 내지 제3 센서 장치(200-1 ~ 200-3)는 트리거 신호가 입력된 것으로 판단하고, 스탠바이 모드를 임계 시간 동안 해제할 수 있다. 이후, 임계 시간 내에 사용자로부터 추가 발화가 입력되면 제1 내지 제3 센서 장치(200-1 ~ 200-3)는 각각 제1 내지 제3 추가 오디오 신호를 전자 장치(100)로 전송할 수 있다. 여기서, 제1 내지 제3 추가 오디오 신호는 추가 발화에 대응되는 신호이나, 입력 시간 또는 사용자와 센서 장치 간의 거리 등에 따라 시간차가 있는 신호일 수 있다.
가령, 도 6에 도시된 바와 같이, 사용자의 "에어컨 19도로 켜줘."라는 추가 발화는 사용자 주변의 제1 내지 제3 센서 장치(200-1 ~ 200-3)에 입력될 수 있다. 제1 내지 제3 센서 장치(200-1 ~ 200-3)는 각각 제1 내지 제3 추가 오디오 신호를 전자 장치(100)로 전송할 수 있다.
이후, 프로세서(120)는 제1 내지 제3 추가 오디오 신호에 기초하여 유효 센서 장치를 식별할 수 있으며, 구체적인 방법은 웨이크업 모듈(221)을 포함하지 않은 경우에서 설명한 바와 동일하다.
만약, 제1 센서 장치(200-1)가 유효 센서 장치로 식별되면, 프로세서(120)는 제1 추가 오디오 신호에 대하여만 음성 인식을 수행할 수 있다. 프로세서(120)는 유효 센서 장치의 식별로부터 임계 시간 동안 이상과 같이 동작할 수 있다. 즉, 프로세서(120)는 제1 센서 장치(200-1)가 유효 센서 장치로 식별된 이후, 타 센서 장치로부터 수신된 오디오 신호를 무시할 수 있다. 또는, 프로세서(120)는 제1 센서 장치(200-1)가 유효 센서 장치로 식별된 이후, 타 센서 장치로 임계 시간 동안 오디오 신호를 전송하지 못하게 하는 제어 명령을 전송할 수도 있다.
프로세서(120)는 음성 인식 결과에 기초하여 에어컨을 19도에서 동작하도록 에어컨을 제어할 수 있다. 그리고, 프로세서(120)는 에어컨에 대한 제어 결과를 안내하는 안내 메시지를 제1 센서 장치(200-1)로 전송하며, 제1 센서 장치(200-1)는 제어 결과를 사용자에게 제공할 수 있다.
도 7a는 본 개시의 일 실시 예에 따른 전자 시스템(1000)의 동작을 설명하기 위한 시퀀스도이다.
사용자 음성이 입력되면 제1 내지 제3 센서 장치(200-1 ~ 200-3)는 각각 제1 내지 제3 오디오 신호를 전자 장치(100)로 전송할 수 있다. 이때, 제1 내지 제3 센서 장치(200-1 ~ 200-3)는 EPD 시간 정보를 전자 장치(100)로 더 전송할 수 있다(S710-1 ~ S710-3). 여기서, 제1 내지 제3 센서 장치(200-1 ~ 200-3) 각각은 입력된 사용자 음성으로부터 EPD 시간 정보를 획득할 수 있다. 또는, 전자 장치(100)가 제1 내지 제3 오디오 신호를 수신하고, 수신된 오디오 신호에 기초하여 오디오 신호를 처음 수신한 시간 및 EPD 시간 정보를 획득할 수도 있다. EPD 시간 정보는 사용자 음성의 음성 끝점에 대한 시간 정보를 포함할 수 있다. 여기서, 사용자 음성의 음성 끝점에 대한 시간 정보는 사용자의 음성의 음성 시작점을 포함할 수 있다.
다만, 이에 한정되는 것은 아니며, 제1 내지 제3 센서 장치(200-1 ~ 200-3)는 VAD 시간 정보를 전자 장치(100)로 더 전송할 수도 있다. VAD 시간 정보는 사용자 음성의 음성 구간에 대한 시간 정보를 포함할 수 있다. 또는, 전자 장치(100)가 EPD 시간 정보 또는 VAD 시간 정보 중 적어도 하나를 기록할 수도 있다.
전자 장치(100)는 EPD 시간 정보 또는 VAD 시간 정보 중 적어도 하나에 기초하여 복수의 오디오 신호가 임계 시간 내에 입력된 것인지 식별할 수 있다. 즉, 전자 장치(100)는 EPD 시간 정보 또는 VAD 시간 정보 중 적어도 하나에 기초하여 사용자 음성의 발화 시점 간의 차이를 식별하고, 발화 시점 간의 차이에 기초하여 오디오 신호 간 유사도 식별 여부를 결정할 수 있다. 가령, 전자 장치(100)는 제1 오디오 신호와 제2 오디오 신호의 유사도는 식별하나, 제1 오디오 신호와 제3 오디오 신호의 유사도는 식별하지 않을 수도 있다.
전자 장치(100)는 유사도를 획득하고(S720), 유효 센서 장치를 식별할 수 있다(S730). 구체적으로, 전자 장치(100)는 유사도를 획득하고(S720), 예측 오디오 성분의 품질에 기초하여 유효 센서 장치를 선택할 수 있다(S730). 여기서, 예측 오디오 성분은 노이즈 성분이 보정된 오디오 성분일 수 있다. 이하에서는 제1 센서 장치(200-1)가 유효 센서 장치인 것으로 설명한다.
그리고, 전자 장치(100)는 수신된 오디오 신호가 트리거 신호인지 식별할 수 있다(S740). 전자 장치(100)는 수신된 오디오 신호가 트리거 신호라고 식별되면, 유효 센서 장치로부터 수신된 추가 오디오 신호에 대한 음성 인식을 수행할 수 있다. 또는, 전자 장치(100)는 수신된 오디오 신호가 트리거 신호가 아니라고 식별되면, 유효 센서 장치로부터 추가 오디오 신호가 수신되더라도 음성 인식을 수행하지 않을 수 있다.
다만, 이에 한정되는 것은 아니며, 제1 센서 장치(200-1), 제2 센서 장치(200-2) 및 제3 센서 장치(200-3)가 직접 트리거 워드를 식별할 수도 있다. 이 경우, 전자 장치(100)는 트리거 워드를 식별하는 동작을 수행하지 않을 수 있다.
전자 장치(100)는 트리거 신호가 식별되면, 전자 장치(100) 및 적어도 하나의 타 전자 장치의 동작 상태를 제어할 수 있다. 예를 들어, 전자 장치(100)는 TV의 볼륨을 낮추거나 음소거하고, 에어컨의 파워 모드를 일반 모드로 변경하는 방법으로 추가 오디오 신호의 노이즈 성분을 최소화할 수 있다.
또는, 전자 장치(100)는 전자 장치(100) 또는 적어도 하나의 타 전자 장치 중 적어도 하나의 동작 상태만을 제어할 수도 있다. 예를 들어, 전자 장치(100)는 TV, 에어컨, 청소기 중 TV의 볼륨만을 낮출 수도 있다.
이때, 전자 장치(100)는 전자 장치(100) 또는 적어도 하나의 타 전자 장치 중 유효 센서 장치에 인접한 전자 장치의 동작 상태만을 제어할 수도 있다. 또는, 전자 장치(100)는 전자 장치(100) 또는 적어도 하나의 타 전자 장치 중 소음이 큰 전자 장치의 동작 상태만을 제어할 수도 있다.
이후, 전자 장치(100)는 동작 상태를 변경한 전자 장치의 동작 상태를 원래의 동작 상태로 원복할 수 있다. 예를 들어, 전자 장치(100)가 청소기의 동작을 정지시키고, 다시 청소기가 동작하도록 제어할 수 있다.
전자 장치(100)는 전자 장치(100) 및 적어도 하나의 타 전자 장치의 동작 상태를 변경한 후 임계 시간이 경과되면, 전자 장치(100) 및 적어도 하나의 타 전자 장치의 동작 상태를 원복할 수 있다. 예를 들어, 전자 장치(100)는 청소기의 동작을 정지시킨 후 2초가 경과한 후에 다시 청소기가 동작하도록 제어할 수 있다.
또는, 전자 장치(100)는 유효 센서 장치가 식별되고 추가 오디오 신호가 수신된 후(후술할 S750-1, S750-2, S750-3 동작 이후) 전자 장치(100) 및 적어도 하나의 타 전자 장치의 동작 상태를 원복할 수도 있다. 또는, 전자 장치(100)는 제1 센서 장치(200-1)에 대한 음성 인식 기능을 활성화한 후(후술할 S760 동작 이후) 전자 장치(100) 및 적어도 하나의 타 전자 장치의 동작 상태를 원복할 수도 있다. 또는, 전자 장치(100)는 추가 오디오 신호에 대한 음성 인식을 수행한 후(후술할 S770 동작 이후) 전자 장치(100) 및 적어도 하나의 타 전자 장치의 동작 상태를 원복할 수도 있다. 또는, 전자 장치(100)는 음성 인식 결과에 기초하여 제어 명령을 생성한 후(후술할 S780 동작 이후) 전자 장치(100) 및 적어도 하나의 타 전자 장치의 동작 상태를 원복할 수도 있다. 또는, 전자 장치(100)는 제어 결과를 안내하는 안내 메시지를 유효 센서 장치로 전송한 후(후술할 S790 동작 이후) 전자 장치(100) 및 적어도 하나의 타 전자 장치의 동작 상태를 원복할 수도 있다.
이후, 사용자의 추가 발화에 따라 제1 내지 제3 센서 장치(200-1 ~ 200-3)는 각각 제1 내지 제3 추가 오디오 신호를 전자 장치(100)로 전송할 수 있다(S750-1, S750-2, S750-3). 전자 장치(100)가 트리거 신호가 수신된 상태에서 제1 내지 제3 추가 오디오 신호가 수신되면, 제1 센서 장치(200-1)에 대한 음성 인식 기능을 활성화하여(S760) 제1 추가 오디오 신호에 대한 음성 인식을 수행할 수 있다(S770). 동시에 프로세서(120)는 제2 추가 오디오 신호 및 제3 추가 오디오 신호에 대한 음성 인식을 수행하지 않을 수 있다.
전자 장치(100)는 음성 인식 결과에 기초하여 제어 명령을 생성하고(S780), 제어 결과를 안내하는 안내 메시지를 유효 센서 장치로 전송할 수 있다(S790).
다만, 이에 한정되는 것은 아니며, 전자 장치(100)는 제어 결과를 안내하는 메시지를 사용자에 근접한 센서 장치 또는 타 전자 장치로 전송할 수도 있다. 예를 들어, 사용자가 사용자 음성을 발화하는 시점에서는 유효 센서 장치 근처였으나, 이후 사용자가 위치를 이동하여 타 센서 장치 근처에 위치하면, 전자 장치(100)는 제어 결과를 안내하는 안내 메시지를 타 센서 장치로 전송할 수도 있다.
여기서, 전자 장치(100)는 센서 장치 및 타 전자 장치 등을 이용하여 사용자의 위치 정보를 획득할 수 있다. 예를 들어, 센서 장치 및 타 전자 장치 등은 적외선 센서, 온도 센서 등을 통해 주변에 사용자가 있는지 감지하고, 감지된 정보를 전자 장치(100)로 전송할 수 있다. 또는, 센서 장치 및 타 전자 장치는 카메라를 구비하고, 카메라에 의해 촬영된 이미지를 전자 장치(100)로 전송하며, 전자 장치(100)는 수신된 이미지로부터 사용자 인식을 수행하여 사용자의 위치 정보를 획득할 수도 있다.
도 7b는 본 개시의 다른 실시 예에 따른 전자 시스템(1000)의 동작을 설명하기 위한 시퀀스도이다. 도 7b의 전반적인 동작은 도 7a와 동일하므로 차이가 있는 부분에 대하여만 설명한다.
전자 장치(100)는 유효 센서 장치가 식별되면, 유효 센서 장치를 제외한 나머지 센서 장치로 제1 제어 신호를 전송할 수 있다(S751, S752). 여기서, 제1 제어 신호는 임계 시간 동안 오디오 신호의 전송을 제한하는 신호일 수 있다. 즉, 제2 센서 장치(200-2), 제3 센서 장치(200-3)는 전자 장치(100)로부터 제1 제어 신호가 수신되면, 임계 시간 동안 사용자 음성이 입력되더라도 사용자 음성에 대응되는 오디오 신호를 전자 장치(100)로 전송하지 않게 된다. 즉, 전자 장치(100)는 제1 센서 장치(200-1)로부터만 오디오 신호를 수신하고, 음성 인식 및 제어 동작을 수행할 수 있다.
또는, 제2 센서 장치(200-2), 제3 센서 장치(200-3)는 전자 장치(100)로부터 제1 제어 신호가 수신되면, 다시 스탠바이 모드로 동작할 수도 있다. 이 경우, 제2 센서 장치(200-2), 제3 센서 장치(200-3)는 트리거 신호가 수신되기 전까지 오디오 신호를 전자 장치(100)로 전송하지 않게 된다.
이후, 전자 장치(100)는 제1 센서 장치(200-1)로부터 수신된 오디오 신호에 기초하여 음성 인식 및 제어 동작을 수행하고, 안내 메시지를 제1 센서 장치(200-1)로 전송하며(S790), 제2 제어 신호를 제2 센서 장치(200-2) 및 제3 센서 장치(200-3)로 전송할 수 있다(S791, S792). 제2 제어 신호는 오디오 신호의 전송 제한을 해제하는 신호일 수 있다. 즉, 제2 센서 장치(200-2), 제3 센서 장치(200-3)는 전자 장치(100)로부터 제2 제어 신호가 수신되면, 오디오 신호의 전송 제한을 해제하고, 사용자 음성이 입력되면 사용자 음성에 대응되는 오디오 신호를 전자 장치(100)로 전송할 수 있다.
도 8은 본 개시의 일 실시 예에 따른 대화 시스템(800)을 설명하기 위한 블럭도이다.
도 8에 도시된 대화 시스템(800)은 가상의 인공지능 에이전트와 자연어를 통해 대화를 수행하기 위한 구성으로서, 본 개시의 일 실시 예 따르면, 대화 시스템(800)은 전자 장치(100)의 메모리(130)에 저장될 수 있다. 그러나, 이는 일 실시 예에 불과할 뿐, 대화 시스템(800)에 포함된 적어도 하나는 외부의 적어도 하나의 서버에 포함될 수도 있다.
대화 시스템(800)은 도 8에 도시된 바와 같이, 자동 음성 인식(automatic speech recognition)(ASR) 모듈(810), 자연어 이해(natural language understanding)(NLU) 모듈(820), 대화 매니저(dialogue manager)(DM) 모듈(830), 자연어 생성(natural language generator)(NLG) 모듈(840) 및 텍스트 음성 변환(text to speech)(TTS) 모듈(850)을 포함할 수 있다. 그 밖에 대화 시스템(800)은 패스 플래너(path planner) 모듈 또는 액션 플래너(action planner) 모듈을 더 포함할 수 있다.
자동 음성 인식(automatic speech recognition)(ASR) 모듈(810)은 센서 장치로부터 수신된 오디오 신호(특히, 사용자 문의)를 텍스트 데이터로 변환할 수 있다. 예를 들어, 자동 음성 인식 모듈(810)은 발화 인식 모듈을 포함할 수 있다. 발화 인식 모듈은 음향(acoustic) 모델 및 언어(language) 모델을 포함할 수 있다. 음향 모델은 발성에 관련된 정보를 포함할 수 있고, 언어 모델은 단위 음소 정보 및 단위 음소 정보의 조합에 대한 정보를 포함할 수 있다. 발화 인식 모듈은 발성에 관련된 정보 및 단위 음소 정보에 대한 정보를 이용하여 사용자 발화를 텍스트 데이터로 변환할 수 있다. 음향 모델 및 언어 모델에 대한 정보는, 자동 음성 인식 데이터베이스(automatic speech recognition database)(ASR DB)(815)에 저장될 수 있다.
자연어 이해 모듈(820)은 문법적 분석(syntactic analyze) 또는 의미적 분석(semantic analyze)을 수행하여 사용자 의도를 파악할 수 있다. 문법적 분석은 사용자 음성을 문법적 단위(예: 단어, 구, 형태소 등)로 나누고, 나누어진 단위가 어떤 문법적인 요소를 갖는지 파악할 수 있다. 의미적 분석은 의미(semantic) 매칭, 룰(rule) 매칭, 포뮬러(formula) 매칭 등을 이용하여 수행할 수 있다. 이에 따라, 자연어 이해 모듈(820)은 사용자 음성이 어느 도메인(domain), 의도(intent) 또는 의도를 표현하는데 필요한 파라미터(parameter)(또는, 슬롯(slot))를 얻을 수 있다.
자연어 이해 모듈(820)은 도메인(domain), 의도(intend) 및 의도를 파악하는데 필요한 파라미터(parameter)(또는, 슬롯(slot))로 나누어진 매칭 규칙을 이용하여 사용자의 의도 및 파라미터를 결정할 수 있다. 예를 들어, 하나의 도메인(예: 채널)은 복수의 의도(예: 채널 업, 채널 다운, 채널 변경 등)를 포함할 수 있고, 하나의 의도는 복수의 파라미터(예: 채널 변경 간격 등)를 포함할 수 있다. 복수의 룰은, 예를 들어, 하나 이상의 필수 요소 파라미터를 포함할 수 있다. 매칭 규칙은 자연어 인식 데이터베이스(natural language understanding database)(NLU DB)(823)에 저장될 수 있다.
한편, “에어컨 켜줘.”라는 발화가 자연어 이해 모듈(820)에서 분석되면, 프로세서(120)는 제어 가능한 에어컨이 복수 개일 수 있으므로, 위치 정보를 필요로 할 수 있다. 이 경우, 프로세서(120)는 에어컨의 특정을 요청하는 메시지를 유효 센서 장치로 전송할 수 있다. 또는, 프로세서(120)는 유효 센서 장치의 위치에 기초하여 복수의 에어컨 중 하나를 제어할 수도 있다. 또는, 프로세서(120)는 사용자의 위치에 기초하여 복수의 에어컨 중 하나를 제어할 수도 있다. 이때, 사용자의 위치가 계속 변경되면, 프로세서(120)는 유효 센서 장치에 인접한 에어컨이 아닌 다른 에어컨을 제어할 수도 있다.
자연어 이해 모듈(820)은 형태소, 구 등의 언어적 특징(예: 문법적 요소)을 이용하여 사용자 음성으로부터 추출된 단어의 의미를 파악하고, 파악된 단어의 의미를 도메인 및 의도에 매칭시켜 사용자의 의도를 결정할 수 있다. 예를 들어, 자연어 이해 모듈(820)은 각각의 도메인 및 의도에 사용자 음성에서 추출된 단어가 얼마나 포함되어 있는 지를 계산하여 사용자 의도를 결정할 수 있다. 일 실시 예에 따르면, 자연어 이해 모듈(820)은 의도를 파악하는데 기초가 된 단어를 이용하여 사용자 음성의 파라미터를 결정할 수 있다. 일 실시 예에 따르면, 자연어 이해 모듈(820)은 사용자 음성의 의도를 파악하기 위한 언어적 특징이 저장된 자연어 인식 데이터베이스(823)를 이용하여 사용자의 의도를 결정할 수 있다.
자연어 이해 모듈(820)은 개인 지식 데이터베이스(Private knowledge DB)(825)를 이용하여 사용자 음성을 이해할 수 있다. 개인 지식 데이터베이스(825)는 전자 장치(100)에 입력된 사용자 인터랙션, 사용자의 검색 히스토리, 전자 장치(100)가 센싱한 센싱 정보, 센서 장치로부터 수신된 사용자 음성 중 적어도 하나를 바탕으로 지식 정보들의 관계가 학습될 수 있다. 이때, 개인 지식 데이터베이스(825)는 지식 정보들 사이의 관계를 온톨로지(ontology) 형태로 저장할 수 있다.
개인 지식 데이터베이스(825)는 새로운 지식 정보가 추가된 경우, 새로운 지식 정보의 추가 정보를 외부 서버로부터 수신하여 지식 정보와 추가 정보를 온톨로지 형태로 저장할 수 있다. 한편, 개인 지식 데이터베이스(825)가 온톨로지 형태로 지식 정보를 저장하는 것은 일 실시 예에 불과할 뿐, 데이터셋 형태로 정보를 저장할 수 있다.
자연어 이해 모듈(820)은 개인 지식 데이터베이스(825)를 이용하여 사용자의 의도를 결정할 수 있다. 예를 들어, 자연어 이해 모듈(820)은 사용자 정보(예: 제어 장치 분포, 제어 기능 분포 등)를 이용하여 사용자의 의도를 결정할 수 있다. 일 실시 예에 따르면, 자연어 이해 모듈(820) 뿐만 아니라 자동 음성 인식 모듈(810)도 개인 지식 데이터베이스(825)를 참고하여 사용자의 음성을 인식할 수 있다.
자연어 이해 모듈(820)은 사용자 음성의 의도 및 파라미터에 기초하여 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈(820)은 사용자 음성의 의도에 기초하여 전자 장치를 선택하고, 선택된 전자 장치에서 수행될 동작을 결정할 수 있다. 자연어 이해 모듈(820)은 결정된 동작에 대응되는 파라미터를 결정하여 패스 룰을 생성할 수 있다. 일 실시 예에 따르면, 자연어 이해 모듈(820)에 의해 생성된 패스 룰은 전자 장치, 전자 장치에서 수행될 동작 및 동작을 실행하는데 필요한 파라미터에 대한 정보를 포함할 수 있다.
자연어 이해 모듈(820)은 사용자 음성의 의도 및 파라미터를 기반으로 하나의 패스 룰, 또는 복수의 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈(820)은 패스 플래너 모듈로부터 전자 장치(100)에 대응되는 패스 룰 셋을 수신하고, 사용자 음성의 의도 및 파라미터를 수신된 패스 룰 셋에 맵핑하여 패스 룰을 결정할 수 있다. 이때, 패스 룰은 기능을 수행하기 위한 동작(또는 오퍼레이션(operation))에 대한 정보 또는 동작을 실행하기 위해 필요한 파라미터에 대한 정보를 포함할 수 있다. 또한, 패스 룰은 기능의 동작 순서를 포함할 수 있다. 전자 장치는 패스 룰을 수신하고, 패스 룰에 따라 전자 장치를 선택하고, 선택된 전자 장치에서 패스 룰에 포함된 동작을 실행시킬 수 있다.
자연어 이해 모듈(820)은 사용자 음성의 의도 및 파라미터에 기초하여 전자 장치, 전자 장치에서 실행될 동작 및 동작을 실행하는데 필요한 파라미터를 결정하여 하나의 패스 룰, 또는 복수의 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈(820)은 전자 장치(100)의 정보를 이용하여 전자 장치 및 전자 장치에서 수행될 동작을 사용자 음성의 의도에 따라 온톨로지(ontology) 또는 그래프 모델(graph model) 형태로 배열하여 패스 룰을 생성할 수 있다. 생성된 패스 룰은, 예를 들어, 패스 플래너 모듈을 통해 패스 룰 데이터베이스(path rule database)에 저장될 수 있다. 생성된 패스 룰은 데이터베이스(823)의 패스 룰 셋에 추가될 수 있다.
자연어 이해 모듈(820)은 생성된 복수의 패스 룰 중 적어도 하나의 패스 룰을 선택할 수 있다. 예를 들어, 자연어 이해 모듈(820)은 복수의 패스 룰 최적의 패스 룰을 선택할 수 있다. 다른 예를 들어, 자연어 이해 모듈(820)은 사용자 음성에 기초하여 일부 동작만이 특정된 경우 복수의 패스 룰을 선택할 수 있다. 자연어 이해 모듈(820)은 사용자의 추가 입력에 의해 복수의 패스 룰 중 하나의 패스 룰을 결정할 수 있다.
대화 매니저 모듈(830)은 자연어 이해 모듈(820)에 의해 파악된 사용자의 의도가 명확한지 여부를 판단할 수 있다. 예를 들어, 대화 매니저 모듈(830)은 파라미터의 정보가 충분하지 여부에 기초하여 사용자의 의도가 명확한지 여부를 판단할 수 있다. 대화 매니저 모듈(830)는 자연어 이해 모듈(820)에서 파악된 파라미터가 태스크를 수행하는데 충분한지 여부를 판단할 수 있다. 일 실시 예에 따르면, 대화 매니저 모듈(830)는 사용자의 의도가 명확하지 않은 경우 사용자에게 필요한 정보를 요청하는 피드백을 수행할 수 있다. 예를 들어, 대화 매니저 모듈(830)는 사용자의 의도를 파악하기 위한 파라미터에 대한 정보를 요청하는 피드백을 수행할 수 있다.
일 실시 예에 따르면, 대화 매니저 모듈(830)은 컨텐츠 제공(content provider) 모듈을 포함할 수 있다. 컨텐츠 제공 모듈은 자연어 이해 모듈(820)에서 파악된 의도 및 파라미터에 기초하여 동작을 수행할 수 있는 경우, 사용자 음성에 대응되는 태스크를 수행한 결과를 생성할 수 있다.
다른 실시 예에 따르면, 대화 매니저 모듈(830)은 지식 데이터베이스(835)를 이용하여 사용자 음성에 대한 응답을 제공할 수 있다. 이때, 지식 데이터베이스(835)는 전자 장치(100) 내에 포함될 수 있으나, 이는 일 실시 예에 불과할 뿐, 외부 서버에 포함될 수 있다.
자연어 생성 모듈(840)은 지정된 정보를 텍스트 형태로 변경할 수 있다. 텍스트 형태로 변경된 정보는 자연어 발화의 형태일 수 있다. 지정된 정보는, 예를 들어, 추가 입력에 대한 정보, 사용자 음성에 대응되는 동작의 완료를 안내하는 정보 또는 사용자의 추가 입력을 안내하는 정보(예: 사용자 음성에 대한 피드백 정보)일 수 있다. 텍스트 형태로 변경된 정보는 전자 장치(100)의 디스플레이에 표시되거나, 텍스트 음성 변환 모듈(850)에 의해 음성 형태로 변경될 수 있다.
텍스트 음성 변환 모듈(850)은 텍스트 형태의 정보를 음성 형태의 정보로 변경할 수 있다. 텍스트 음성 변환 모듈(850)은 자연어 생성 모듈(840)로부터 텍스트 형태의 정보를 수신하고, 텍스트 형태의 정보를 음성 형태의 정보로 변경하여 스피커로 출력할 수 있다.
한편, 자동 음성 인식 모듈(810)은 도 2d의 음성 인식 모듈(133)로 구현될 수 있고, 자연어 이해 모듈(820), 대화 매니저 모듈(830), 자연어 생성 모듈(840) 및 텍스트 음성 변환 모듈(850)이 도 2d의 태스크 모듈(134)로 구현될 수 있다.
도 9a 내지 도 9c는 본 개시의 확장 실시 예를 설명하기 위한 도면들이다.
도 9a에 도시된 바와 같이, 전자 시스템(1000)은 하나의 전자 장치(Master Edge, 100)가 아닌 복수의 전자 장치(Master Edge, Slave Edge A, Slave Edge B)를 포함할 수 있다. 여기서, 복수의 전자 장치(Master Edge, Slave Edge A, Slave Edge B)는 모두 복수의 센서 장치들(Dot 1, Dot 2, Dot 3)을 관리하는 장치일 수 있다. 예를 들어, Master Edge는 복수의 센서 장치들(Dot 1, Dot 2, Dot 3)로부터 오디오 신호를 수신하고, 유효 센서 장치의 식별을 Slave Edge A가 수행하도록 제어하고, 음성 인식을 Slave Edge B가 수행하도록 제어할 수 있다. 즉, Master Edge는 Slave Edge A, Slave Edge B를 제어하여 도 1 내지 도 8에서 설명한 전자 장치(100)의 동작을 분산 처리할 수 있다.
또는, 도 9b에 도시된 바와 같이, 전자 시스템(1000)은 서로 복수의 전자 장치(Master Edge, Slave Edge)를 포함할 수 있다. Master Edge는 제1 룸의 두 개의 센서 장치(Dot 1, Dot 2)를 관리하고, Slave Edge는 제2 룸의 하나의 센서 장치(Dot 3)를 관리하며, 여기서 Master Edge 및 Slave Edge가 관리하는 센서 장치는 서로 다를 수 있다. 그리고, Master Edge 및 Slave Edge는 서로 구분되어 동작하며, 할당된 센서 장치만을 관리할 수 있다. 다만, Master Edge 및 Slave Edge가 연동 동작해야 하는 상황, 예를 들어 사용자의 일정 기간 동안의 사용 패턴 등을 분석하는 경우 등에는 Slave Edge가 아닌 Master Edge에 우선권이 부여될 수 있다.
또는, 복수의 센서 장치들(Dot 1, Dot 2)로부터 Master Edge로 오디오 신호가 수신되는 경우, Slave Edge에도 오디오 신호가 들어온 것이 있는지 요청하여 Slave Edge에 들어온 오디오 신호가 있다면 Master Edge로 전송하고, Master Edge에서 오디오 신호를 비교하여 처리할 수도 있다.
또는, 도 9c에 도시된 바와 같이, 전자 시스템(1000)은 하나의 전자 장치(Master Edge, 100)가 아닌 서로 대응한 복수의 전자 장치(Edge A, Edge B)를 포함할 수 있다. Edge A는 두 개의 센서 장치(Dot 1, Dot 2)를 관리하고, Edge B는 하나의 센서 장치(Dot 3)를 관리하며, 여기서 Edge A 및 Edge B가 관리하는 센서 장치는 서로 다를 수 있다. 그리고, Edge A 및 Edge B는 서로 통신을 수행하며, 데이터를 공유할 수 있다. 가령, 사용자의 발화에 따라 3개의 센서 장치가 모두 사용자 음성을 수신하더라도, Edge A 및 Edge B는 3개의 센서 장치 중 하나만을 유효 센서 장치로 식별할 수 있다. 또한, Edge A 및 Edge B는 우선 순위를 설정함에 따라 각각 Master Edge 및 Slave Edge로 동작할 수도 있다. 즉, Edge A 및 Edge B는 우선 순위가 결정되기 전까지 오디오 신호가 수신되면 이를 브로드캐스팅하여 타 Edge로 오디오 신호가 수신되었는지 확인하는 동작이 필요하다.
한편, 도 9a 내지 도 9c에서는 복수의 Edge 및 복수의 Dot을 세 가지 유형으로 구현하여 Dot은 대응되는 Edge와 연동 동작하는 것으로 설명하였으나, 이에 한정되는 것은 아니다. 예를 들어, Edge 및 Dot은 대응 관계가 설정되어 있지 않으며, 사용자 음성이 입력되면 Dot은 브로드캐스팅을 통해 인접한 Edge를 식별하고, 인접한 Edge로 오디오 신호를 전송할 수 있다. 또는, 사용자 음성이 입력되면 Dot은 브로드캐스팅을 통해 복수의 Edge로 신호를 전송하고, 복수의 Edge에서 한 번 더 비교하여 복수의 Edge 중 하나가 음성 인식을 수행할 수도 있다.
도 10a 및 도 10b는 본 개시의 다양한 실시 예에 따른 장치 간 우선 순위를 설명하기 위한 도면들이다.
도 10a에 도시된 바와 같이, 복수의 센서 장치(Dot)는 입력될 사용자 음성의 질을 예상하여 하나의 센서 장치만이 전자 장치(Edge)로 오디오 신호를 전송할 수 있다. 이때, 복수의 센서 장치(Dot) 각각은 주변 센서 장치의 상태 변화를 고려할 수 있다.
예를 들어, “에어컨 켜줘.”라는 사용자 음성이 수신되면, 에어컨에 인접한 센서 장치가 전자 장치로 오디오 신호를 전송할 수 있다.
도 10b에 도시된 바와 같이, 센서 장치(Dot)는 입력된 사용자 음성에 대응되는 오디오 신호를 복수의 전자 장치(Edge) 중 우선 순위가 높은 Master Edge로 전송할 수 있다. 복수의 전자 장치 간 우선 순위가 없는 경우, 전자 장치 간 수신된 오디오 신호를 공유하거나 오디오 신호가 수신되었음을 나타내는 신호를 공유할 필요가 있으나, 복수의 전자 장치 간 우선 순위가 있는 경우라면 이상의 불필요한 동작을 수행하지 않게 되어 효율이 향상될 수 있다.
도 11은 본 개시의 일 실시 예에 따른 서버를 이용하는 방법을 설명하기 위한 도면이다.
먼저, 센서 장치(Dot)에서 사용자 음성이 입력되면 EPD 시간 정보 또는 VAD 시간 정보 중 적어도 하나를 획득할 수 있다. 그리고, 센서 장치는 전자 장치(Edge)로 사용자 음성에 대응되는 오디오 신호 및 획득된 시간 정보를 전송할 수 있다. 예를 들어, 센서 장치는 “청소기 켜줘.”라는 사용자 음성이 입력되면, 전자 장치(Edge)로 “청소기 켜줘.”에 대응되는 오디오 신호 및 획득된 시간 정보를 전송할 수 있다(S1110).
또는, 센서 장치는 입력된 사용자 음성에 대응되는 오디오 신호 만을 전자 장치(100)로 전송할 수 있다. 이 경우, 전자 장치(100)는 음성 구간 검출을 통해 사용자 음성의 음성 구간에 대한 시간 정보를 획득하고, 음성 끝점 검출을 통해 사용자 음성의 음성 끝점에 대한 시간 정보를 획득할 수도 있다. 예를 들어, 센서 장치는 “청소기 켜줘.”라는 사용자 음성이 입력되면, 전자 장치(Edge)로 “청소기 켜줘.”에 대응되는 오디오 신호를 전송하고, 전자 장치는 오디오 신호로부터 사용자 음성의 음성 구간에 대한 시간 정보 또는 사용자 음성의 음성 끝점에 대한 시간 정보 중 적어도 하나를 획득할 수도 있다.
전자 장치는 오디오 신호가 수신되면 웨이크업되며, 음성 인식을 수행할 수 있다. 이때, 음성 인식의 수행 주체는 별도의 음성인식 서버일 수 있다. 즉, 전자 장치는 오디오 신호를 음성인식 서버로 전송하고(S1120-1), 음성인식 서버로부터 음성 인식 결과를 수신할 수도 있다(S1120-2).
또 다른 실시 예로, 전자 장치에서 수신한 오디오 신호의 품질이 낮은 경우, 혹은 음성 모델 또는 언어 모델을 통하여 오디오 신호에 대해 처리한 음성 인식 정확도가 낮은 경우에는 음성 인식 처리 결과가 정확하지 않다고 판단할 수 있다. 이 경우, 전자 장치는 컴퓨팅 능력이 더 뛰어난 음성인식 서버로 오디오 신호를 전송하고, 음성인식 서버에서 오디오 신호를 한번 더 처리하는 것도 가능하다. 이 경우, 센서 장치가 전자 장치를 거치지 않고 음성인식 서버로 오디오 신호를 전송하는 것도 가능하다.
도 11에서는 음성인식 서버와 제어 서버가 구분된 것으로 도시되었으나, 이는 일 실시 예에 불과하고, 얼마든지 다양한 구성으로 구현될 수 있다. 예를 들어, 음성인식 서버와 제어 서버는 하나의 서버로 구현될 수도 있다. 그리고, 음성인식 서버와 제어 서버는 모두 클라우드 서버로 구현될 수도 있다.
전자 장치는 음성 인식 이후 사용자가 요청 처리한 타 전자 장치(Edge)로 제어 명령을 전송할 수 있다(S1130-1). 예를 들어, TV가 Edge이고 청소기 제어를 위한 사용자 음성을 수신한 경우, TV가 청소기와 통신이 불가능한 점을 식별하고, 청소기와 통신이 가능한 타 전자 장치(에어컨)를 식별하며, 타 전자 장치로 청소기 제어를 위한 제어 명령을 전송할 수 있다(S1130-1). 타 전자 장치는 수신된 제어 명령에 기초하여 청소기를 제어할 수 있다(S1140-1).
이때, TV는 적어도 하나의 타 전자 장치로 청소기를 제어할 수 있는지 문의하고, 응답이 있는 타 전자 장치로 청소기 제어를 위한 제어 명령을 전송할 수 있다. 다만, 이러한 정보는 TV 내에 기 저장되어 있을 수도 있다.
또는, TV가 청소기와 통신이 가능한 한 경우, 청소기 제어를 위한 사용자 음성이 수신되면, TV가 청소기 제어를 위한 제어 명령을 청소기로 직접 전송할 수도 있다(S1130-2).
다만, 이에 한정되는 것은 아니며, 전자 장치는 제어 명령을 제어 서버로 전송하고(S1130-3), 제어 서버가 제어 대상 장치로 제어 명령을 전송할 수도 있다(S1140-2). 또는, 음성인식 서버가 음성 인식 결과를 제어 서버로 전송하고(S1150), 제어 서버가 음성 인식 결과에 대응되는 제어 명령을 생성하여 타 전자 장치로 제어 명령을 전송할 수도 있다(S1160).
도 12는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
먼저, 제1 센서 장치 및 제1 센서 장치와 이격된 제2 센서 장치로부터 각각 제1 오디오 신호 및 제2 오디오 신호를 수신한다(S1210). 그리고, 제1 오디오 신호 및 제2 오디오 신호 간의 유사도를 획득한다(S1220). 그리고, 유사도가 임계 값 이상이면 제1 센서 장치에 인접한 전자 장치 및 제2 센서 장치에 인접한 전자 장치 각각의 동작 상태에 기초하여 제1 오디오 신호 및 제2 오디오 신호로부터 각각 제1 예측 오디오 성분 및 제2 예측 오디오 성분을 획득한다(S1230). 그리고, 제1 예측 오디오 성분 및 제2 예측 오디오 성분에 기초하여 제1 센서 장치 및 제2 센서 장치 중 하나를 유효 센서 장치로 식별한다(S1240). 그리고, 유효 센서 장치로부터 수신된 추가 오디오 신호에 대한 음성 인식을 수행한다(S1250).
여기서, 제1 예측 오디오 성분 및 제2 예측 오디오 성분을 획득하는 단계(S1230)는 전자 장치 및 적어도 하나의 타 전자 장치 각각의 동작 상태에 기초한 모드 별 오디오 모델에 기초하여 제1 센서 장치에 인접한 전자 장치의 동작 상태 및 제2 센서 장치에 인접한 전자 장치의 동작 상태에 대응되는 모드를 식별하는 단계 및 식별된 모드에 기초하여 제1 오디오 신호 및 제2 오디오 신호로부터 각각 제1 예측 오디오 성분 및 제2 예측 오디오 성분을 획득하는 단계를 포함하며, 오디오 모델은 복수의 센서 장치 각각이 인접한 전자 장치의 동작 상태에 따라 획득된 오디오를 인공지능 알고리즘을 통해 학습하여 획득될 수 있다.
그리고, 제1 예측 오디오 성분 및 제2 예측 오디오 성분을 획득하는 단계는, 식별된 모드에 기초하여 제1 오디오 신호에 포함된 노이즈 성분 및 제2 오디오 신호에 포함된 노이즈 성분으로부터 각각 상기 제1 예측 오디오 성분 및 상기 제2 예측 오디오 성분을 획득하는 단계 및 제1 예측 오디오 성분의 크기 및 제2 예측 오디오 성분의 크기 각각에 기초하여 제1 오디오 신호에 대한 제1 품질 특성 및 제2 오디오 신호에 대한 품질 특성을 획득하는 단계를 포함하며, 유효 센서 장치로 식별하는 단계(S1240)는 제1 품질 특성 및 제2 품질 특성에 기초하여 제1 센서 장치 및 제2 센서 장치 중 하나를 유효 센서 장치로 식별할 수 있다.
또한, 기설정된 이벤트에 따라 제1 센서 장치에 인접한 전자 장치 및 제2 센서 장치에 인접한 전자 장치가 기설정된 모드로 동작하도록 제1 센서 장치에 인접한 전자 장치 및 제2 센서 장치에 인접한 전자 장치의 동작 상태를 변경하는 단계를 더 포함할 수 있다.
예를 들어, 전자 장치는 TV의 볼륨을 낮추거나 음소거하고, 에어컨의 파워 모드를 일반 모드로 변경하는 방법으로 추가 오디오 신호의 노이즈 성분을 최소화할 수 있다.
또는, 전자 장치는 전자 장치 또는 적어도 하나의 타 전자 장치 중 적어도 하나의 동작 상태를 제어할 수 있다. 예를 들어, 전자 장치는 TV, 에어컨, 청소기 중 TV의 볼륨만을 낮출 수도 있다.
이때, 전자 장치는 전자 장치 또는 적어도 하나의 타 전자 장치 중 유효 센서 장치에 인접한 전자 장치의 동작 상태만을 제어할 수도 있다. 또는, 전자 장치는 전자 장치 또는 적어도 하나의 타 전자 장치 중 소음이 큰 전자 장치의 동작 상태만을 제어할 수도 있다.
한편, 음성 인식 결과에 기초하여 전자 장치 또는 적어도 하나의 타 전자 장치 중 적어도 하나를 제어하는 단계 및 제어 결과에 대한 안내 메시지를 제공하도록 유효 센서 장치를 제어하는 단계를 더 포함할 수 있다.
그리고, 유사도를 획득하는 단계(S1220)는 제1 오디오 신호가 수신되고 임계 시간 이내에 제2 오디오 신호가 수신되면 유사도를 획득할 수 있다.
한편, 제1 오디오 신호가 수신되고 임계 시간 이후에 제2 오디오 신호가 수신되거나, 유사도가 임계 값 미만이면, 제1 센서 장치 및 제2 센서 장치를 각각 제1 유효 센서 장치 및 제2 유효 센서 장치로 식별하고, 제1 유효 센서 장치 및 제2 유효 센서 장치 각각으로부터 수신된 추가 오디오 신호에 대한 음성 인식을 수행하는 단계를 더 포함할 수 있다.
그리고, 유사도를 획득하는 단계(S1220)는 제1 오디오 신호 및 제2 오디오 신호 간의 시간 도메인 유사도를 획득하는 단계, 제1 오디오 신호 및 제2 오디오 신호 간의 주파수 도메인 유사도를 획득하는 단계 및 시간 도메인 유사도 또는 주파수 도메인 유사도 중 적어도 하나에 기초하여 유사도를 획득하는 단계를 포함할 수 있다.
한편, 제1 센서 장치 및 제2 센서 장치 중 하나가 유효 센서 장치로 식별되면, 유효 센서 장치가 식별된 시점으로부터 임계 시간 동안 제1 센서 장치 및 제2 센서 장치 중 나머지 하나로부터 수신되는 추가 오디오 신호를 무시하는 단계를 더 포함할 수 있다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 전자 장치는 복수의 센서 장치 중 하나에 우선 순위를 부여하여, 중복 처리 및 리소스 낭비와 같은 문제를 방지할 수 있다.
한편, 이상에서는 전자 장치가 유효 센서 장치를 식별을 위해 오디오 신호를 이용하는 것으로 설명하였으나, 이에 한정되는 것은 아니다. 예를 들어, 복수의 센서 장치 각각은 복수의 마이크를 포함할 수 있으며, 이 경우 복수의 센서 장치 각각은 사용자 음성을 발화한 사용자가 위치한 방향을 식별할 수 있다. 복수의 센서 장치는 사용자가 위치한 방향을 전자 장치로 전송하고, 전자 장치는 사용자가 위치한 방향에 기초하여 유효 센서 장치를 식별할 수도 있다.
한편, 최소 두 개의 마이크를 이용하는 경우, 사용자 음성에 기초하여 사용자가 위치한 방향을 식별할 수 있으며, 사용자 음성은 물리적으로 음파이기 때문에 두 개의 마이크를 통해 사용자 음성의 위상차 및 파장을 획득할 수 있다. 그리고, 사용자 음성의 위상차 및 파장과 두 개의 마이크 간의 거리를 이용하면 삼각함수 공식을 이용하여 두 개의 마이크가 형성하는 선과 두 개의 마이크로부터 사용자를 향하는 선이 형성하는 각도가 도출될 수 있다. 이러한 방법을 통해 사용자가 위치한 방향을 식별할 수 있다.
한편, 복수의 센서 장치 간 통신을 수행할 수도 있다. 이 경우, 복수의 센서 장치 각각이 수신한 오디오 신호를 비교하여 유효 센서 장치를 결정하고, 유효 센서 장치만이 오디오 신호를 전자 장치로 전송할 수도 있다. 특히, 복수의 센서 장치 각각은 Master Dot 및 Slave Dot 중 하나로 구분될 수 있다.
한편, 노이즈 보정 전과 노이즈 보정 후의 SNR 특성이 동일한 경우, 프로세서는 각 오디오 신호의 크기 등에 기초하여 유효 센서 장치를 식별할 수 있다. 예를 들어, 사용자가 거실에서 사용자 음성을 발화한 경우, 거실에 위치한 제1 센서 장치 및 부엌에 위치한 제2 센서 장치가 사용자 음성을 수신할 수 있다. 이때, 거실 및 부엌에 위치한 가전 제품들이 턴 오프된 상태여서 별도의 노이즈가 발생하지 않은 상태라면, 제1 센서 장치 및 제2 센서 장치가 전자 장치로 전송한 오디오 신호는 노이즈 보정 후의 SNR 특성이 노이즈 보정 전의 SNR 특성과 거의 동일할 수 있다. 이 경우, 프로세서(120)는 각 오디오 신호의 크기에 기초하여 유효 센서 장치를 식별할 수 있다.
한편, 프로세서는 제어 결과를 안내 메시지 뿐만 아니라 다른 메시지를 유효 센서 장치로 전송할 수도 있다. 예를 들어, 사용자의 "에어컨 켜줘."라는 발화가 있었으나, 프로세서가 제어 가능한 에어컨이 복수 개인 경우, 프로세서는 에어컨의 특정을 요청하는 메시지를 유효 센서 장치로 전송할 수도 있다. 또는, 프로세서는 유효 센서 장치의 위치에 기초하여 복수의 에어컨 중 하나를 제어할 수도 있다. 또는, 프로세서는 사용자의 위치에 기초하여 복수의 에어컨 중 하나를 제어할 수도 있다. 이 경우, 사용자의 위치가 계속 변경되면, 유효 센서 장치에 인접한 에어컨이 아닌 다른 에어컨이 구동될 수도 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치에 설치 가능한 어플리케이션 형태로 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들은 전자 장치에 구비된 임베디드 서버, 또는 전자 장치 및 디스플레이 장치 중 적어도 하나의 외부 서버를 통해 수행되는 것도 가능하다.
한편, 본 개시의 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
1000 : 전자 시스템 100 : 전자 장치
200-1 ~ 200-5 : 복수의 센서 장치 110 : 통신 인터페이스
120 : 프로세서 130 : 메모리
140 : 디스플레이 150 : 사용자 인터페이스
160 : 카메라 170 : 스피커
180 : 마이크

Claims (19)

  1. 통신 인터페이스; 및
    상기 통신 인터페이스를 통해 제1 센서 장치 및 상기 제1 센서 장치와 이격된 제2 센서 장치로부터 각각 제1 오디오 신호 및 제2 오디오 신호를 수신하고,
    상기 제1 오디오 신호 및 상기 제2 오디오 신호 간의 유사도를 획득하며,
    상기 유사도가 임계 값 이상이면 상기 제1 센서 장치에 인접한 전자 장치 및 상기 제2 센서 장치에 인접한 전자 장치 각각의 동작 상태에 기초하여 상기 제1 오디오 신호 및 상기 제2 오디오 신호로부터 각각 제1 예측 오디오 성분 및 제2 예측 오디오 성분을 획득하고,
    상기 제1 예측 오디오 성분 및 상기 제2 예측 오디오 성분에 기초하여 상기 제1 센서 장치 및 상기 제2 센서 장치 중 하나를 유효 센서 장치로 식별하며,
    상기 유효 센서 장치로부터 수신된 추가 오디오 신호에 대한 음성 인식을 수행하는 프로세서;를 포함하는 전자 장치.
  2. 제1항에 있어서,
    상기 전자 장치 및 적어도 하나의 타 전자 장치 각각의 동작 상태에 기초한 모드 별 오디오 모델이 저장된 메모리;를 더 포함하며,
    상기 프로세서는,
    상기 오디오 모델에 기초하여 상기 제1 센서 장치에 인접한 전자 장치의 동작 상태 및 상기 제2 센서 장치에 인접한 전자 장치의 동작 상태에 대응되는 모드를 식별하고,
    상기 식별된 모드에 기초하여 상기 제1 오디오 신호 및 상기 제2 오디오 신호로부터 각각 상기 제1 예측 오디오 성분 및 상기 제2 예측 오디오 성분을 획득하며,
    상기 오디오 모델은, 복수의 센서 장치 각각이 인접한 전자 장치의 동작 상태에 따라 획득된 오디오를 인공지능 알고리즘을 통해 학습하여 획득된, 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 식별된 모드에 기초하여 상기 제1 오디오 신호에 포함된 노이즈 성분 및 상기 제2 오디오 신호에 포함된 노이즈 성분으로부터 각각 상기 제1 예측 오디오 성분 및 상기 제2 예측 오디오 성분을 획득하고,
    상기 제1 예측 오디오 성분의 크기 및 상기 제2 예측 오디오 성분의 크기 각각에 기초하여 상기 제1 오디오 신호에 대한 제1 품질 특성 및 상기 제2 오디오 신호에 대한 제2 품질 특성을 획득하며,
    상기 제1 품질 특성 및 상기 제2 품질 특성에 기초하여 상기 제1 센서 장치 및 상기 제2 센서 장치 중 하나를 상기 유효 센서 장치로 식별하는, 전자 장치.
  4. 제2항에 있어서,
    상기 프로세서는,
    기설정된 이벤트에 따라 상기 제1 센서 장치에 인접한 전자 장치 및 상기 제2 센서 장치에 인접한 전자 장치가 상기 기설정된 모드로 동작하도록 상기 제1 센서 장치에 인접한 전자 장치 및 상기 제2 센서 장치에 인접한 전자 장치의 동작 상태를 변경하는, 전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 음성 인식 결과에 기초하여 상기 전자 장치 또는 적어도 하나의 타 전자 장치 중 적어도 하나를 제어하고,
    상기 제어 결과에 대한 안내 메시지를 제공하도록 상기 유효 센서 장치를 제어하는, 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 오디오 신호가 수신되고 임계 시간 이내에 상기 제2 오디오 신호가 수신되면 상기 유사도를 획득하는, 전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 오디오 신호가 수신되고 임계 시간 이후에 상기 제2 오디오 신호가 수신되거나, 상기 유사도가 상기 임계 값 미만이면, 상기 제1 센서 장치 및 상기 제2 센서 장치를 각각 제1 유효 센서 장치 및 제2 유효 센서 장치로 식별하고, 상기 제1 유효 센서 장치 및 상기 제2 유효 센서 장치 각각으로부터 수신된 추가 오디오 신호에 대한 음성 인식을 수행하는, 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 오디오 신호 및 상기 제2 오디오 신호 간의 시간 도메인 유사도를 획득하고,
    상기 제1 오디오 신호 및 상기 제2 오디오 신호 간의 주파수 도메인 유사도를 획득하며,
    상기 시간 도메인 유사도 또는 상기 주파수 도메인 유사도 중 적어도 하나에 기초하여 상기 유사도를 획득하는, 전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 센서 장치 및 상기 제2 센서 장치 중 하나가 상기 유효 센서 장치로 식별되면, 상기 유효 센서 장치가 식별된 시점으로부터 임계 시간 동안 상기 제1 센서 장치 및 상기 제2 센서 장치 중 나머지 하나로부터 수신되는 추가 오디오 신호를 무시하는, 전자 장치.
  10. 전자 장치의 제어 방법에 있어서,
    제1 센서 장치 및 상기 제1 센서 장치와 이격된 제2 센서 장치로부터 각각 제1 오디오 신호 및 제2 오디오 신호를 수신하는 단계;
    상기 제1 오디오 신호 및 상기 제2 오디오 신호 간의 유사도를 획득하는 단계;
    상기 유사도가 임계 값 이상이면 상기 제1 센서 장치에 인접한 전자 장치 및 상기 제2 센서 장치에 인접한 전자 장치 각각의 동작 상태에 기초하여 상기 제1 오디오 신호 및 상기 제2 오디오 신호로부터 각각 제1 예측 오디오 성분 및 제2 예측 오디오 성분을 획득하는 단계;
    상기 제1 예측 오디오 성분 및 상기 제2 예측 오디오 성분에 기초하여 상기 제1 센서 장치 및 상기 제2 센서 장치 중 하나를 유효 센서 장치로 식별하는 단계; 및
    상기 유효 센서 장치로부터 수신된 추가 오디오 신호에 대한 음성 인식을 수행하는 단계;를 포함하는 제어 방법.
  11. 제10항에 있어서,
    상기 제1 예측 오디오 성분 및 상기 제2 예측 오디오 성분을 획득하는 단계는,
    상기 전자 장치 및 적어도 하나의 타 전자 장치 각각의 동작 상태에 기초한 모드 별 오디오 모델에 기초하여 상기 제1 센서 장치에 인접한 전자 장치의 동작 상태 및 상기 제2 센서 장치에 인접한 전자 장치의 동작 상태에 대응되는 모드를 식별하는 단계; 및
    상기 식별된 모드에 기초하여 상기 제1 오디오 신호 및 상기 제2 오디오 신호로부터 각각 상기 제1 예측 오디오 성분 및 상기 제2 예측 오디오 성분을 획득하는 단계;를 포함하며,
    상기 오디오 모델은, 복수의 센서 장치 각각이 인접한 전자 장치의 동작 상태에 따라 획득된 오디오를 인공지능 알고리즘을 통해 학습하여 획득된, 제어 방법.
  12. 제11항에 있어서,
    상기 제1 예측 오디오 성분 및 상기 제2 예측 오디오 성분을 획득하는 단계는,
    상기 식별된 모드에 기초하여 상기 제1 오디오 신호에 포함된 노이즈 성분 및 상기 제2 오디오 신호에 포함된 노이즈 성분으로부터 각각 상기 제1 예측 오디오 성분 및 상기 제2 예측 오디오 성분을 획득하는 단계; 및
    상기 제1 예측 오디오 성분의 크기 및 상기 제2 예측 오디오 성분의 크기 각각에 기초하여 상기 제1 오디오 신호에 대한 제1 품질 특성 및 상기 제2 오디오 신호에 대한 제2 품질 특성을 획득하는 단계;를 포함하며,
    상기 유효 센서 장치로 식별하는 단계는,
    상기 제1 품질 특성 및 상기 제2 품질 특성에 기초하여 상기 제1 센서 장치 및 상기 제2 센서 장치 중 하나를 상기 유효 센서 장치로 식별하는, 제어 방법.
  13. 제11항에 있어서,
    기설정된 이벤트에 따라 상기 제1 센서 장치에 인접한 전자 장치 및 상기 제2 센서 장치에 인접한 전자 장치가 상기 기설정된 모드로 동작하도록 상기 제1 센서 장치에 인접한 전자 장치 및 상기 제2 센서 장치에 인접한 전자 장치의 동작 상태를 변경하는 단계;를 더 포함하는, 제어 방법.
  14. 제10항에 있어서,
    상기 음성 인식 결과에 기초하여 상기 전자 장치 또는 적어도 하나의 타 전자 장치 중 적어도 하나를 제어하는 단계; 및
    상기 제어 결과에 대한 안내 메시지를 제공하도록 상기 유효 센서 장치를 제어하는 단계;를 더 포함하는, 제어 방법.
  15. 제10항에 있어서,
    상기 유사도를 획득하는 단계는,
    상기 제1 오디오 신호가 수신되고 임계 시간 이내에 상기 제2 오디오 신호가 수신되면 상기 유사도를 획득하는, 제어 방법.
  16. 제10항에 있어서,
    상기 제1 오디오 신호가 수신되고 임계 시간 이후에 상기 제2 오디오 신호가 수신되거나, 상기 유사도가 상기 임계 값 미만이면, 상기 제1 센서 장치 및 상기 제2 센서 장치를 각각 제1 유효 센서 장치 및 제2 유효 센서 장치로 식별하고, 상기 제1 유효 센서 장치 및 상기 제2 유효 센서 장치 각각으로부터 수신된 추가 오디오 신호에 대한 음성 인식을 수행하는 단계;를 더 포함하는, 제어 방법.
  17. 제10항에 있어서,
    상기 유사도를 획득하는 단계는,
    상기 제1 오디오 신호 및 상기 제2 오디오 신호 간의 시간 도메인 유사도를 획득하는 단계;
    상기 제1 오디오 신호 및 상기 제2 오디오 신호 간의 주파수 도메인 유사도를 획득하는 단계; 및
    상기 시간 도메인 유사도 또는 상기 주파수 도메인 유사도 중 적어도 하나에 기초하여 상기 유사도를 획득하는 단계;를 포함하는, 제어 방법.
  18. 제10항에 있어서,
    상기 제1 센서 장치 및 상기 제2 센서 장치 중 하나가 상기 유효 센서 장치로 식별되면, 상기 유효 센서 장치가 식별된 시점으로부터 임계 시간 동안 상기 제1 센서 장치 및 상기 제2 센서 장치 중 나머지 하나로부터 수신되는 추가 오디오 신호를 무시하는 단계;를 더 포함하는, 제어 방법.
  19. 전자 장치에 있어서,
    마이크;
    통신 인터페이스; 및
    상기 마이크를 통해 제1 오디오 신호를 수신하며, 상기 통신 인터페이스를 통해 센서 장치로부터 제2 오디오 신호를 수신하고,
    상기 제1 오디오 신호 및 상기 제2 오디오 신호 간의 유사도를 획득하며,
    상기 유사도가 임계 값 이상이면 상기 전자 장치 및 상기 센서 장치에 인접한 전자 장치 각각의 동작 상태에 기초하여 상기 제1 오디오 신호 및 상기 제2 오디오 신호로부터 각각 제1 예측 오디오 성분 및 제2 예측 오디오 성분을 획득하고,
    상기 제1 예측 오디오 성분 및 상기 제2 예측 오디오 성분에 기초하여 상기 전자 장치 및 상기 센서 장치 중 하나를 유효 장치로 식별하며,
    상기 유효 장치에 수신된 추가 오디오 신호에 대한 음성 인식을 수행하는 프로세서;를 포함하는 전자 장치.
KR1020190101234A 2019-02-27 2019-08-19 전자 장치 및 그 제어 방법 KR20200104773A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202080017288.7A CN113519022B (zh) 2019-02-27 2020-01-22 电子设备及其控制方法
EP20763564.0A EP3857545B1 (en) 2019-02-27 2020-01-22 Electronic apparatus and control method thereof
US16/749,350 US11417323B2 (en) 2019-02-27 2020-01-22 Electronic apparatus and control method thereof
PCT/KR2020/001101 WO2020175802A1 (en) 2019-02-27 2020-01-22 Electronic apparatus and control method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190023234 2019-02-27
KR1020190023234 2019-02-27

Publications (1)

Publication Number Publication Date
KR20200104773A true KR20200104773A (ko) 2020-09-04

Family

ID=72470744

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190101234A KR20200104773A (ko) 2019-02-27 2019-08-19 전자 장치 및 그 제어 방법

Country Status (2)

Country Link
EP (1) EP3857545B1 (ko)
KR (1) KR20200104773A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113470629A (zh) * 2021-07-16 2021-10-01 腾讯音乐娱乐科技(深圳)有限公司 音频识别模型训练方法,音色相似度检测方法
WO2022108075A1 (ko) * 2020-11-20 2022-05-27 삼성전자주식회사 전자 장치, 그 제어 방법 및 전자 시스템
US11948569B2 (en) 2021-07-05 2024-04-02 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK179415B1 (en) * 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10276161B2 (en) * 2016-12-27 2019-04-30 Google Llc Contextual hotwords
US10672387B2 (en) * 2017-01-11 2020-06-02 Google Llc Systems and methods for recognizing user speech

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022108075A1 (ko) * 2020-11-20 2022-05-27 삼성전자주식회사 전자 장치, 그 제어 방법 및 전자 시스템
US11948569B2 (en) 2021-07-05 2024-04-02 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof
CN113470629A (zh) * 2021-07-16 2021-10-01 腾讯音乐娱乐科技(深圳)有限公司 音频识别模型训练方法,音色相似度检测方法
CN113470629B (zh) * 2021-07-16 2024-01-09 腾讯音乐娱乐科技(深圳)有限公司 音频识别模型训练方法,音色相似度检测方法

Also Published As

Publication number Publication date
EP3857545B1 (en) 2024-03-06
CN113519022A (zh) 2021-10-19
EP3857545A4 (en) 2022-01-05
EP3857545A1 (en) 2021-08-04

Similar Documents

Publication Publication Date Title
KR102371313B1 (ko) 사용자 발화를 처리하는 전자 장치 및 그 전자 장치의 제어 방법
US11435980B2 (en) System for processing user utterance and controlling method thereof
US10825453B2 (en) Electronic device for providing speech recognition service and method thereof
KR102365649B1 (ko) 화면 제어 방법 및 이를 지원하는 전자 장치
KR102412523B1 (ko) 음성 인식 서비스 운용 방법, 이를 지원하는 전자 장치 및 서버
KR102595790B1 (ko) 전자 장치 및 그의 제어방법
KR102416782B1 (ko) 음성 인식 서비스 운용 방법 및 이를 지원하는 전자 장치
KR102389996B1 (ko) 전자 장치 및 이를 이용한 사용자 입력을 처리하기 위한 화면 제어 방법
US11417327B2 (en) Electronic device and control method thereof
KR102391298B1 (ko) 음성 인식 서비스를 제공하는 전자 장치 및 그 방법
KR102515023B1 (ko) 전자 장치 및 그 제어 방법
EP3857545B1 (en) Electronic apparatus and control method thereof
KR102369083B1 (ko) 음성 데이터 처리 방법 및 이를 지원하는 전자 장치
US11443116B2 (en) Electronic apparatus and control method thereof
KR20190090424A (ko) 사용자 발화 응답 방법 및 이를 지원하는 전자 장치
KR102345883B1 (ko) 그래픽 표시를 출력하는 전자 장치
KR102369309B1 (ko) 파셜 랜딩 후 사용자 입력에 따른 동작을 수행하는 전자 장치
US11417323B2 (en) Electronic apparatus and control method thereof
CN113261055B (zh) 电子装置及其控制方法
KR20200080389A (ko) 전자 장치 및 그 제어 방법
US11399216B2 (en) Electronic apparatus and controlling method thereof
KR20200044175A (ko) 전자 장치 및 그의 비서 서비스 제공 방법
CN113519022B (zh) 电子设备及其控制方法
US20230095334A1 (en) Electronic device and control method thereof
KR20230043562A (ko) 전자 장치 및 그 제어 방법