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

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

Info

Publication number
KR20220072621A
KR20220072621A KR1020200160434A KR20200160434A KR20220072621A KR 20220072621 A KR20220072621 A KR 20220072621A KR 1020200160434 A KR1020200160434 A KR 1020200160434A KR 20200160434 A KR20200160434 A KR 20200160434A KR 20220072621 A KR20220072621 A KR 20220072621A
Authority
KR
South Korea
Prior art keywords
section
audio signal
identified
user
electronic device
Prior art date
Application number
KR1020200160434A
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 KR1020200160434A priority Critical patent/KR20220072621A/ko
Priority to PCT/KR2021/012885 priority patent/WO2022114482A1/ko
Priority to US17/450,778 priority patent/US20220165263A1/en
Publication of KR20220072621A publication Critical patent/KR20220072621A/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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/78Detection of presence or absence 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
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/93Discriminating between voiced and unvoiced parts of speech 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 개시의 일 실시예에 따른 전자장치에 있어서, 수신되는 오디오신호에 기초하여 시작명령어에 대응하는 제1구간을 식별하고, 상기 식별된 제1구간 이전에 수신된 상기 오디오신호의 제2구간으로부터 식별된 잡음특성에 기초하여 상기 제1구간 이후에 수신되는 상기 오디오신호에 사용자 음성 입력에 대응하는 제3구간이 존재하는지 여부를 식별하고, 상기 식별된 제3구간의 오디오신호에 기초하여 상기 사용자 음성 입력에 대응하는 동작을 수행하는 프로세서를 포함한다.

Description

전자장치 및 그 제어방법{ELECTRONIC APPARATUS AND THE METHOD THEREOF}
본 개시는 음성인식기능을 수행하는 전자장치 및 그 제어방법에 관한 것이다.
음성인식 기술의 대중화로 전자장치의 음성인식 기능 제공이 보편화 됨에 따라, 음성인식을 실행하기 위해 사용자가 발화하는 시작명령어(Trigger word 혹은 Wakeup word)를 감지하거나, 실행하고자 하는 기능에 대응하는 사용자 음성 입력을 인식하는 기술도 개선되고 있다.
수신되는 오디오신호 내 음성 구간은 VAD(Voice Activity Detection) 또는 EPD(End Point Detection)를 이용하여 검출할 수 있으며, 잡음 구간과 발화 구간의 파형을 분석하여 발화의 시작(BoS, Begin of Speech)과 끝(EoS, End of Speech)을 판정한다.
VAD는 음성의 유/무를 검출하는 음성 처리에 적용되는 기술로써, VAD를 이용하는 경우, 사용자가 언제 발화할지 모르기 때문에 전자장치는 이를 상시 동작하거나 시작명령어 인식 이후에 동작하였다. 상시 동작할 경우 불필요한 연산에 의해 자원 소모가 높아지며, 발화와 잡음에 대한 기준을 설정하기가 모호하여 사용자 의도와 무관하게 오동작할 가능성이 높다. 시작명령어 인식 이후 동작할 경우, 시작명령어와 사용자 음성 입력을 이어서 발화하게 되면 잡음 판단 기준을 설정하기가 어려워 발화 종료시점 검출에 실패할 가능성이 높다.
EPD의 경우, 발화의 종료시점을 검출한다는 것은 곧 발화의 시작시점을 검출하여야 발화의 종료시점도 검출할 수 있으므로, VAD와 마찬가지로 사용자가 시작명령어와 사용자 음성 입력을 이어서 발화하면 잡음 판단 기준을 설정하기가 어려운 문제점을 여전히 가지고 있다.
일반적인 음성 구간 검출 방법은 프레임 단위의 오디오신호를 분석하여 계산할 수 있는 에너지를 활용하여 구간을 검출하는 방법, 영 교차율(Zero-Crossing Rate)을 이용하는 방법 및 특징을 추출한 후 머신 러닝을 활용하여 음성, 비음성을 구분하는 방법 등이 있다.
프레임 단위의 오디오신호 에너지 또는 영 교차율을 이용하여 음성 구간을 검출하는 방법은 연산량은 적으나 기준점이 모호하기 때문에 발화와 잡음을 오검출하는 경우가 많다. 이를 보완하기 위해 프레임 단위로 바로 이전 프레임과 특성을 비교하며, 그 특성의 차이가 시스템이 지정한 임계값 이상일 경우 발화와 잡음을 구분하는 방법이 있으나, 시스템에서 정의한 환경을 벗어나 잡음이 심한 경우 그 성능이 크게 하락할 가능성이 있다. 머신 러닝을 활용하여 특징을 분석하는 방법은 에너지 기반 혹은 영 교차율을 활용한 프레임 단위의 신호 분석 방법에 비해 정확도가 높지만 결과를 만들어내기 위한 자원 사용량이 상대적으로 높은 단점이 있다.
또한 기존의 원거리 음성인식 시스템에서는 사용자는 트리거링 이후 언제까지 발화할 수 있는지 명확하지 않았다. 예를 들어, 조용한 환경에서는 비교적 간단한 VAD 만으로 사용자 발화의 종료시점을 찾을 수 있지만, 이 또한 사용자가 시스템이 찾은 종료시점 이후 추가 발화를 하고자 했는지 사용자의 의도를 판단하기 어렵다. 또한 시끄러운 환경에서는 잡음 구간을 정확하게 특정하기 어렵기 때문에 정확한 발화 종료시점을 찾기 어려우며, 시스템이 정한 타임 아웃 시간에 맞춰 종료시키는 방법을 사용하고 있다. 이로 인해 사용자의 의도와 무관하게 시스템이 발화를 종료시키는 경우가 있으며, 발화 입력이 중단된 이유를 사용자에게 피드백 해주지 않았다.
본 개시의 목적은 음성인식 효율을 개선하는 전자장치 및 그 제어방법을 제공하는 것이다.
본 개시의 일 실시예에 따른 전자장치에 있어서, 수신되는 오디오신호에 기초하여 시작명령어에 대응하는 제1구간을 식별하고, 상기 식별된 제1구간 이전에 수신된 상기 오디오신호의 제2구간으로부터 식별된 잡음특성에 기초하여 상기 제1구간 이후에 수신되는 상기 오디오신호에 사용자 음성 입력에 대응하는 제3구간이 존재하는지 여부를 식별하고, 상기 식별된 제3구간의 오디오신호에 기초하여 상기 사용자 음성 입력에 대응하는 동작을 수행하는 프로세서를 포함한다.
본 개시의 일 실시예에 따른 전자장치에 있어서, 저장부를 더 포함하고, 상기 프로세서는, 상기 수신되는 오디오신호의 상기 제1구간 및 상기 제2구간에 대응하는 시간 길이에 관련된 데이터를 상기 저장부에 저장하고, 상기 저장된 데이터에 기초하여 상기 제1구간 및 상기 제2구간을 식별할 수 있다.
상기 프로세서는, 참조 오디오신호에 기초한 상기 제1구간의 기준 길이에 기초하여 상기 제1구간에 대응하는 시간 길이를 식별할 수 있다.
상기 프로세서는, 수신되는 상기 오디오신호에 기초하여 상기 잡음특성 또는 상기 제3구간의 존재여부를 프레임 단위로 식별할 수 있다.
상기 프로세서는, 상기 제1구간의 시작시점 이전으로 마진 시간을 포함하는 상기 제2구간을 식별할 수 있다.
상기 프로세서는, 상기 식별된 잡음특성에 기초하여 상기 제1구간의 종료시점을 식별하고, 상기 식별된 종료시점 이후로 수신되는 상기 오디오신호에 상기 제3구간이 존재하는지 여부를 식별할 수 있다.
상기 프로세서는, 참조 오디오신호에 기초하여 상기 제1구간의 기준 길이를 식별하고, 상기 식별된 기준 길이에 기초하여 상기 제1구간의 종료시점을 식별할 수 있다.
상기 프로세서는, 상기 제1구간에 기초하여 발화특성을 식별하고, 상기 식별된 발화특성에 기초하여 상기 제3구간의 사용자 음성 입력에 대응하는 동작을 수행할 수 있다.
본 개시의 일 실시예에 따른 전자장치에 있어서, 디스플레이를 더 포함하고, 상기 프로세서는, 상기 제1구간 이후로 수신되는 상기 오디오신호의 상태 변화에 대응하는 GUI(Graphic User Interface)를 상기 디스플레이에 표시되도록 제어할 수 있다.
상기 프로세서는, 상기 오디오신호의 상태 변화에 기초하여 상기 오디오신호가 사용자 발화인지 또는 잡음인지 여부를 식별하고, 상기 식별된 사용자 발화 또는 잡음에 따라 변화된 상기 GUI를 디스플레이에 표시되도록 제어할 수 있다.
상기 프로세서는, 상기 제1구간의 종료시점 이후로 시간이 지남에 따라 변화된 GUI를 상기 디스플레이에 표시되도록 제어할 수 있다.
본 개시의 일 실시예에 따른 전자장치의 제어방법에 있어서, 수신되는 오디오신호에 기초하여 시작명령어에 대응하는 제1구간을 식별하는 단계; 상기 식별된 제1구간 이전에 수신된 상기 오디오신호의 제2구간으로부터 식별된 잡음특성에 기초하여 상기 제1구간 이후에 수신되는 상기 오디오신호에 사용자 음성 입력에 대응하는 제3구간이 존재하는지 여부를 식별하는 단계; 및 상기 식별된 제3구간의 오디오신호에 기초하여 상기 사용자 음성 입력에 대응하는 동작을 수행하는 단계를 포함할 수 있다.
상기 수신되는 오디오신호의 상기 제1구간 및 상기 제2구간에 대응하는 시간 길이에 관련된 데이터를 저장하는 단계; 및 상기 저장된 데이터에 기초하여 상기 제1구간 및 상기 제2구간을 식별하는 단계를 포함할 수 있다.
상기 제1구간을 식별하는 단계는, 참조 오디오신호에 기초한 상기 제1구간의 기준 길이에 기초하여 상기 제1구간에 대응하는 시간 길이를 식별하는 단계를 포함할 수 있다.
상기 제2구간을 식별하는 단계는, 상기 제1구간의 시작시점 이전으로 마진 시간을 포함하는 상기 제2구간을 식별하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 전자장치의 제어방법에 있어서, 상기 식별된 잡음특성에 기초하여 상기 제1구간의 종료시점을 식별하는 단계; 및 상기 식별된 종료시점 이후로 수신되는 상기 오디오신호에 상기 제3구간이 존재하는지 여부를 식별하는 단계를 포함할 수 있다.
상기 제1구간의 종료시점을 식별하는 단계는, 참조 오디오신호에 기초하여 상기 제1구간의 기준 길이를 식별하는 단계; 및 상기 식별된 기준 길이에 기초하여 상기 제1구간의 종료시점을 식별하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 전자장치의 제어방법에 있어서, 상기 제1구간 이후로 수신되는 상기 오디오신호의 상태 변화를 나타내는 GUI(Graphic User Interface)를 디스플레이에 표시하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따른 전자장치의 제어방법에 있어서, 상기 오디오신호의 상태 변화에 기초하여 상기 오디오신호가 사용자 발화인지 또는 잡음인지 여부를 식별하는 단계; 및 상기 식별된 사용자 발화 또는 잡음에 따라 변화된 상기 GUI를 디스플레이에 표시하는 단계를 포함할 수 있다.
컴퓨터가 읽을 수 있는 코드로서, 전자장치의 제어방법을 수행하는 코드를 포함하는 컴퓨터 프로그램이 저장된 기록매체에 있어서, 상기 전자장치의 제어방법은, 수신되는 오디오신호에 기초하여 시작명령어에 대응하는 제1구간을 식별하는 단계; 상기 식별된 제1구간 이전에 수신된 상기 오디오신호의 제2구간으로부터 식별된 잡음특성에 기초하여 상기 제1구간 이후에 수신되는 상기 오디오신호에 사용자 음성 입력에 대응하는 제3구간이 존재하는지 여부를 식별하는 단계; 및 상기 식별된 제3구간의 오디오신호에 기초하여 상기 사용자 음성 입력에 대응하는 동작을 수행하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따르면, 시작명령어의 인식 지점을 활용하여 현 상태의 잡음특성과 발화특성을 활용해 발화 구간과 잡음 구간에 대해 시스템 자원 사용량을 최소화하면서 사용자 음성 입력을 효율적으로 정밀 분석할 수 있다.
본 개시의 일 실시예에 따르면, 잡음이 포함된 환경에서도 정확하게 발화 구간과 잡음 구간을 명확하게 판단할 수 있으며, 이를 이용해 사용자가 자신의 발화 입력 상태를 확인하면서 음성을 입력하도록 하여 정상적인 발화 입력을 유도할 수 있다. 또한 시작명령어 인식 이후 동작하여 시스템 자원 사용을 최소화할 수 있으며, 특정 임계값에 의존하지 않고 소음 환경에서도 성능을 발휘할 수 있다.
도 1은 본 개시의 일 실시예에 따른 전자장치의 동작 모습을 도시한 도면이다.
도 2는 본 개시의 일 실시예에 의한 전자장치의 구성을 도시한 블록도이다.
도 3은 본 개시의 일 실시예에 따른 전자장치의 동작 흐름도를 도시한 도면이다.
도 4는 본 개시의 일 실시예에 따른 전자장치가 수신한 오디오신호를 도시한 도면이다.
도 5는 본 개시의 일 실시예에 따른 전자장치가 수신한 오디오신호를 도시한 도면이다.
도 6은 본 개시의 일 실시예에 따른 전자장치가 수신한 오디오신호를 도시한 도면이다.
도 7은 본 개시의 일 실시예에 따른 전자장치가 수신한 오디오신호를 도시한 도면이다.
도 8은 본 개시의 일 실시예에 따른 전자장치의 동작 모습을 도시한 도면이다.
이하에서는 첨부 도면을 참조하여 본 개시의 실시예들을 상세히 설명한다. 도면에서 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 구성요소를 지칭하며, 도면에서 각 구성요소의 크기는 설명의 명료성과 편의를 위해 과장되어 있을 수 있다. 다만, 본 개시의 기술적 사상과 그 핵심 구성 및 작용이 이하의 실시예에 설명된 구성 또는 작용으로만 한정되지는 않는다. 본 개시를 설명함에 있어서 본 개시와 관련된 공지 기술 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다.
본 개시의 실시예에서, 제1, 제2 등과 같이 서수를 포함하는 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 개시의 실시예에서, '구성되다', '포함하다', '가지다' 등의 용어는 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 또한, 본 개시의 실시예에서, '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있으며, 적어도 하나의 모듈로 일체화되어 구현될 수 있다. 또한, 본 개시의 실시예에서, 복수의 요소 중 적어도 하나(at least one)는, 복수의 요소 전부뿐만 아니라, 복수의 요소 중 나머지를 배제한 각 하나 혹은 이들의 조합 모두를 지칭한다.
도 1은 본 개시의 일 실시예에 따른 전자장치의 동작 모습을 도시한 도면이다.
도 1에는 전자장치(100)와 사용자(10)가 도시되어 있고, 수신되는 사용자(10)의 발화, “Hi Bixby볼륨올려줘”에 대응하는 오디오신호(20)가 표시되어 있다. 오디오신호(20)는 수신되는 사용자의 발화에 대응하는 오디오신호를 발명의 설명을 위해 표시한 것이고, 전자장치(100)가 동작하는 동안 이용되는 것으로 반드시 도 1과 같이 전자장치(100)에 오디오신호가 표시되어야 하는 것은 아니다. 다만, 사용자 편의를 위해 발화가 수신되고 있음을 나타내기 위해 전자장치(100)에 직관적으로 표시하는 경우도 배제하지 않는다.
본 개시의 일 실시예에 따른 전자장치(100)는 영상을 표시할 수 있는 디스플레이장치로 구현되거나, 디스플레이를 구비하지 않는 장치로 구현될 수 있다.
일 예로, 도 1에서 전자장치(100)는 TV로 도시되었으나 이외에도, AI어시스턴스기기(AI스피커 등), 컴퓨터, 스마트 폰, 태블릿 PC, 노트북 PC, HMD(Head mounted Display), NED(Near Eye Display), LFD(large format display), Digital Signage(디지털 간판), DID(Digital Information Display), 비디오 월(video wall), 프로젝터 디스플레이, QD(quantum dot) 디스플레이 패널, QLED(quantum dot light-emitting diodes) μLED(Micro light-emitting diodes), Mini LED 등 다양한 형태의 디스플레이 및 카메라, 캠코더, 웨어러블 디바이스, 비디오 월, 전자액자 등을 포함할 수 있다.
또한, 전자장치(100)는 디스플레이를 구비하지 않는 셋탑박스 등의 영상처리장치, 냉장고, 블루투스 스피커, 세탁기 등의 생활가전, 컴퓨터본체와 같은 정보처리장치 등 다양한 종류의 장치로 구현될 수 있다.
사용자(10)는 전자장치(100)의 음성인식 기능을 사용하려는 경우, 전자장치(100)의 음성인식 기능을 트리거하는 기 정의된 시작명령어, 예컨대, “Hi Bixby” 를 발화하고, 그 뒤에 이용하고자 하는 기능에 대한 사용자 음성 입력, 예컨대, “볼륨 올려줘”와 같은 명령을 발화한다. 이 때, 시작명령어는 사용자의 발화 이외에도 후술하는 전자장치(100)의 사용자입력부(130)나 전자장치(100)와 분리된 리모트 컨트롤러 등을 통해 입력될 수 있으며, 어느 하나에 한정되는 것은 아니다.
전자장치(100)는 입력된 시작명령어를 수신하면, 뒤이어 수신되는 사용자 음성 입력을 식별할 준비를 한다. 사용자 음성 입력을 식별할 준비란 수신되는 오디오신호를 분석하여 사용자가 발화한 사용자 음성 입력의 신호를 추출하는 동작을 포함한다. 이 때, 전자장치(100)는 항상 사용자의 유효한 발화만을 수신하는 것은 아니고, 수신된 오디오신호에는 잡음이 포함되게 되는데 이를 분리하기 위해서는 어느 신호가 잡음인지 혹은 발화인지를 구별하여야 한다. 잡음에 대응하는 오디오신호를 식별하는 일 예로, 전자장치(100)는 시작명령어와 사용자 음성 입력 사이, 즉 시작명령어에 의해 전자장치(100)의 음성인식 기능이 트리거되고 난 후와 사용자 음성 입력을 수신하기 전 획득되는 오디오신호를 잡음에 대응하는 오디오신호로 간주하고 분석할 수 있다.
그러나 사용자의 발화 스타일에 따라 시작명령어와 사용자 음성 입력 간의 구간이 짧은 경우, 즉, 시작명령어를 발화한 후 전자장치(100)가 다음 사용자 음성 입력을 식별할 준비가 되기 전에 바로 사용자 음성 입력을 발화하는 경우가 있다. 예컨대, 도 1에 도시된 바와 같이 “Hi Bixby볼륨올려줘”라고 발화하여 오디오신호(20)를 획득한 경우, 시작명령어와 사용자 음성 입력 간의 구간(21)이 짧아 잡음에 대응하는 신호에 대한 정보를 충분히 획득하지 못한다. 또한, 앞서 서술한 바와 같이 사용자의 발화가 아니더라도, 음성인식 기능을 트리거하는 버튼입력 등 사용자입력과 동시에 사용자 음성 입력을 발화하는 경우가 존재할 수 있다. 이 경우, 전자장치(100)는 발화와 잡음을 구별하기에 충분한 정보를 가지지 못하고, 시작명령어의 종료시점이나 사용자 음성 입력의 시작시점을 추출하기 어려워 음성인식의 효율 및 신뢰도가 떨어진다.
이하 본 개시에서는, 이러한 문제점을 해결하기 위한 방안을 제시한다.
본 개시의 경우, 시작명령어와 사용자 음성 입력 사이의 구간이 짧은 경우 이외에도, 상황에 따라 해당 구간에 대응하는 오디오신호에서 잡음에 대한 정보를 획득하기 어려운 경우 적용이 가능하다. 다만 설명의 편의를 위해, 이하 시작명령어와 사용자 음성 입력 사이의 구간이 짧은 경우에 기초하여 설명한다.
도 2는 본 개시의 일 실시예에 의한 전자장치의 구성을 도시한 블록도이다.
도 2에 도시된 바와 같이, 전자장치(100)는 인터페이스부(110)를 포함할 수 있다.
인터페이스부(110)는 유선 인터페이스부(111)를 포함할 수 있다. 유선 인터페이스부(111)는 지상파/위성방송 등 방송표준에 따른 방송신호를 수신할 수 있는 안테나가 연결되거나, 케이블 방송표준에 따른 방송신호를 수신할 수 있는 케이블이 연결될 수 있는 커넥터 또는 포트를 포함한다. 다른 예로서, 전자장치(100)는 방송신호를 수신할 수 있는 안테나를 내장할 수도 있다. 유선 인터페이스부(111)는 HDMI 포트, DisplayPort, DVI 포트, 썬더볼트, 컴포지트(composite) 비디오, 컴포넌트(component) 비디오, 슈퍼 비디오(super video), SCART 등과 같이, 비디오 및/또는 오디오 전송표준에 따른 커넥터 또는 포트 등을 포함할 수 있다. 유선 인터페이스부(111)는 USB 포트 등과 같은 범용 데이터 전송표준에 따른 커넥터 또는 포트 등을 포함할 수 있다. 유선 인터페이스부(111)는 광 전송표준에 따라 광케이블이 연결될 수 있는 커넥터 또는 포트 등을 포함할 수 있다. 유선 인터페이스부(111)는 외부 마이크로폰 또는 마이크로폰을 구비한 외부 오디오기기가 연결되며, 오디오기기로부터 오디오 신호를 수신 또는 입력할 수 있는 커넥터 또는 포트 등을 포함할 수 있다. 유선 인터페이스부(111)는 헤드셋, 이어폰, 외부 스피커 등과 같은 오디오기기가 연결되며, 오디오기기로 오디오 신호를 전송 또는 출력할 수 있는 커넥터 또는 포트 등을 포함할 수 있다. 유선 인터페이스부(111)는 이더넷 등과 같은 네트워크 전송표준에 따른 커넥터 또는 포트를 포함할 수 있다. 예컨대, 유선 인터페이스부(111)는 라우터 또는 게이트웨이에 유선 접속된 랜카드 등으로 구현될 수 있다.
유선 인터페이스부(111)는 상기 커넥터 또는 포트를 통해 셋탑박스, 광학미디어 재생장치와 같은 외부기기, 또는 외부 디스플레이장치나, 스피커, 서버 등과 1:1 또는 1:N(N은 자연수) 방식으로 유선 접속됨으로써, 해당 외부기기로부터 비디오/오디오 신호를 수신하거나 또는 해당 외부기기에 비디오/오디오 신호를 송신한다. 유선 인터페이스부(111)는, 비디오/오디오 신호를 각각 별개로 전송하는 커넥터 또는 포트를 포함할 수도 있다.
그리고, 본 실시예에 따르면 유선 인터페이스부(111)는 전자장치(100)에 내장되나, 동글(dongle) 또는 모듈(module) 형태로 구현되어 전자장치(100)의 커넥터에 착탈될 수도 있다.
인터페이스부(110)는 무선 인터페이스부(112)를 포함할 수 있다. 무선 인터페이스부(112)는 전자장치(100)의 구현 형태에 대응하여 다양한 방식으로 구현될 수 있다. 예를 들면, 무선 인터페이스부(112)는 통신방식으로 RF(radio frequency), 지그비(Zigbee), 블루투스(bluetooth), 와이파이(Wi-Fi), UWB(Ultra WideBand) 및 NFC(Near Field Communication) 등 무선통신을 사용할 수 있다. 무선 인터페이스부(112)는 와이파이(Wi-Fi) 방식에 따라서 AP와 무선통신을 수행하는 무선통신모듈이나, 블루투스 등과 같은 1대 1 다이렉트 무선통신을 수행하는 무선통신모듈 등으로 구현될 수 있다. 무선 인터페이스부(112)는 네트워크 상의 서버와 무선 통신함으로써, 서버와의 사이에 데이터 패킷을 송수신할 수 있다. 무선 인터페이스부(112)는 적외선 통신표준에 따라 IR(Infrared) 신호를 송신 및/또는 수신할 수 있는 IR송신부 및/또는 IR수신부를 포함할 수 있다. 무선 인터페이스부(112)는 IR송신부 및/또는 IR수신부를 통해 리모컨 또는 다른 외부기기로부터 리모컨신호를 수신 또는 입력하거나, 다른 외부기기로 리모컨신호를 전송 또는 출력할 수 있다. 다른 예로서, 전자장치(100)는 와이파이(Wi-Fi), 블루투스(bluetooth) 등 다른 방식의 무선 인터페이스부(112)를 통해 리모컨 또는 다른 외부기기와 리모컨신호를 송수신할 수 있다.
전자장치(100)는 인터페이스부(110)를 통해 수신하는 비디오/오디오신호가 방송신호인 경우, 수신된 방송신호를 채널 별로 튜닝하는 튜너(tuner)를 더 포함할 수 있다.
전자장치(100)가 디스플레이장치로 구현되는 경우, 디스플레이부(120)를 포함할 수 있다. 디스플레이부(120)는 화면 상에 영상을 표시할 수 있는 디스플레이(121)를 포함한다. 디스플레이(121)는 액정 방식과 같은 수광 구조 또는 OLED 방식과 같은 자발광 구조로 마련된다. 디스플레이부(120)는 디스플레이(121)의 구조에 따라서 부가적인 구성을 추가로 포함할 수 있는데, 예를 들면 디스플레이(121)가 액정 방식이라면, 디스플레이부(120)는 액정 디스플레이 패널과, 광을 공급하는 백라이트유닛과, 액정 디스플레이 패널의 액정을 구동시키는 패널구동기판을 포함한다.
전자장치(100)는 사용자입력부(130)를 포함할 수 있다. 사용자입력부(130)는 사용자의 입력을 수행하기 위해 마련된 다양한 종류의 입력 인터페이스 관련 회로를 포함한다. 사용자입력부(130)는 전자장치(100)의 종류에 따라서 여러 가지 형태의 구성이 가능하며, 예컨대, 전자장치(100)의 기계적 또는 전자적 버튼부, 전자장치(100)와 분리된 리모트 컨트롤러, 전자장치(100)와 연결된 외부기기에서의 입력부, 터치패드, 디스플레이부(120)에 설치된 터치스크린 등이 있다.
전자장치(100)는 저장부(140)를 포함할 수 있다. 저장부(140)는 디지털화된 데이터를 저장한다. 저장부(140)는 전원의 제공 유무와 무관하게 데이터를 보존할 수 있는 비휘발성 속성의 스토리지(storage)와, 프로세서(180)에 의해 처리되기 위한 데이터가 로딩되며 전원이 제공되지 않으면 데이터를 보존할 수 없는 휘발성 속성의 메모리(memory)를 포함한다. 스토리지에는 플래시메모리(flash-memory), HDD(hard-disc drive), SSD(solid-state drive) ROM(Read Only Memory) 등이 있으며, 메모리에는 버퍼(buffer), 램(RAM; Random Access Memory) 등이 있다.
저장부(140)는 복수의 레이어를 포함하는 인공 지능 모델에 관한 정보를 저장할 수 있다. 여기서, 인공 지능 모델에 관한 정보를 저장한다는 것은 인공 지능 모델의 동작과 관련된 다양한 정보, 예를 들어 인공 지능 모델에 포함된 복수의 레이어에 대한 정보, 복수의 레이어 각각에서 이용되는 파라미터(예를 들어, 필터 계수, 바이어스 등)에 대한 정보 등을 저장한다는 것을 의미할 수 있다. 예를 들어, 저장부(140)는 일 실시예에 따라 입력 영상의 업스케일링 정보(또는 음성 인식 관련 정보, 이미지 내의 오브젝트 정보 등)를 획득하도록 학습된 인공 지능 모델에 대한 정보를 저장할 수 있다. 다만, 프로세서가 인공 지능 모델 전용 하드웨어로 구현되는 경우, 인공 지능 모델에 관한 정보는 프로세서 내부 메모리에 저장될 수도 있다.
전자장치(100)는 마이크로폰(150)을 포함할 수 있다. 마이크로폰(150)은 사용자 음성을 비롯한 외부 환경의 소리를 수집한다. 마이크로폰(150)은 수집된 소리의 신호를 프로세서(180)에 전달한다. 전자장치(100)는 사용자 음성을 수집하는 마이크로폰(150)을 구비하거나, 또는 인터페이스부(110)를 통해 마이크로폰을 가진 리모트 컨트롤러, 스마트폰 등의 외부장치로부터 음성신호를 수신할 수 있다. 외부장치에 리모트 컨트롤러 어플리케이션을 설치하여 전자장치(100)를 제어하거나 음성 인식 등의 기능을 수행할 수도 있다. 이와 같은 어플리케이션이 설치된 외부장치의 경우, 사용자 음성을 수신할 수 있으며, 외부장치는 전자장치(100)와 Wi-Fi/BT 또는 적외선 등을 이용하여 데이터 송수신 및 제어가 가능한 바, 상기 통신 방식을 구현할 수 있는 복수의 인터페이스부(110)가 전자장치(100) 내에 존재할 수 있다.
전자장치(100)는 스피커(160)를 포함할 수 있다. 스피커(160)는 프로세서(180)에 의해 처리되는 오디오 데이터를 소리로 출력한다. 스피커(160)는 어느 한 오디오 채널의 오디오 데이터에 대응하게 마련된 단위 스피커를 포함하며, 복수 오디오 채널의 오디오 데이터에 각기 대응하도록 복수의 단위 스피커를 포함할 수 있다. 다른 실시예로서, 스피커(160)는 전자장치(100)와 분리되어 마련될 수 있으며, 이 경우 전자장치(100)는 오디오 데이터를 인터페이스부(110)를 통하여 스피커(160)로 전달할 수 있다.
전자장치(100)는 센서(170)를 포함할 수 있다. 센서(170)는, 전자장치(100)의 상태 또는 전자장치(100) 주변의 상태를 감지하고, 감지된 정보를 프로세서(180)로 전달할 수 있다. 센서(170)는, 지자기 센서(Magnetic sensor), 가속도 센서(Acceleration sensor), 온/습도 센서, 적외선 센서, 자이로스코프 센서, 위치 센서(예컨대, GPS), 기압 센서, 근접 센서, 및 RGB 센서(illuminance sensor) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다. 프로세서(180)는 전자장치(100)와 외부장치(200)간의 탭으로 정의된 센싱값을 저장부(140)에 저장할 수 있다. 추후, 사용자 이벤트가 감지되는 경우, 프로세서(180)는 감지된 센싱값이 저장된 센싱값에 대응하는지 여부에 기초하여 사용자 이벤트의 발생 여부를 식별할 수 있다.
전자장치(100)는 프로세서(180)를 포함할 수 있다. 프로세서(180)는 인쇄회로기판 상에 장착되는 CPU, 칩셋, 버퍼, 회로 등으로 구현되는 하나 이상의 하드웨어 프로세서를 포함하며, 설계 방식에 따라서는 SOC(system on chip)로 구현될 수도 있다. 프로세서(180)는 전자장치(100)가 디스플레이장치로 구현되는 경우에 디멀티플렉서, 디코더, 스케일러, 오디오 DSP(Digital Signal Processor), 앰프 등의 다양한 프로세스에 대응하는 모듈들을 포함한다. 여기서, 이러한 모듈들 중 일부 또는 전체가 SOC로 구현될 수 있다. 예를 들면, 디멀티플렉서, 디코더, 스케일러 등 영상처리와 관련된 모듈이 영상처리 SOC로 구현되고, 오디오 DSP는 SOC와 별도의 칩셋으로 구현되는 것이 가능하다.
프로세서(180)는, 저장부(140)에 저장된 기 정의된 동작 규칙 또는 인공 지능 모델에 따라, 입력 데이터를 처리하도록 제어할 수 있다. 또는, 프로세서(180)가 전용 프로세서(또는 인공 지능 전용 프로세서)인 경우, 특정 인공 지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다. 예를 들어, 특정 인공 지능 모델의 처리에 특화된 하드웨어는 ASIC, FPGA 등의 하드웨어 칩으로 설계될 수 있다.
출력 데이터는 인공 지능 모델의 종류에 따라 다양한 형태가 될 수 있다. 예를 들어 출력 데이터는, 해상도가 향상된 이미지, 이미지 내에 포함된 오브젝트 관련 정보, 음성에 대응되는 텍스트 등이 될 수 있고 이에 한정되지 않는다.
프로세서(180)는 마이크로폰(150) 등에 의해 사용자 음성에 대한 음성신호를 획득하면, 음성신호를 음성데이터로 변환할 수 있다. 이 때, 음성데이터는 음성신호를 텍스트 데이터로 변환하는 STT(Speech-to-Text) 처리 과정을 통해 얻어진 텍스트 데이터일 수 있다. 프로세서(180)는 음성데이터가 나타내는 커맨드를 식별하고, 식별된 커맨드에 따라서 동작을 수행한다. 음성데이터 처리 과정과, 커맨드 식별 및 수행 과정은, 전자장치(100)에서 모두 실행될 수도 있다. 그러나, 이 경우에 전자장치(100)에 필요한 시스템 부하 및 소요 저장용량이 상대적으로 커지게 되므로, 적어도 일부의 과정은 네트워크를 통해 전자장치(100)와 통신 가능하게 접속되는 적어도 하나의 서버에 의해 수행될 수 있다.
본 발명에 따른 프로세서(180)는 전자장치(100)와 같은 기기(Machine)가 읽을 수 있는 저장 매체(Storage Medium)에 저장된 소프트웨어의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 전자장치(100)와 같은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(Non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적'은 저장매체가 실재(tangible)하는 장치이고, 신호(예컨대, 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
한편, 프로세서(180)는 수신되는 오디오신호에 기초하여 시작명령어에 대응하는 제1구간을 식별하고, 상기 식별된 제1구간 이전에 수신된 상기 오디오신호의 제2구간으로부터 식별된 잡음특성에 기초하여 상기 제1구간 이후에 수신되는 상기 오디오신호에 사용자 음성 입력에 대응하는 제3구간이 존재하는지 여부를 식별하고, 상기 식별된 제3구간의 오디오신호에 기초하여 상기 사용자 음성 입력에 대응하는 동작을 수행하기 위한 데이터 분석, 처리, 및 결과 정보 생성 중 적어도 일부를 규칙 기반 또는 인공지능(Artificial Intelligence) 알고리즘으로서 기계학습, 신경망 네트워크(neural network), 또는 딥러닝 알고리즘 중 적어도 하나를 이용하여 수행할 수 있다.
인공지능 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템으로서 기계가 스스로 학습하고 판단하며, 사용할수록 인식률이 향상되는 시스템이다
인공지능 기술은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘을 이용하는 기계학습(딥러닝) 기술 및 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 요소 기술들로 구성된다.
요소기술들은, 예로, 인간의 언어/문자를 인식하는 언어적 이해 기술, 사물을 인간의 시각처럼 인식하는 시각적 이해 기술, 정보를 판단하여 논리적으로 추론하고 예측하는 추론/예측 기술, 인간의 경험 정보를 지식데이터로 처리하는 지식 표현 기술 및 차량의 자율 주행, 로봇의 움직임을 제어하는 동작 제어 기술 중 적어도 하나를 포함할 수 있다.
언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다.
일 예로, 프로세서(180)는 학습부 및 인식부의 기능을 함께 수행할 수 있다. 학습부는 학습된 신경망 네트워크를 생성하는 기능을 수행하고, 인식부는 학습된 신경망 네트워크를 이용하여 데이터를 인식(또는, 추론, 예측, 추정, 판단)하는 기능을 수행할 수 있다.
학습부는 신경망 네트워크를 생성하거나 갱신할 수 있다. 학습부는 신경망 네트워크를 생성하기 위해서 학습 데이터를 획득할 수 있다. 일 예로, 학습부는 학습 데이터를 저장부(140) 또는 외부로부터 획득할 수 있다. 학습 데이터는, 신경망 네트워크의 학습을 위해 이용되는 데이터일 수 있으며, 상기한 동작을 수행한 데이터를 학습데이터로 이용하여 신경망 네트워크를 학습시킬 수 있다.
학습부는 학습 데이터를 이용하여 신경망 네트워크를 학습시키기 전에, 획득된 학습 데이터에 대하여 전처리 작업을 수행하거나, 또는 복수 개의 학습 데이터들 중에서 학습에 이용될 데이터를 선별할 수 있다. 일 예로, 학습부는 학습 데이터를 기 설정된 포맷으로 가공하거나, 필터링하거나, 또는 노이즈를 추가/제거하여 학습에 적절한 데이터의 형태로 가공할 수 있다. 학습부는 전처리된 학습 데이터를 이용하여 상기한 동작을 수행하도록 설정된 신경망 네트워크를 생성할 수 있다.
학습된 신경망 네트워크는, 복수의 신경망 네트워크(또는, 레이어)들로 구성될 수 있다. 복수의 신경망 네트워크의 노드들은 가중치(weight values)를 가지며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 네트워크들은 일 신경망 네트워크의 출력 값이 다른 신경망 네트워크의 입력 값으로 이용되도록 서로 연결될 수 있다. 신경망 네트워크의 예로는, 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)과 같은 모델을 포함할 수 있다.
한편 인식부는 상기한 동작을 수행하기 위해, 타겟 데이터를 획득할 수 있다. 타겟 데이터는 저장부(140) 또는 외부로부터 획득된 것일 수 있다. 타겟 데이터는 신경망 네트워크의 인식 대상이 되는 데이터일 수 있다. 인식부는 타겟 데이터를 학습된 신경망 네트워크에 적용하기 전에, 획득된 타겟 데이터에 대하여 전처리 작업을 수행하거나, 또는 복수 개의 타겟 데이터들 중에서 인식에 이용될 데이터를 선별할 수 있다. 일 예로, 인식부는 타겟 데이터를 기 설정된 포맷으로 가공하거나, 필터링 하거나, 또는 노이즈를 추가/제거하여 인식에 적절한 데이터의 형태로 가공할 수 있다. 인식부는 전처리된 타겟 데이터를 신경망 네트워크에 적용함으로써, 신경망 네트워크로부터 출력되는 출력값을 획득할 수 있다. 인식부는 출력값과 함께, 확률값 또는 신뢰도값을 획득할 수 있다.
인공 지능 모델의 학습 및 훈련 데이터의 생성은 외부 서버를 통해 수행될 수 있다. 다만, 경우에 따라 인공 지능 모델의 학습이 전자 장치에서 이루어지고, 훈련 데이터 또한 전자 장치에서 생성될 수도 있음은 물론이다.
일 예로, 본 발명에 따른 전자장치(100)의 제어방법은 컴퓨터 프로그램 제품 (Computer Program Product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은, 앞서 설명한, 프로세서(180)에 의해 실행되는 소프트웨어의 명령어들을 포함할 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예컨대, CD-ROM)의 형태로 배포되거나, 또는 어플리케이션 스토어(예컨대, 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예컨대, 스마트폰들) 간에 직접, 온라인으로 배포(예컨대, 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
도 3은 본 개시의 일 실시예에 따른 전자장치의 동작 흐름도를 도시한 도면이다.
본 개시의 일 실시예에 따르면, 프로세서(180)는 수신되는 오디오신호에 기초하여 시작명령어에 대응하는 제1구간을 식별한다(S310).
프로세서(180)는 시작명령어에 대응하는 오디오신호의 파형, 길이 등에 대한 정보에 기초하여 수신되는 오디오신호 중 시작명령어에 대응하는 제1구간을 식별한다. 이 때, 프로세서(180)는 저장부(140)에 미리 저장된 정보를 이용하거나, 서버 등과의 통신을 통해 정보를 획득할 수 있다.
본 개시의 일 실시예에 따른 프로세서(180)는 수신되는 오디오신호에 기초하여 후술하는 도 6과 같이 프레임 단위로 시작명령어 뿐만 아니라 잡음특성, 제3구간의 존재여부 등을 식별할 수 있다. 다만, 오디오신호의 분석은 반드시 프레임 단위에 한정되는 것은 아니다.
본 개시의 일 실시예에 따르면, 프로세서(180)는 식별된 제1구간 이전에 수신된 오디오신호의 제2구간으로부터 기초하여 식별된 잡음특성에 기초하여 제1구간 이후에 수신되는 오디오신호에 사용자 음성 입력에 대응하는 제3구간이 존재하는지 여부를 식별한다(S320).
프로세서(180)는 시작명령어에 대응하는 제1구간의 종료시점부터 뒤이어 수신되는 사용자 음성 입력을 식별할 준비를 한다. 앞서 설명한 바와 같이, 수신된 오디오신호에서 잡음을 분리하기 위해서는 오디오신호의 잡음특성을 식별하는 것이 필요하다. 잡음특성이란 수신된 신호 중 잡음에 대응하는 오디오신호를 추출하기 위한 특성으로, 제1구간의 발화 특성과 비교하여 신호 대 잡음 비(SNR; Signal to Noise Ratio)를 포함한다. 잡음에 대응하는 오디오신호를 분리하기 위해 앞서 설명한 VAD나 EPD 등의 기술을 이용할 수 있다.
이 때 오디오신호의 잡음특성은 수신된 오디오신호 중 어느 구간에서 추출하는지에 따라 그 정확도나 효율이 달라질 수 있다. 특히, 시작명령어와 사용자 음성 입력이 포함된 구간 사이의 간격이 짧은 경우, 프로세서(180)는 발화와 잡음을 구별하기에 충분한 정보를 가지지 못하고, 시작명령어의 끝점이나 사용자 음성 입력의 시작점을 추출하기 어려워 음성인식의 효율 및 신뢰도가 떨어진다.
따라서, 본 개시의 일 실시예에 따른 프로세서(180)는 시작명령어에 대응되는 구간으로 식별된 제1구간의 이전에 수신된 오디오신호의 제2구간으로부터 잡음특성을 식별한다. 앞서 설명한 바와 같이, 프로세서(180)는 수신되는 오디오신호에 기초하여 잡음특성을 프레임 단위로 식별할 수 있다.
또한, 제2구간을 이용한 잡음특성의 식별은 시작명령어가 제1구간에서 식별되어 음성인식 기능이 트리거된 상황에서 동작하여 VAD나 EFD 기술과 같이 상시 동작하여 자원을 소모할 염려가 없다.
제2구간은 발화와 잡음을 분리하여 식별하도록 도와주는 구간으로, 프로세서(180)는 제1구간의 시작점으로부터 마진 시간 이전의 제2구간을 식별한다.
주변 상황에 따라 발화와 잡음의 식별을 위한 발화의 기준, 잡음의 기준은 변화할 수 있다. 따라서, 절대적인 기준으로 프레임별 발화, 잡음을 식별하면 정확성이 하락하므로, 현재 수신되는 오디오신호에 대한 잡음과 발화에 대한 기준 설정이 중요하다. 일 예로, 프로세서(180)는 기 정의된 시작명령어에 대응하는 제1구간의 길이는 특정 시간을 초과하지 않는다는 점을 기초로 하여 잡음 구간을 설정할 수 있다.
프로세서(180)는 마찬가지로 수신되는 오디오신호에 기초하여 제3구간의 존재여부를 프레임 단위로 식별할 수 있다.
프로세서(180)는 제2구간에서 식별한 잡음특성을 이용하여, 제1구간 이후 수신되는 사용자 음성 입력을 프레임 단위로 식별하므로 제1구간과 제3구간 사이의 간격이 짧더라도 제3구간의 유효한 발화를 용이하게 식별할 수 있다.
일 예로, 제2구간에서 수신한 오디오신호의 잡음특성을 빔포밍(Beamforming) 기술에 적용하여 사용자의 발화를 추출할 수 있다. 빔포밍은 특정한 방향으로부터의 오디오신호를 추출하고 나머지 방향으로부터의 오디오 성분을 제거하여, 공간 필터를 만드는 방식이다. 제2구간에서 수신되는 오디오신호를 통해 잡음이라고 판단되는 오디오신호를 추출하고, 제3구간에서 수신되는 오디오신호에서 추출된 오디오신호를 필터링 함으로써 유효한 발화만이 음성인식 시스템을 통과할 수 있도록 한다. 이 외에도, 제2구간에서 추출한 잡음에 대응하는 오디오신호를 이용하여 제3구간의 발화를 추출할 수 있는 기술이라면 제한없이 적용이 가능하다.
추가로, 프로세서(180)는 제1구간에 기초하여 발화특성을 식별하고, 식별된 발화특성에 기초하여 제3구간의 사용자 음성 입력에 대응하는 동작을 수행할 수 있다. 이 경우, 특별한 경우가 아닌 한 시작명령어를 발화한 사용자와 동일한 사용자가 사용자 음성 입력을 발화할 것이므로, 제1구간에서 식별한 발화특성을 이용하여 제3구간의 발화를 식별하는 경우 음성인식의 신뢰도가 더 높아진다.
본 개시의 일 실시예에 따르면, 프로세서(180)는 식별된 제3구간의 오디오신호에 기초하여 사용자 음성 입력에 대응하는 동작을 수행한다(S330).
프로세서(180)는 식별된 제3구간의 오디오신호에 기초하여 텍스트 데이터로 변환하는 STT(Speech-to-Text) 처리 과정을 통해 텍스트 데이터를 획득할 수 있다.
프로세서(180)는 자연어 처리 엔진을 마련할 수 있다. 자연어 처리 엔진이란 자연어 처리 이해(NLU; Natural Language Understanding)를 위해 마련된 엔진으로, 프로세서(180)는 자연어 처리 엔진을 이용하여 사용자의 발화뿐 아니라, 사용자의 발화가 실제로 의미하는 바를 추론할 수 있다. 자연어 처리 엔진은 인공지능(AI; Artificial Intelligence) 기술을 적용하여 다양한 데이터를 이용하여 반복 학습을 통해 마련될 수도 있고, 룰 베이스 기반으로 형성될 수 있으며 어느 하나에 한정된 것은 아니다. 프로세서(180)는 획득한 텍스트 데이터를 자연어 처리 엔진을 이용하여 사용자의 발화를 식별하고, 식별된 발화에 대응하는 동작을 수행한다.
이 외에도, 프로세서(180)는 인터페이스부(110)를 통해 식별된 제3구간의 오디오신호를 음성인식을 위한 엔진, 예컨대, STT 처리 엔진, 자연어 처리 엔진 등을 구비한 외부 서버로 전송하여 사용자 음성 입력에 대응하는 동작을 수행할 수 있다.
본 개시의 일 실시예에 따르면, 시작명령어의 인식 지점을 활용하여 현 상태의 잡음특성과 발화특성을 활용해 발화 구간과 잡음 구간에 대해 시스템 자원 사용량을 최소화하면서 사용자 음성 입력을 효율적으로 정밀 분석할 수 있다.
본 개시의 일 실시예에 따르면, 잡음이 포함된 환경에서도 정확하게 발화 구간과 잡음 구간을 명확하게 판단할 수 있으며, 이를 이용해 사용자가 자신의 발화 입력 상태를 확인하면서 음성을 입력하도록 하여 정상적인 발화 입력을 유도할 수 있다. 또한 시작명령어 인식 이후 동작하여 시스템 자원 사용을 최소화할 수 있으며, 특정 임계값에 의존하지 않고 소음 환경에서도 성능을 발휘할 수 있는 장점이 있다.
도 4는 본 개시의 일 실시예에 따른 전자장치가 수신한 오디오신호를 도시한 도면이다.
도 4에 도시된 오디오신호(400)는 S1, S2, S3, S4, S5 5개의 구간을 포함한다. 이하 5개의 구간은 도 4 내지 도 7에 걸쳐 동일하게 적용되고, 도 3에서 설명한 제1구간, 제2구간, 제3구간에 대응하는 구간도 동일하게 적용하여 설명한다.
S1 구간은 시작명령어가 발화되기 직전 구간으로 도 3의 제2구간에 대응한다. S2 구간은 시작명령어 발화 구간으로 도 3의 제1구간에 대응한다. S3 구간은 시작명령어 발화와 사용자 음성 입력 발화 사이의 구간이다. S4 구간은 사용자 음성 입력 발화 구간으로 도 3의 제3구간에 대응한다. S5 구간은 사용자 음성 입력 발화 이후 구간이다.
도 3의 전자장치의 동작 흐름도에 비추어 좀 더 구체적으로 살펴보면 다음과 같다.
프로세서(180)는 수신되는 오디오신호(400)에 기초하여 시작명령어에 대응하는 제1구간(S2)을 식별한다.
전자장치(100)는 저장부(140)를 더 포함하고, 프로세서(180)는 수신되는 오디오신호(400)의 일부 구간을 저장부(140)에 업데이트하여 저장할 수 있다. 앞서 서술한 바와 같이, 저장부(140)는 휘발성 속성의 메모리인 버퍼를 포함한다. 계속하여 수신되는 오디오신호를 다 저장하기에는 저장부(140)의 용량이 부족하고, 음성인식의 속도도 느려질 수 있다. 따라서, 프로세서(180)는 오디오신호를 실시간으로 수신하고, 수신된 오디오신호(400)의 일부 구간을 버퍼에 계속 업데이트하면서 저장하는 것이 바람직하다.
일 예로, 프로세서(180)는 수신되는 오디오신호(400)의 제1구간(S2) 및 제2구간(S1)에 대응하는 시간 길이에 관련된 데이터를 저장부(140)에 저장할 수 있다. 프로세서(180)는 저장부(140)에 저장된 데이터에 기초하여 제1구간(S2) 및 제2구간(S1)을 식별할 수 있다.
이 때, 마진 시간을 이용할 경우, 제2구간(S1)은 제1구간(S2)의 시작시점으로부터 마진 시간에 대응하는 구간과 그 이전의 구간을 포함한다. 마진 시간은 제1구간(S2)에 대응하는 시간 길이를 정확하게 알기 어렵기 때문에, 제1구간(S2)에 앞서 두는 구간이다. 프로세서(180)는 제2구간(S1)에서 수신한 오디오신호의 잡음특성을 식별할 때, 제1구간(S2)의 시작시점으로 예상되는 시점에서 마진 시간에 대응하는 구간보다 이전의 구간에 기초하여 잡음특성을 식별할 수 있다. 이 경우, 제2구간(S1)의 잡음특성을 식별할 때, 제1구간(S2)의 시작명령어에 대응하는 오디오신호가 혼용될 확률을 낮추므로, 신뢰도를 높일 수 있다. 마진 시간과 관련된 자세한 내용은 도 5에서 후술한다.
보다 구체적으로, 프로세서(180)는 오디오신호를 수신하다가 시작명령어에 대응하는 제1구간(S2)을 식별한 경우, 프로세서(180)는 저장부(140)에 저장된 오디오신호 데이터에서 제1구간(S2)의 시작시점으로부터 마진 시간을 포함하는 제2구간(S1)을 식별한다. 그리고, 프로세서(180)는 저장부(140)에서 식별된 제2구간(S1)에 기초하여 잡음특성을 식별한다.
프로세서(180)는 제2구간(S1)에서 식별된 잡음특성에 기초하여, 제1구간(S2)의 종료시점부터 뒤이어 수신되는 사용자 음성 입력을 식별할 준비를 한다. 만약, 제2구간(S1)을 이용하여 잡음특성을 식별하지 않았다면, 시작명령어가 포함된 제1구간(S2)과 사용자 음성 입력이 포함된 제3구간(S4) 사이의 구간 S3의 길이가 짧은 경우, 프로세서(180)는 발화와 잡음을 구별하기에 충분한 정보를 가지지 못하고, 제1구간(S2)의 종료시점이나 제3구간(S4)의 시작시점을 추출하기 어려워 음성인식의 효율 및 신뢰도가 떨어진다.
또한, 제2구간(S1)의 식별 및 제1구간(S2)를 이용한 잡음특성의 식별은 시작명령어가 제1구간(S2)에서 식별되어 트리거된 상황에서 동작하여 자원을 소모할 염려가 없음은 앞서 설명한 바와 마찬가지이다.
본 개시의 일 실시예에 따르면, 프로세서(180)는 식별된 잡음특성에 기초하여 제1구간(S2) 이후에 수신되는 오디오신호에 사용자 음성 입력에 대응하는 제3구간(S4)이 존재하는지 여부를 식별한다.
프로세서(180)는 제2구간(S1)에서 식별한 잡음특성을 이용하여, 제1구간(S2) 이후 수신되는 사용자 음성 입력을 프레임 단위로 식별하므로 제1구간(S2)과 제3구간(S4) 사이의 간격이 짧더라도 제3구간(S4)의 유효한 발화를 용이하게 식별할 수 있다.
따라서, 프로세서(180)는 제2구간(S1)에서 식별된 잡음특성에 기초하여 제1구간(S2)의 종료시점을 식별하고, 식별된 종료시점 이후로 수신되는 오디오신호에 제3구간(S4)이 존재하는지 여부를 식별할 수 있다.
추가로, 프로세서(180)는 제1구간(S2)에 기초하여 발화특성을 식별하고, 식별된 발화특성에 기초하여 제3구간(S4)의 사용자 음성 입력에 대응하는 동작을 수행할 수 있다. 이 경우, 특별한 경우가 아닌 한 시작명령어를 발화한 사용자와 동일한 사용자가 사용자 음성 입력을 발화할 것이므로, 제1구간(S2)에서 식별한 발화특성을 이용하여 제3구간(S4)의 발화를 식별하는 경우 음성인식의 신뢰도가 더 높아지는 효과를 가진다.
본 개시의 일 실시예에 따르면, 프로세서(180)는 식별된 제3구간(S4)의 오디오신호에 기초하여 사용자 음성 입력에 대응하는 동작을 수행한다.
이 때, 프로세서(180)는 제3구간(S4)에 기초하여 발화특성을 식별할 수 있다. 그리고, 앞서 제1구간(S2)에 기초하여 식별한 발화특성과 제3구간(S4)의 발화특성을 비교하여 동일한 사용자인지 여부를 식별하고, 동일한 사용자인 경우에만 제3구간(S4)의 오디오신호에 기초하여 사용자 음성 입력에 대응하는 동작을 수행할 수 있다.
본 개시의 일 실시예에 따르면, 버퍼를 이용하여 오디오신호를 업데이트하며 동작을 수행하는 바, 음성인식의 처리속도가 빨라지고 자원을 효율적으로 이용할 수 있다. 또한, 시작명령어와 사용자 음성 입력에 따른 오디오신호가 일치하면 동작을 수행하는 경우, 음성 인식의 오류나 불필요한 동작 수행을 줄일 수 있고, 더욱 정확하게 사용자 음성 입력을 인식할 수 있으므로 효율적이다.
도 5는 본 개시의 일 실시예에 따른 전자장치가 수신한 오디오신호를 도시한 도면이다. 본 도면에서는 제1구간(S2)와 제2구간(S1)에 대하여 좀 더 구체적으로 설명한다.
프로세서(180)는 참조 오디오신호에 기초한 제1구간의 기준 길이(Tavg)에 기초하여 제1구간(S2)에 대응하는 시간 길이를 식별할 수 있다.
제1구간(S2)의 경우 시작명령어에 대응하는 구간으로, 각 전자장치마다 음성인식 기능을 활성화하는 적어도 하나의 시작명령어가 정해져 있다. 사용자별로 차이가 있을 수 있지만, 정해진 시작명령어의 발화 길이는 특정 시간을 초과하지 않는다는 점을 기초로 하여 참조 오디오신호에 기초하여 기준 길이(Tavg)가 정해질 수 있다. 참조 오디오신호는 프로세서(180)가 다양한 사용자를 통해 획득한 시작명령어의 오디오신호를 수집하여 신호의 길이, 파형 등의 정보를 획득하여 생성할 수 있다. 다만, 이에 한정되는 것은 아니고, 기 생성된 참조 오디오신호를 서버로부터 수신하거나, 서버 등 외부로부터 수신하여 저장부(140)에 저장해둘 수 있다. 또한, 사용자 별 시작명령어의 발화 뿐 아니라, 시작명령어 별 발화에 따른 참조 오디오신호를 마련할 수도 있다.
프로세서(180)는 저장부(140)에 미리 저장된 기준 길이(Tavg)에 대한 정보를 이용하거나, 인터페이스부(110)를 통해 서버 등과의 통신을 통해 정보를 획득할 수 있으며, 참조 오디오신호에 기초하여 제1구간(S2)의 기준 길이(Tavg)를 식별할 수도 있다.
프로세서(180)는 기준 길이(Tavg)에 기초하여 제2구간(S1)의 길이(α)를 식별할 수 있다. 프로세서(180)는 시작명령어 인식 지점(Triggered Point)을 기준으로 하여 제1구간(S2)의 길이(Tavg)와 그 이전의 제2구간(S1)의 길이(α)를 합한 길이의 오디오신호(500)를 저장부(140)에 버퍼링할 수 있다. 그리고, 앞서 도 4에서 설명한 바와 같이, 프로세서(180)는 제2구간(S1)의 길이(α)에서 마진 시간(α - β)을 두는 경우, 그 앞부분인 β (<α) 길이의 오디오신호를 활용하여 잡음특성을 식별할 수 있다. 이 경우, 프로세서(180)는 제2구간(S1) 중에서 제1구간(S2)의 시작시점으로부터 마진 시간(α - β) 이전의 구간(β 길이의 구간)을 식별할 수 있다. 이로써, 제1구간(S2)과 제2구간(S1)을 더욱 정밀하게 구분할 수 있으므로, 제2구간(S1)의 잡음특성 식별에 정확도가 올라간다.
다만, 이에 한정되지 않으며, 제1구간(S2) 이전에 존재하는 프레임의 에너지를 분석하여, 일정치 이상의 프레임을 저장부(140)에 저장 후 α, β 길이를 실시간으로 판단할 수 있다. 또한, 현재 발화하는 사용자의 성별, 언어, 이전 사용 이력 등 사용자에 관한 정보에 기초하여 사용자별 기준 길이(Tavg)를 가변하여 적용할 수 있다. 프로세서(180)는 사용자에 관한 정보를 음성인식 기능을 이용하기 위한 로그인 등을 통해 획득하거나, 서버 등 외부로부터 수신하여 획득하거나, 혹은 저장부(140)에 저장된 이전 사용 이력 등에 기초하여 획득할 수 있다.
프로세서(180)는 참조 오디오신호에 기초하여 제1구간(S2)의 기준 길이(Tavg)를 식별하고, 식별된 기준 길이(Tavg)에 기초하여 제1구간(S2)의 종료시점, 즉 시작명령어 인식 지점(Triggered Point)을 식별할 수 있다.
일 예로, 프로세서(180)는 수신되는 오디오신호의 제1구간(S2) 및 제2구간(S1)에 대응하는 시간 길이에 관련된 데이터를 저장부(140)에 저장할 수 있다. 프로세서(180)는 저장부(140)에 저장된 데이터에 기초하여 제1구간(S2) 및 제2구간(S1)을 식별할 수 있다.
본 개시의 일 실시예에 따르면, 기준 길이(Tavg)를 기준으로 저장할 오디오신호의 구간을 식별할 수 있으므로 보다 적은 자원을 소모하면서 발화와 잡음을 명확하게 판단할 수 있다.
또한 본 개시의 일 실시예에 따르면, 제1구간(S2)에 마진 시간(α - β)을 두어, 제2구간(S1)과의 구별이 명확하게 되지 않는 경우, 예컨대, 잡음이 심하거나 잡음이 사용자의 발화처럼 식별되는 경우 등의 경우에도 잡음특성 식별에 혼동을 줄 수 있는 가능성을 낮추게 되어 잡음특성 식별의 신뢰도를 높이고, 나아가 음성인식의 신뢰도를 높인다.
도 6은 본 개시의 일 실시예에 따른 전자장치가 수신한 오디오신호를 도시한 도면이다. 본 도면에서는 오디오신호(600)의 각 구간을 프레임 단위로 식별하는 경우를 도시한다.
앞서 도 3 내지 도 5에서 설명된 바와 같이, 본 개시의 일 실시예에 따른 프로세서(180)는 수신되는 오디오신호(600)에 기초하여 시작명령어에 대응하는 제1구간(S2) 뿐만 아니라 제2구간(S1)의 잡음특성, 제3구간(S4)의 존재여부 등을 프레임 단위로 식별할 수 있다.
구간 별 수신되는 오디오신호(600)는 도시된 바와 같이, 잡음이거나 묵음에 대응하는 오디오신호는 0, 유효한 발화에 대응하는 오디오신호의 경우 1로 지정하여 식별할 수 있다. 다만, 0, 1로 지정하는 것은 하나의 방법에 불과하고, 레벨값을 이용하거나 다른 지표를 이용하여 지정하는 것이 얼마든지 가능하다.
본 개시의 일 실시예에 따르면, 프레임 단위로 오디오신호를 분석하게 되는 경우 발화의 시작시점과 종료시점을 명확하게 구분할 수 있다.
도 7은 본 개시의 일 실시예에 따른 전자장치가 수신한 오디오신호를 도시한 도면이다.
도 7은 발화와 잡음이 혼재하여 SNR이 좋지 않은 상태 등 발화와 잡음을 명확히 식별하기 어려운 경우를 나타내는 오디오신호(700)를 도시한다.
발화와 잡음 간의 식별력을 높이기 위해 시작명령어 인식과 무관하게 매 프레임 단위로 연산을 지속적으로 수행하거나, 시작명령어 인식 이후에 발화와 잡음을 식별하는 경우, 특히 본 도면에 도시된 오디오신호와 같이 발화와 잡음의 식별이 불명확할 경우, 실험적으로 정해진 임계값과의 차이와 명확한 기준이 모호한 문제 등으로 식별 성능이 현저하게 저하될 수 있다. 또한 시작명령어 인식 이후에 처리하게 될 경우 S3 구간이 짧으면 잡음 검출에 실패할 가능성이 높으며, 기준점이 모호하여 식별에 실패하게 될 가능성도 높다.
앞서 도 3 내지 도 6에서 설명한 바와 같이, 시작명령어 인식 지점과 시작명령어 발화 길이 및 오디오신호 버퍼링을 이용하여 제2구간(S1)을 특정하고 잡음특성을 파악함으로써 불필요한 자원 사용량을 줄이고 정확한 잡음특성을 확보할 수 있다. 또한 시작명령어 발화 구간에 대해서 발화특성을 추가로 확인할 수 있어 잡음과 발화의 특성 차이를 명확하게 할 수 있다.
또한 제1구간(S2)과 제3구간(S4) 사이의 구간 S3의 길이에 상관없이 프레임 단위로 발화와 잡음을 식별할 수 있어 사용자 발화 형태에 무관하게 범용적인 사용이 가능하게 된다. 또한 시작명령어 발화 순간의 잡음의 특징을 파악함으로써 특정 임계값에 의해 구분하지 않기 때문에, 해당 상황에 맞는 구분 성능을 확보할 수 있다.
도 8은 본 개시의 일 실시예에 따른 전자장치가 수신한 오디오신호를 도시한 도면이다.
전자장치(100)는 디스플레이(121)를 더 포함하고, 프로세서(180)는 제1구간 이후로 수신되는 오디오신호(800)의 상태 변화에 대응하는 GUI(Graphic User Interface)(810, 820, 830, 840)를 디스플레이(121)에 표시되도록 제어할 수 있다.
먼저, 프로세서(180)는 수신되는 오디오신호(800)에서 시작명령어에 대응하는 제1구간(S2)을 식별하고, 제1구간(S2)의 종료시점(Trigger Point)에 음성인식 기능이 트리거 된 것을 나타내는 GUI(810)가 디스플레이(121)에 표시되도록 제어한다.
이후, 일 예로, 프로세서(180)는 오디오신호(800)의 상태 변화에 기초하여 각 구간의 오디오신호가 사용자 발화인지 또는 잡음인지 여부를 식별하고, 식별된 사용자 발화 또는 잡음에 따라 GUI(810)를 GUI(820, 830, 840)로 변화시켜 디스플레이(121)에 표시하도록 제어할 수 있다.
오디오신호(800)의 상태변화는 앞서 설명한 바와 같이, 식별된 발화특성과 잡음특성을 이용하여 발화 혹은 잡음이 지속되는 정도를 포함한다.
프로세서(180)는 표시된 GUI(810)를 잡음 혹은 묵음 구간 S3에서 GUI(820)로 변화시켜 디스플레이(121)에 표시되도록 제어할 수 있다. 이 때, 프로세서(180)는 GUI(820)의 색상을 점점 옅어지게 표시하거나, 색상을 변경하거나, GUI(820)의 크기를 점점 작아지게 표시하거나, GUI(820)의 일부가 점점 사라지게 모양을 변형시키는 등 다양하게 변화시켜 디스플레이(121)에 표시되도록 제어할 수 있다. 이는 음성인식을 수신하는 프로세서(180)의 상태를 직관적으로 사용자에게 제공하는 것으로써, 사용자는 디스플레이(121)에 표시된 GUI(820)를 보고 일정 시간 내에 사용자 음성 입력을 발화하지 않으면 음성인식 기능이 곧 종료된다는 것을 쉽게 파악할 수 있다.
또한, 프로세서(180)는 수신되는 시작명령어에 대응하는 오디오신호를 식별한 것에 기초하여 GUI(810)를 디스플레이(121)에 표시하도록 제어함으로써, 사용자는 시작명령어에 기초하여 음성인식 기능이 활성화 되었음을 인식할 수 있다. 반대로, 주변 노이즈 등에 의해 프로세서(180)가 시작명령어에 대응하는 오디오신호를 식별하지 못한 것에 기초하여 GUI(810)를 디스플레이(121)에 표시하지 않게 되므로, 사용자는 전자장치(100)가 시작명령어를 수신하지 못하였음을 인식할 수 있다.
이를 통해, 사용자는 전자장치(100)가 시작명령어를 인식한 것인지, 시작명령어를 인식은 하였으나 사용자 음성 입력을 인식하지 못한 것인지 등 음성 인식 과정에서의 오류를 단계별로 파악할 수 있다.
사용자가 제3구간(S4)에서 사용자 음성 입력을 발화하면, 프로세서(180)는 사용자 음성 입력에 대응하는 오디오신호 수신하고, 그에 따라 수신되는 오디오신호의 상태가 변화하는 것을 식별한다. 따라서, 프로세서(180)는 디스플레이(121)에 표시되는 GUI(830)를 다시 활성화 되는 형태로 변형하여 디스플레이(121)에 표시되도록 제어한다.
사용자 음성 입력에 대응하는 오디오신호를 수신 후, 프로세서(180)는 다시 GUI(840)를 잡음 혹은 묵음 구간 S3에서 GUI(840)를 변화시켜 디스플레이(121)에 표시되도록 제어할 수 있다. GUI(840)의 변화는 GUI(820)의 변화와 그 양상이 동일할 수 있다. 따라서, 마찬가지로 사용자는 디스플레이(121)에 표시된 GUI(840)를 보고 일정 시간 내에 사용자 음성 입력을 발화하지 않으면 음성인식 기능이 곧 종료된다는 것을 쉽게 파악할 수 있다.
추가로, 프로세서(180)는 오디오신호의 상태변화 이외에도 시간이 지남에 따라 GUI(810)를 GUI(820, 830, 840)로 변화시켜 음성인식 기능을 이용할 수 있는 시간이 점점 줄어들고 있음을 디스플레이(121)에 표시되도록 제어할 수 있다.
이후 일정 시간 동안 발화가 존재하지 않음에 따라, GUI는 점차 사라져 없어지게 되고, 사용자는 음성인식 기능이 종료되었음을 식별할 수 있다.
또 다른 예로, 프로세서(180)는 전자장치(100)의 종류에 따라 GUI(810, 820, 830, 840)를 디스플레이(121)에 다르게 표시하도록 제어할 수 있다. 즉, TV와 같은 대형 전자장치일 때와 모바일 등과 같은 소형 전자장치일 때 등에 따라 GUI가 다르게 표시될 수 있다. 일 예로, TV의 경우 시청 방해 등의 이유로 GUI를 표시하지 않거나, 표시위치를 시청에 방해되지 않는 위치로 표시할 수 있다. 혹은, 반대로 대형 전자장치의 특성상 GUI의 표시가 잘 눈에 띄지 않을 수 있으므로 모바일 등 소형 전자장치와 비교하여 크게 표시할 수 있다. 이와 같은 디스플레이(121) 화면 표시 설정은 사용자 편의를 위해 사용자가 설정할 수 있고, 기 설정되어 출시될 수 있다.
본 개시의 일 실시예에 따르면, 프로세서(180)의 음성인식 기능 수행 과정을 수신되는 오디오신호의 상태 변화와 GUI의 변화를 상호보완적(interactive)으로 연동하여 사용자에게 보여줌으로써 음성인식 동작에 대해 직관적인 이해가 가능하게 한다.
본 개시의 일 실시예에 따르면, GUI를 화면에 표시함으로써 사용자가 자신의 발화 입력 상태를 확인하면서 음성을 입력하도록 하여 정상적인 발화 입력을 유도하고, 사용자 편의를 증대한다.
100: 전자장치
110: 인터페이스부
120: 디스플레이부
130: 사용자입력부
140: 저장부
150: 마이크로폰
160: 스피커
170: 센서
180: 프로세서

Claims (20)

  1. 전자장치에 있어서,
    수신되는 오디오신호에 기초하여 시작명령어에 대응하는 제1구간을 식별하고,
    상기 식별된 제1구간 이전에 수신된 상기 오디오신호의 제2구간으로부터 식별된 잡음특성에 기초하여 상기 제1구간 이후에 수신되는 상기 오디오신호에 사용자 음성 입력에 대응하는 제3구간이 존재하는지 여부를 식별하고,
    상기 식별된 제3구간의 오디오신호에 기초하여 상기 사용자 음성 입력에 대응하는 동작을 수행하는
    프로세서를 포함하는 전자장치.
  2. 제1항에 있어서,
    저장부를 더 포함하고,
    상기 프로세서는,
    상기 수신되는 오디오신호의 상기 제1구간 및 상기 제2구간에 대응하는 시간 길이에 관련된 데이터를 상기 저장부에 저장하고,
    상기 저장된 데이터에 기초하여 상기 제1구간 및 상기 제2구간을 식별하는 전자장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    참조 오디오신호에 기초한 상기 제1구간의 기준 길이에 기초하여 상기 제1구간에 대응하는 시간 길이를 식별하는 전자장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    수신되는 상기 오디오신호에 기초하여 상기 잡음특성 또는 상기 제3구간의 존재여부를 프레임 단위로 식별하는 전자장치.
  5. 제1항에 있어서,
    상기 프로세서는, 상기 제1구간의 시작시점 이전으로 마진 시간을 포함하는 상기 제2구간을 식별하는 전자장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 식별된 잡음특성에 기초하여 상기 제1구간의 종료시점을 식별하고,
    상기 식별된 종료시점 이후로 수신되는 상기 오디오신호에 상기 제3구간이 존재하는지 여부를 식별하는 전자장치.
  7. 제6항에 있어서,
    상기 프로세서는,
    참조 오디오신호에 기초하여 상기 제1구간의 기준 길이를 식별하고,
    상기 식별된 기준 길이에 기초하여 상기 제1구간의 종료시점을 식별하는 전자장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    상기 제1구간에 기초하여 발화특성을 식별하고,
    상기 식별된 발화특성에 기초하여 상기 제3구간의 사용자 음성 입력에 대응하는 동작을 수행하는 전자장치.
  9. 제1항에 있어서,
    디스플레이를 더 포함하고,
    상기 프로세서는,
    상기 제1구간 이후로 수신되는 상기 오디오신호의 상태 변화에 대응하는 GUI(Graphic User Interface)를 상기 디스플레이에 표시되도록 제어하는 전자장치.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 오디오신호의 상태 변화에 기초하여 상기 오디오신호가 사용자 발화인지 또는 잡음인지 여부를 식별하고,
    상기 식별된 사용자 발화 또는 잡음에 따라 변화된 GUI를 상기 디스플레이에 표시되도록 제어하는 전자장치.
  11. 제9항에 있어서,
    상기 프로세서는,
    상기 제1구간의 종료시점 이후로 시간이 지남에 따라 변화된 GUI를 상기 디스플레이에 표시되도록 제어하는 전자장치.
  12. 전자장치의 제어방법에 있어서,
    수신되는 오디오신호에 기초하여 시작명령어에 대응하는 제1구간을 식별하는 단계;
    상기 식별된 제1구간 이전에 수신된 상기 오디오신호의 제2구간으로부터 식별된 잡음특성에 기초하여 상기 제1구간 이후에 수신되는 상기 오디오신호에 사용자 음성 입력에 대응하는 제3구간이 존재하는지 여부를 식별하는 단계; 및
    상기 식별된 제3구간의 오디오신호에 기초하여 상기 사용자 음성 입력에 대응하는 동작을 수행하는 단계를 포함하는 것을 특징으로 하는 전자장치의 제어방법.
  13. 제12항에 있어서,
    상기 수신되는 오디오신호의 상기 제1구간 및 상기 제2구간에 대응하는 시간 길이에 관련된 데이터를 저장하는 단계; 및
    상기 저장된 데이터에 기초하여 상기 제1구간 및 상기 제2구간을 식별하는 단계를 포함하는 전자장치의 제어방법.
  14. 3항에 있어서,
    상기 제1구간을 식별하는 단계는,
    참조 오디오신호에 기초한 상기 제1구간의 기준 길이에 기초하여 상기 제1구간에 대응하는 시간 길이를 식별하는 단계를 포함하는 전자장치의 제어방법.
  15. 제12항에 있어서,
    상기 제2구간을 식별하는 단계는,
    상기 제1구간의 시작시점 이전으로 마진 시간을 포함하는 상기 제2구간을 식별하는 단계를 포함하는 전자장치의 제어방법.
  16. 제12항에 있어서,
    상기 식별된 잡음특성에 기초하여 상기 제1구간의 종료시점을 식별하는 단계; 및
    상기 식별된 종료시점 이후로 수신되는 상기 오디오신호에 상기 제3구간이 존재하는지 여부를 식별하는 단계를 포함하는 전자장치의 제어방법.
  17. 제16항에 있어서,
    상기 제1구간의 종료시점을 식별하는 단계는,
    참조 오디오신호에 기초하여 상기 제1구간의 기준 길이를 식별하는 단계; 및
    상기 식별된 기준 길이에 기초하여 상기 제1구간의 종료시점을 식별하는 단계를 포함하는 전자장치의 제어방법.
  18. 제12항에 있어서,
    상기 제1구간 이후로 수신되는 상기 오디오신호의 상태 변화에 대응하는 GUI(Graphic User Interface)를 디스플레이에 표시하는 단계를 포함하는 전자장치의 제어방법.
  19. 제18항에 있어서,
    상기 GUI를 디스플레이에 표시하는 단계는,
    상기 오디오신호의 상태 변화에 기초하여 상기 오디오신호가 사용자 발화인지 또는 잡음인지 여부를 식별하는 단계; 및
    상기 식별된 사용자 발화 또는 잡음에 따라 변화된 GUI를 디스플레이에 표시하는 단계를 포함하는 전자장치의 제어방법.
  20. 컴퓨터가 읽을 수 있는 코드로서, 전자장치의 제어방법을 수행하는 코드를 포함하는 컴퓨터 프로그램이 저장된 기록매체에 있어서, 상기 전자장치의 제어방법은,
    수신되는 오디오신호에 기초하여 시작명령어에 대응하는 제1구간을 식별하는 단계;
    상기 식별된 제1구간 이전에 수신된 상기 오디오신호의 제2구간으로부터 식별된 잡음특성에 기초하여 상기 제1구간 이후에 수신되는 상기 오디오신호에 사용자 음성 입력에 대응하는 제3구간이 존재하는지 여부를 식별하는 단계; 및
    상기 식별된 제3구간의 오디오신호에 기초하여 상기 사용자 음성 입력에 대응하는 동작을 수행하는 단계를 포함하는 것을 특징으로 하는 컴퓨터가 읽을 수 있는 프로그램이 기록된 기록매체.
KR1020200160434A 2020-11-25 2020-11-25 전자장치 및 그 제어방법 KR20220072621A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200160434A KR20220072621A (ko) 2020-11-25 2020-11-25 전자장치 및 그 제어방법
PCT/KR2021/012885 WO2022114482A1 (ko) 2020-11-25 2021-09-17 전자장치 및 그 제어방법
US17/450,778 US20220165263A1 (en) 2020-11-25 2021-10-13 Electronic apparatus and method of controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200160434A KR20220072621A (ko) 2020-11-25 2020-11-25 전자장치 및 그 제어방법

Publications (1)

Publication Number Publication Date
KR20220072621A true KR20220072621A (ko) 2022-06-02

Family

ID=81754690

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200160434A KR20220072621A (ko) 2020-11-25 2020-11-25 전자장치 및 그 제어방법

Country Status (2)

Country Link
KR (1) KR20220072621A (ko)
WO (1) WO2022114482A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8798995B1 (en) * 2011-09-23 2014-08-05 Amazon Technologies, Inc. Key word determinations from voice data
KR102147329B1 (ko) * 2014-06-17 2020-08-24 엘지전자 주식회사 영상 표시 기기 및 그의 동작 방법
KR102515996B1 (ko) * 2016-08-26 2023-03-31 삼성전자주식회사 음성 인식을 위한 전자 장치 및 그 제어 방법
KR20190084789A (ko) * 2018-01-09 2019-07-17 엘지전자 주식회사 전자 장치 및 그 제어 방법
US20190295540A1 (en) * 2018-03-23 2019-09-26 Cirrus Logic International Semiconductor Ltd. Voice trigger validator

Also Published As

Publication number Publication date
WO2022114482A1 (ko) 2022-06-02

Similar Documents

Publication Publication Date Title
CN106463114B (zh) 信息处理设备、控制方法及程序存储单元
US20190019513A1 (en) Information processing device, information processing method, and program
KR102662558B1 (ko) 디스플레이 장치 및 디스플레이 장치의 제어 방법
KR20150112337A (ko) 디스플레이 장치 및 그 사용자 인터랙션 방법
KR102515023B1 (ko) 전자 장치 및 그 제어 방법
KR102369083B1 (ko) 음성 데이터 처리 방법 및 이를 지원하는 전자 장치
KR20190100095A (ko) 음성 처리 방법 및 음성 처리 장치
KR20200029314A (ko) 음소기반 화자모델 적응 방법 및 장치
US20220284906A1 (en) Electronic device and operation method for performing speech recognition
KR20200104773A (ko) 전자 장치 및 그 제어 방법
US20210158824A1 (en) Electronic device and method for controlling the same, and storage medium
US11942089B2 (en) Electronic apparatus for recognizing voice and method of controlling the same
KR20220072621A (ko) 전자장치 및 그 제어방법
US20210134302A1 (en) Electronic apparatus and method thereof
KR20200042627A (ko) 전자 장치 및 그 제어 방법
US20220165263A1 (en) Electronic apparatus and method of controlling the same
KR20210071664A (ko) 전자장치 및 그 제어방법
KR20220033325A (ko) 음성 인식을 위한 전자장치 및 그 제어방법
KR20210155505A (ko) 이동 가능한 전자장치 및 그 제어방법
KR20220057989A (ko) 전자장치 및 그 제어방법
US20220139413A1 (en) Electronic apparatus and method of controlling the same
KR20220083199A (ko) 전자장치 및 그 제어방법
US20210365232A1 (en) Electronic apparatus and control method thereof
KR102632388B1 (ko) 전자장치 및 그 제어방법
US20220139392A1 (en) Electronic apparatus and control method thereof

Legal Events

Date Code Title Description
A201 Request for examination