KR20210063698A - 전자장치와 그의 제어방법, 및 기록매체 - Google Patents

전자장치와 그의 제어방법, 및 기록매체 Download PDF

Info

Publication number
KR20210063698A
KR20210063698A KR1020190152132A KR20190152132A KR20210063698A KR 20210063698 A KR20210063698 A KR 20210063698A KR 1020190152132 A KR1020190152132 A KR 1020190152132A KR 20190152132 A KR20190152132 A KR 20190152132A KR 20210063698 A KR20210063698 A KR 20210063698A
Authority
KR
South Korea
Prior art keywords
user
voice
sound source
electronic device
signal
Prior art date
Application number
KR1020190152132A
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 KR1020190152132A priority Critical patent/KR20210063698A/ko
Priority to EP20209461.1A priority patent/EP3826009A1/en
Priority to US17/102,715 priority patent/US20210158824A1/en
Publication of KR20210063698A publication Critical patent/KR20210063698A/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
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0272Voice signal separating
    • 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/06Decision making techniques; Pattern matching strategies
    • 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/26Recognition of special voice characteristics, e.g. for use in lie detectors; Recognition of animal voices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • G06K9/00221
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • 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
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • 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/02Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
    • 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
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • G10L21/0232Processing in the frequency domain
    • 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/78Detection of presence or absence of voice signals
    • G10L25/87Detection of discrete points within a voice signal
    • 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
    • G10L2021/02082Noise filtering the noise being echo, reverberation of the speech
    • 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
    • G10L2025/783Detection of presence or absence of voice signals based on threshold decision
    • 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/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/06Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being correlation coefficients
    • 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/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/09Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being zero crossing rates
    • 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/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/21Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being power information

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

음성인식률 높일 수 있는 전자장치가 개시된다. 전자장치는 소리 수신부와, 상기 소리 수신부를 통해 수신되는 소리의 신호를 획득하고, 상기 획득된 소리의 신호를 복수의 음원신호로 분리하고, 상기 분리된 복수의 음원신호 각각의 신호특성을 검출하고, 상기 검출된 신호특성과, 사용자 발화 음성 간의 연관성에 관하여 미리 정의된 정보에 기초하여, 상기 복수의 음원신호 중 상기 사용자 발화 음성에 대응하는 음원신호에 식별하는 프로세서를 포함한다.

Description

전자장치와 그의 제어방법, 및 기록매체{ELECTRONIC DEVICE AND METHOD FOR CONTROLLING THE SAME, AND STORAGE MEDIUM}
본 발명은 사용자 발화 음성을 인식할 수 하는 전자장치와 그의 제어방법, 서버 및 기록매체에 관한 것이다.
음성인식을 기능을 가진 전자장치는 인식 대상의 사용자 발화 음성을 마이크를 통해 수신하고, 수신된 사용자 발화 음성에 대해 인식 동작을 수행할 수 있다. 원거리 음성인식은 사용자의 위치에 상관 없이 음성인식을 수행하고 처리하기 위해 다채널 마이크를 이용한다. 대부분의 원거리 음성인식 가능을 가진 전자장치는 2개이상의 마이크를 이용하여 소리 신호를 입력 받고, 소리 신호를 분리하는 기술을 채택하고 있다. 이때, 분리된 소리 신호에는 사용자 발화 음성 이외에, 주변의 예를 들면 TV, 오디오장치 등의 스피커에서 출력된 음성과 음향을 포함될 수 있다.
그러나, 음성 인식을 수행하는 전자장치는 주변에 다양한 주변기기들이 동시에 사용되는 환경에서 다채널 마이크를 원거리에서 사용하는 경우, 사용자의 발화 음성 이외의 다른 음성 및 음향신호들이 혼입되기 때문에, 사용자의 발화 음성만을 구분하기 어려울 뿐만 아니라, 음성 인식 성능이 저하되는 문제가 있다.
이러한 음성인식 성능에 영향을 미치는 사용자 음성 이외의 신호를 분류하기 위해서는 화자 인식 기술이 적용될 수 있다. 화자 인식 기술은 비교적 큰 연산량과 리소스 사용이 불가피하고, 화자 인식장치의 성능에 큰 영향을 받으며, 사용자의 개인 정보를 저장하고 이용해야 하는 문제점이 있다.
본 발명의 목적은, 상술한 종래의 문제를 해결하기 위한 것으로, 소리 신호로부터 사용자 발화 음성을 쉽게 구분하여 원거리 에서도 음성인식 성능을 향상시킬 수 있는 전자장치와 그의 제어방법, 및 컴퓨터 프로그램이 저장된 기록매체를 제공하는 데에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 전자장치가 제공된다. 전자장치는, 소리 수신부와, 상기 소리 수신부를 통해 수신되는 소리의 신호를 획득하고, 상기 획득된 소리의 신호를 복수의 음원신호로 분리하고, 상기 분리된 복수의 음원신호 각각의 신호특성을 검출하고, 상기 검출된 신호특성과, 사용자 발화 음성 간의 연관성에 관하여 미리 정의된 정보에 기초하여, 상기 복수의 음원신호 중 상기 사용자 발화 음성에 대응하는 음원신호를 식별하는 프로세서를 포함한다.
상기 신호특성은 음량을 포함할 수 있다.
상기 프로세서는 상기 음량이 변화하는 음원신호를 사용자 발화 음성으로 식별할 수 있다.
상기 프로세서는 상기 음량이 일정한 음원신호를 스피커가 출력한 스피커 출력 음성으로 식별할 수 있다.
상기 신호특성은 상기 복수 음원신호 각각의 lufs 또는 lkfs 값을 포함하며, 상기 프로세서는 상기 lufs 또는 lkfs 값의 변화율을 기초로 사용자 발화 음성을 식별할 수 있다.
상기 신호특성은 상기 복수 음원신호 각각의 ZCR(Zero Crossing Rate)과 음량을 포함하며, 상기 프로세서는 상기 ZCR이 제1임계값보다 낮고 음량이 제2임계값보다 큰 음원신호를 사용자 발화 음성으로 식별할 수 있다.
상기 신호특성은 VAD(voice activity detection)를 수행하여 검출한 음성의 끝점(EOS, End Of Speech) 정보를 포함하고, 상기 프로세서는 상기 복수 음원신호 중 음성 끝점이 검출된 음원신호를 사용자 발화 음성신호로 식별할 수 있다.
상기 전자장치는 상기 소리의 신호로부터 에코와 노이즈를 제거하는 전처리부를 더 포함할 수 있다.
상기 전자장치는 상기 사용자 발화 음성의 사용자를 감지하는 감지부를 더 포함할 수 있다.
상기 사용자 감지는 사용자 계정의 로그인, 음성 특성을 이용한 화자인식, 카메라 얼굴 인식, 또는 센서를 통한 사용자 감지 중 적어도 하나를 포함할 수 있다.
상기 프로세서는 복수의 사용자 발화 음성 각각에 대응하는 복수의 음원신호를 식별할 수 있다.
상기 전자장치는 사용자 발화 음성의 특성패턴을 저장하는 메모리를 더 포함하며, 상기 프로세서는 상기 저장된 사용자 발화 음성의 특성패턴을 기초로 상기 복수의 음원신호 중 사용자 발화 음성에 대응하는 음원신호를 식별할 수 있다.
상기 전자장치는 음성인식모델을 저장하는 메모리를 더 포함하며, 상기 프로세서는 상기 음성인식모델을 기초로 상기 식별된 사용자 발화 음성을 인식할 수 있다.
상기 프로세서는 상기 음성 인식에 사용된 사용자 발화 음성의 특성을 사용자 별로 저장할 수 있다.
상기 메모리는 상기 음성 인식에 사용된 사용자 발화 음성의 텍스트를 사용자 별로 저장하고, 상기 프로세서는 상기 저장된 사용자 별 사용자 발화 음성의 텍스트를 기초로 상기 복수의 음원신호 중에 사용자 발화 음성에 대응하는 음원신호를 식별할 수 있다.
상기 프로세서는 상기 식별된 사용자 발화 음성을 음성인식서버로 전송 할 수 있다.
본 발명의 실시예에 따른 전자장치의 제어방법이 제공된다. 전자장치의 제어방법은 상기 소리 수신부를 통해 수신되는 소리의 신호를 획득하는 단계와, 상기 획득된 소리의 신호를 복수의 음원신호로 분리하는 단계와, 상기 분리된 복수의 음원신호 각각의 신호특성을 검출하는 단계와, 상기 검출된 신호특성과, 사용자 발화 음성 간의 연관성에 관하여 미리 정의된 정보에 기초하여, 상기 복수의 음원신호 중 상기 사용자 발화 음성에 대응하는 음원신호를 식별하는 단계를 포함한다.
본 발명의 실시예에 따른 컴퓨터에 의해 실행되는 컴퓨터 프로그램이 저장되는, 컴퓨터 판독 가능 기록매체가 제공된다. 상기 컴퓨터 프로그램은 상기 획득된 소리의 신호를 복수의 음원신호로 분리하고, 상기 분리된 복수의 음원신호 각각의 신호특성을 검출하고, 상기 검출된 신호특성과, 사용자 발화 음성 간의 연관성에 관하여 미리 정의된 정보에 기초하여, 상기 복수의 음원신호 중 상기 사용자 발화 음성에 대응하는 음원신호를 식별하는 동작을 실행한다.
본 발명에 의한 전자장치는 소리신호를 복수의 음원신호로 분리한 후, 각 음원신호의 신호특성, 예를 들면 음량(lufs 또는 lkfs) 크기 변화, ZCR 고저, 음성 시작, 끝(BOS, EOS) 검출여부와 사용자 발화 음성 간의 연관성에 관하여 미리 정의된 정보를 기초로 간단하게 소리 신호 중에 포함된 사용자 발화 음성을 식별해 낼 수 있다.
결과적으로, 본 발명에 의한 전자장치는 다수의 음성이 혼입된 소리 신호 중에 사용자 발화 음성을 간단하게 식별해 냄으로써 원거리 음성인식 성능을 향상시킬 수 있다.
도 1은 본 발명의 제1실시예에 따른 전자장치의 음성인식 시나리오를 나타내는 모식도이다.
도 2는 도 1의 전자장치의 구성을 나타내는 블록도이다.
도 3은 본 발명의 제2실시예에 따른 전자장치의 구성을 나타내는 블록도이다.
도 4는 본 발명의 실시예에 따른 서버의 구성을 나타내는 블록도이다.
도 5는 본 발명의 실시예에 따른 전자장치에서 사용자 발화 음성을 인식 처리하는 구성을 나타내는 블록도이다.
도 6은 복수 음원으로부터 사용자 발화 음성을 식별하는 방법을 나타내는 순서도이다.
도 7은 본 발명의 다른 실시예에 따른 전자장치와 서버에 의한 음성인식 방법을 나타내는 블록도이다.
도 8은 사용자 발화 음성 및 주변장치에서의 출력되는 소리가 입력되는 시나리오를 나타낸 도면이다.
도 9는 본 발명의 제1실시예에 따른 음성인식방법을 나타내는 순서도이다.
도 10은 본 발명의 제2실시예에 따른 음성인식방법을 나타내는 순서도이다.
도 11은 본 발명의 제3실시예에 따른 음성인식방법을 나타내는 순서도이다.
도 12는 본 발명의 제4실시예에 따른 음성인식방법을 나타내는 순서도이다.
도 13은 본 발명의 제2실시예에 따른 전자장치의 음성인식 시나리오를 나타내는 모식도이다.
도 14는 도 13의 전자장치의 음성인식방법을 나타내는 순서도이다.
이하에서는 첨부 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 도면에서 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 구성요소를 지칭하며, 도면에서 각 구성요소의 크기는 설명의 명료성과 편의를 위해 과장되어 있을 수 있다. 다만, 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 이하의 실시예에 설명된 구성 또는 작용으로만 한정되지는 않는다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다.
본 문서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 발명의 실시예에서, 제1, 제2 등과 같이 서수를 포함하는 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
또한, 본 발명의 실시예에서 '상부', '하부', '좌측', '우측', '내측', '외측', '내면', '외면', '전방', '후방' 등의 용어는 도면을 기준으로 정의한 것이며, 이에 의해 각 구성요소의 형상이나 위치가 제한되는 것은 아니다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 서브 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서의 다양한 실시예들에 따른 전자장치(1)는, 음성 명령을 인식하는 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 전자장치(1)는, 예를 들면, 텔레비전, 블루 레이 플레이어, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스, 게임 콘솔, 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시예에서, 전자장치(1)는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), 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)를 사용하는 사람 또는 전자장치(1)를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1은 본 발명의 제1실시예에 따른 전자장치의 음성인식 시나리오를 나타내는 모식도이다. 전자장치(1)는 사용자가 발화한 음성을 인식하여 동작을 수행하는 AI스피커로 구현될 수 있다. 물론, 전자장치(1)는 AI스피커로만 한정되지 않고, 사용자가 발화한 음성 명령을 식별 및 인식할 수 있는 다양한 전자기기로 구현될 수 있다.
도 1을 참조하면, 전자장치(1)는 리모컨(2)에 의해 제어되고, 서버(3)에 네트워크로 연결될 수 있다. 전자장치(1)의 주변에는 TV와 같은 주변장치(4)가 배치될 수 있다. 물론, 주변장치(4)는 오디오장치, 노트북, 스마트폰, 청소기, 에어컨, 퍼스널 컴퓨터(PC) 등을 포함할 수 있다.
사용자 A는 전자장치(1)에 음성 질문 또는 명령을 발화할 수 있다. 이때, TV와 같은 주변장치(4)는 사용자 발화 음성(A)과 함께 스피커로 다른 음성을 출력할 수 있다.
전자장치(1)는 사용자 발화 음성(A) 및 주변장치(4)로부터 출력된 스피커 출력 음성(B) 및/또는 음향(C)이 혼합된 소리 신호(S)를 입력받아, 사용자 발화 음성(A)만을 식별하고, 인식하는 동작을 수행할 수 있다. 또한, 전자장치(1)는 인식된 사용자 발화 음성(A)에 따라 전자장치(1)를 제어하는 동작, 예컨대 질의에 대한 검색, 검색 결과 출력, IoT장치 제어 동작을 수행할 수 있다.
리모컨(2)은 전자장치(1)를 제어하는 IR신호 또는 획득한 소리 신호(S)를 전자장치(1)에 전달할 수 있다. 리모컨(2)은 자신이 수신한 소리 신호(S)를 그대로 전자장치(1)에 전달할 수 있다. 또는, 리모컨(2)은 자신이 수신한 소리 신호(S)로부터 사용자 발화 음성(A)만을 식별하여 전자장치(1)에 전달할 수도 있다. 또는, 리모컨(2)은 자신이 수신한 소리 신호(S)로부터 사용자 발화 음성(A)만을 식별하고 인식하여, 그 인식 결과를 전자장치(1)에 전달할 수도 있다.
서버(3)는 컨텐츠, 소리 신호(S)를 그대로, 또는 소리신호 중에서 식별된 사용자 발화 음성(A)만을 각 전자장치(1)로부터 수신할 수 있다. 서버(3)는 전자장치(1)가 제공하는 소리 신호(S)로부터 사용자 발화 음성(A)를 식별하고 인식하는 또는 수신된 사용자 발화 음성(A)을 인식하는 등의 서비스를 제공할 수 있다. 서버(3)는 각 서비스에 대하여 하나 이상의 서버로 구현될 수 있다.
도 2는 도 1의 전자장치(1)의 구성을 나타내는 블록도이다.
도 2를 참조하면, 전자장치(1)는 리모컨(2), 서버(3), 셋탑박스, 모바일장치 등 각종 외부기기로부터 예를 들면 영상, 음성 데이터를 수신 또는 송신할 수 있는 인터페이스부(11)를 포함할 수 있다. 인터페이스부(11) 는 각종 외부기기, 예를 들면 리모컨(2)이나 모바일장치로부터 간접적으로 소리를 수신할 수 있다.
인터페이스부(11)는 유선인터페이스부1~6과 무선인터페이스부1~3을 포함할 수 있다.
유선인터페이스부1은 방송신호를 수신하기 위한 지상파/위성방송 안테나 연결 튜너, 케이블 방송 케이블 연결 인터페이스 등을 포함할 수 있다.
유선인터페이스부2는 영상기기 연결을 위한 HDMI, DP, DVI, Component, S-Video, 컴포지트(RCA 단자) 등을 포함할 수 있다.
유선인터페이스부3은 범용 전자기기 연결을 위한 USB 인터페이스 등을 포함할 수 있다.
유선인터페이스부4는 광케이블 기기의 연결 인터페이스를 포함할 수 있다.
유선인터페이스부5는 헤드셋, 이어폰, 외부 스피커 등의 오디오기기 연결 인터페이스를 포함할 수 있다.
유선인터페이스부6은 이더넷 등 유선 네트워크 기기의 연결 인터페이스를 포함할 수 있다.
무선인터페이스부1은 Wi-fi, 블루투스, ZigBee, Z-wave, RFID, WiGig, WirelessHD, UWB(Ultra-Wide Band), Wireless USB, NFC(Near Field Communication) 등 무선 네트워크 기기의 연결 인터페이스를 포함할 수 있다.
무선인터페이스부2는 리모컨신호 송신 및/또는 수신을 위한 IR 송수신 모듈을 포함할 수 있다.
무선인터페이스3은 2G ~ 5G 등 이동통신기기 연결 인터페이스를 포함할 수 있다.
인터페이스부(11)는 모바일장치, 서버 각각에 대해 전용으로 통신을 수행하는 전용통신모듈을 포함할 수 있다.
인터페이스부(11)는 모바일장치, 서버 모두와 통신을 수행하는 공용통신모듈 등을 포함할 수 있다. 예를 들면 모바일장치와 서버는 모두 Wi-fi 모듈을 통해 통신을 수행할 수 있다.
인터페이스부(11)는 입력인터페이스부와 출력인터페이스부를 포함할 수도 있다. 이때, 입력인터페이스부와 출력인터페이스부는 하나의 모듈로 통합되거나 별도의 모듈로 구현될 수도 있다.
전자장치(1)는 직접적으로 소리를 수신하는 소리 수신부로서 제1마이크(12)를 포함할 수 있다.
제1마이크(12)는 사용자 발화 음성(A), 주변장치(4)에서 출력된 음성(B) 및/또는 음향(C), 그리고 기타 잡음이 혼합된 소리 신호(S)를 수신할 수 있다. 여기서, 사용자 발화 음성(A)은 전자장치(1) 또는 전자장치(1)에 유무선 네트워크로 연결된 장치, 예를 들면 IoT장치의 제어를 위한 다양한 음성 명령을 포함할 수 있다.
전자장치(1)는 주변의 사용자를 감지할 수 있는 감지부(13)를 포함할 수 있다.
감지부(13)는 영상을 촬영하는 카메라를 포함할 수 있다. 감지부(13)는 카메라에 의해 촬영된 사용자 영상을 획득할 수 있다. 감지부(13)는 다수의 사용자 발화 음성들이 수신된 경우에, 사용자의 주시 방향, 사용자의 얼굴, 사용자의 입모양 등의 정보를 참조하여 다수의 사용자 발화 음성들 중에서 진정한 사용자 발화 음성(A)을 선별할 수 있다.
감지부(13)는 적외선센서, 초음파센서 등을 포함할 수 있다. 감지부(13)는 적외선센서, 초음파센서 등을 통해 사용자를 감지하고, 입력되는 음성의 위치와 감지된 사용자의 위치의 일치 여부를 비교하여 사용자 발화 음성(A)를 식별할 수 있다. 사용자 감지는 사용자 계정의 로그인을 통해 이루어질 수도 있다.
전자장치(1)는 다양한 데이터를 저장할 수 있는 제1메모리(14)를 포함할 수 있다.
제1메모리(14)는 컴퓨터에 의해 판독 가능한 기록매체로서, 한정되지 않은 데이터가 저장된다. 제1메모리(14)는 제1프로세서(16)에 의해 액세스 되며, 이들에 의한 데이터의 독취, 기록, 수정, 삭제, 갱신 등이 수행된다.
제1메모리(14)는 리모컨(2), 서버(3), USB, 무선으로 연결된 모바일장치 등으로부터 인터페이스부(11)를 통해 수신된 각종 정보 및 컨텐츠를 저장할 수 있다.
제1메모리(14)에 저장되는 데이터는, 예를 들면 소리 신호(S)로부터 에코와, 잡음을 제거하고, 소리 신호(S)를 복수의 음원신호로 분리하고, 각 음원신호의 신호 특성을 검출하고, 복수의 음원신호 중 사용자 발화 음성(A)을 식별하고, 사용자 발화 음성(A)을 인식하는 동작을 수행하는 음성인식모듈(음성인식엔진)을 포함할 수 있다.
음성인식모듈은 전자장치(1)에서 배제될 수 있다. 이때, 수신된 소리 신호(S)는 서버(음성인식서버)(3)로 전송될 수 있다.
서버(음성인식서버)(3)는 소리 신호(S)로부터 사용자 발화 음성(A)을 식별하고, 사용자 발화 음성(A) 관련 데이터를 적절한 텍스트로 변환하는 기능만을 가진 STT(Speech To Text)서버이거나 STT서버 기능도 함께 수행하는 메인 서버일 수도 있다. STT서버는 음성 인식 결과 데이터를 전자장치(1)에 다시 전송하거나 다른 서버로 바로 전송할 수도 있다.
전자장치(1)와 서버(3)는 예컨대 에코와 잡음을 제거하는 전처리 기능, 다수의 음원 분리 기능, 각 음원의 신호 특성 검출 기능, 및 사용자 발화 음성(A) 식별 기능, 식별된 사용자 발화 음성(A)의 인식 기능을 각각 단독 또는 나누어 수행할 수도 있다.
제1메모리(14)는 운영체제, 운영체제 상에서 실행 가능한 다양한 애플리케이션, 영상데이터, 부가데이터 등을 포함할 수 있다.
제1메모리(14)는 제어프로그램이 설치되는 비휘발성의 메모리, 설치된 제어프로그램의 적어도 일부가 로드되는 휘발성의 메모리를 포함한다.
제1메모리(14)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory) 자기메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
전자장치(1)는 영상을 표시하거나 음성을 출력하는 출력부(15)를 포함할 수 있다.
출력부(15)는 처리된 영상신호에 기초하여 영상을 표시하는 디스플레이 또는 처리된 음성신호에 기초하여 음성을 출력하는 스피커를 포함할 수 있다.
디스플레이는 사용자 발화 음성(A)을 인식한 후, 사용자의 답변, 질의 또는 명령을 해석하여 동작을 수행한 결과를 영상 또는 UI로 출력할 수 있다.
디스플레이의 구현 방식은 한정되지 않는 바, 액정(liquid crystal), 플라즈마(plasma), 발광 다이오드(light-emitting diode), 유기발광 다이오드(organic light-emitting diode), 면전도 전자총(surface-conduction electron-emitter), 탄소 나노 튜브(carbon nano-tube), 나노 크리스탈(nano-crystal) 등의 다양한 디스플레이 패널로 구현될 수 있다.
디스플레이는 구현 방식에 따라서 부가적인 구성을 추가적으로 포함할 수 있다. 예를 들면, 디스플레이는 LCD 패널, LCD패널을 구동시키는 LCD패널구동부, 및 LCD 패널에 광을 공급하는 백라이트 유닛을 포함할 수 있다.
스피커는 사용자 발화 음성(A)을 인식한 후, 사용자의 답변, 질의 또는 명령을 해석하여 동작을 수행한 결과를 음성으로 출력할 수 있다.
전자장치(1)는 각 구성 부품을 제어하는 제1프로세서(16)를 포함할 수 있다.
제1프로세서(16)는 제1메모리(14)에 저장된 음성인식모듈을 실행하여, 인터페이스부(11) 또는 제1마이크(12)를 이용하여 획득한 소리 신호(S)로부터 에코와 잡음을 제거하고, 소리 신호(S)에서 독립벡터 분석을 기반으로 복수의 음원신호로 분리하고, 각 음원신호의 신호특성을 검출하고, 검출된 신호특성과 사용자 발화 음성 간의 연관성에 관하여 미리 정의된 정보에 기초하여 복수의 음원신호 중 사용자 발화 음성(A)을 식별하고, 사용자 발화 음성(A)에 포함된 사용자 답변, 질의 또는 명령을 인식하고, 사용자 답변, 질의 또는 명령에 따라 동작을 수행할 수 있다.
복수의 음원신호 분리는 제1마이크(12)와 블라인드 소스 분리(BSS, Blind Source Separation) 기술을 이용하여 각 채널 별로 음원신호 분리를 수행할 수 있다.
각 음원신호의 신호특성은 일정 구간의 음량(lufs, lkfs), ZCR (Zero Crossing Rate)와 평균음량의 크기, 음성 세그먼트의 시작(begin of speech, BOS)과 끝(end of speech, EOS) 정보를 포함할 수 있다.
사용자 발화 음성(A)의 식별을 위한, 검출된 신호특성과 사용자 발화 음성 간의 연관성은 다음과 같이 미리 정의될 수 있다.
첫째, 음성은 ZCR이 낮고 평균음량이 크기 때문에, 다수의 음원 신호 중 ZCR이 제1임계값보다 낮고 평균음량이 제2임계값보다 큰 음원 신호를 사용자 발화 음성(A)으로 선택하고 비음성에 해당하는 음원 신호들을 배제할 수 있다.
ZCR은 신호가 양(+)에서 음(-)으로, 또는 음(-)에서 양(+)으로 변하는 비율을 의미하며, 다음 식 1과 같이 정의될 수 있다.
Figure pat00001
여기서, S는 길이 T의 신호이고, Ⅱ(StSt-1<0)은 지시함수이다. 따라서, 현재 샘플신호(St)의 신호값과 이전 샘플신호(St-1)의 신호값을 곱했을 때 음이면, 1을 반환하고, 0 또는 양이면 0을 반환할 수 있다. 결과적으로, 신호의 길이만큼 이와 같은 연산을 수행하여 더하면, 0을 교차하는 횟수를 구할 수 있다.
ZCR의 제1임계값은 소정의 프레임 구간 내의 음원신호가 0을 교차하는 횟수로 설정될 수 있다.
평균음량의 제2임계값은 소정의 프레임 구간 내에서 음원신호의 평균음량의 크기(dB)로 설정될 수 있다.
여기서, ZCR의 제1임계값과 평균음량의 제2임계값은 각종 음원신호에 대한 반복적으로 측정된 ZCR과 평균음량을 수집, 분석 및 학습으로 설정될 수 있다.
표 1은 복수의 음원신호(A~C)의 ZCR과 평균음량을 기 설정된 제1, 제2임계값 초과여부를 확인하는 조건 1을 적용하여 사용자 발화 음성을 추출하는 예를 나타낸 것이다. 표 1과 같이, 사용자 발화 음성은 복수의 음원신호 A~C 중 제2 조건을 만족하는 음원신호A에 대응함을 알 수 있다.
음원신호 ZCR<제1임계값? 평균음량>제2임계값? 출력
음원신호 A
(사용자 발화 음성)
O O O
음원신호 B(스피커 출력 음성) O X X
음원신호 C(스피커 출력 음악) X 0 X
둘째, 스피커에서 출력되는 음원은 갑자기 소리가 작아지거나 커지는 불편을 없애기 위해 음량을 평준화하기 때문에, 임의의 음량 컨트롤이 없는 경우, 일정 구간의 음량, 예컨대 lufs(loudness unit relative to full scale) 또는 lkfs(loudness KWeighted relative to full scale)의 크기가 일정하게 유지되는 채널의 음원신호를 스피커 출력 음성으로 식별할 수 있다. 반면에, 사용자 발화 음성(A)은 일정 구간의 음량(lufs 또는 lkfs)의 크기가 일정하게 유지되지 않는다. 여기서, 음량(lufs 또는 lkfs)의 변화 정도를 나타내는 제3임계값은 일정 구간에서 평균 음량(lufs 또는 lkfs)을 초과 또는 미만의 음량들의 총합으로 설정할 수 있다.
표 2는 복수의 음원신호들(A~C) 중에 일정 구간의 음량(lufs 또는 lkfs)의 크기가 일정한지 불균등한지를 확인하는 조건 2를 적용하여 사용자 발화 음성을 추출하는 예를 나타낸 것이다. 표 2에 나타낸 바와 같이, 사용자 발화 음성은 복수의 음원신호 A~C 중 제2조건을 만족하는 음원신호A에 대응함을 알 수 있다.
음원신호 음량(lufs) 불균등? 출력
음원신호 A
(사용자 발화 음성)
O O
음원신호 B(스피커 출력 음성) X X
음원신호 C(스피커 출력 음악) X X
셋째, 주변장치(4)의 스피커에서 나온 스피커 출력 음성은 사용 발화 음성(A)과 달리 비교적 긴 시간 출력되어, BOS(Begin Of Speech)와 EOS(End Of Speech)의 검출이 안되고 발화가 계속 유지되기 때문에, BOS와 EOS가 검출된 음원신호를 사용자 발화 음성(A)으로 선택할 수 있다.
표 3은 복수의 음원신호들(A~C) 중에 일정 구간에서 BOS와 EOS의 검출여부를 확인하는 조건 3을 적용하여 사용자 발화 음성을 추출하는 예를 나타낸 것이다. 표 3에 나타낸 바와 같이, 사용자 발화 음성은 복수의 음원신호 A~C 중 제3조건을 만족하는 음원신호A에 대응함을 알 수 있다.
음원신호 BOS 검출? EOS 검출? 출력
음원신호 A
(사용자 발화 음성)
O O O
음원신호 B(스피커 출력 음성) X X X
음원신호 C(스피커 출력 음악) X X X
사용자 발화 음성(A)의 식별은 상술한 3가지 조건 중 2 이상 조합으로 수행될 수 있다.
표 4는 상술한 제1 조건과 제2조건을 조합하여 사용자 발화 음성을 추출하는 예를 나타낸 것이다. 포 4에 나타낸 바와 같이, 사용자 발화 음성은 복수의 음원신호 A~C 중 제1 및 제2조건을 모두 만족하는 음원신호A에 대응함을 알 수 있다.
음원신호 조건 1
ZCR<제1임계값 &
평균음량>제2임계값?
조건 2
음량(lufs) 불균등?
출력
음원신호 A
(사용자 발화 음성)
O O O
음원신호 B(스피커 출력 음성) O X X
음원신호 C(스피커 출력 음악) X O X
표 5는 상술한 제2 조건과 제3조건을 조합하여 사용자 발화 음성을 추출하는 예를 나타낸 것이다. 표 5에 나타낸 바와 같이, 사용자 발화 음성은 복수의 음원신호 A~C 중 제2 및 제3조건을 모두 만족하는 음원신호A에 대응함을 알 수 있다.
음원신호 조건 2
음량(lufs) 불균등?
조건 3
BOS & EOS 검출?
출력
음원신호 A
(사용자 발화 음성)
O O O
음원신호 B(스피커 출력 음성) O X X
음원신호 C(스피커 출력 음악) X O X
표 6은 상술한 제1 내지 제3조건을 모두 조합하여 사용자 발화 음성을 추출하는 예를 나타낸 것이다. 표 6에 나타낸 바와 같이, 사용자 발화 음성은 복수의 음원신호 A~C 중 제1 내지 제3조건을 모두 만족하는 음원신호A에 대응함을 알 수 있다.
음원신호 조건 1
ZCR<제1임계값 &
평균음량>제2임계값?
조건 2
음량(lufs)불균등?
조건 3
BOS & EOS 검출?
출력
음원신호 A
(사용자 발화 음성)
O O O O
음원신호 B(스피커 출력 음성) O X O X
음원신호 C(스피커 출력 음악) X O X X
사용자 발화 음성(A)의 인식은 자연어 이해(Natural Language Understanding, NLU), 자연어 생성(Natural Language Generation, NLG), 텍스트-문장 변환(Text-to-Sentence), 사용자 답변, 질의 또는 명령 인식 과정을 포함할 수 있다.
사용자 답변, 질의 또는 명령 인식은 사전에 음성 인식에 관련된 데이터를 수집, 처리, 분석 및 학습하여 생성된 음성인식모델을 기초로 이루어질 수 있다.
음성인식모델은 데이터 처리와 모델 생성에 의해 데이터 수집, 가공 및 이를 이용하는 음성 인식에 필요한 각종 모델 학습 과정이 수행될 수 있다. 데이터 처리는 데이터를 수집하고, 선별하고, 가공하여 음성 코퍼스, 단어 발음에 관한 정보 및 문장 코퍼스를 생성할 수 있다. 그리고 모델 생성은 데이터 처리된 정보들을 이용하여 음향 모델링, 발음 모델링 및 언어 모델링을 수행하여, 음소 적응모델, 발음 사전 모델 및 언어 모델이 각각 생성될 수 있다.
특히, 제1프로세서(16)는 음성인식모델을 생성하기 위한 데이터를 수집하고, 수집된 데이터를 분석, 처리, 및 결과 정보 생성 중 적어도 일부를 규칙 기반 또는 인공지능(Artificial Intelligence) 알고리즘으로서 기계학습, 신경망 네트워크(neural network), 또는 딥러닝 알고리즘 중 적어도 하나를 이용하여 수행할 수 있다.
일 예로, 제1프로세서(16)는 학습부 및 인식부의 기능을 수행할 수 있다. 학습부는, 예를 들면, 학습된 신경망 네트워크를 생성하는 기능을 수행하고, 인식부는 학습된 신경망 네트워크를 이용하여 데이터를 인식(또는, 추론, 예측, 추정, 판단)하는 기능을 수행할 수 있다. 학습부는 신경망 네트워크를 생성하거나 갱신할 수 있다. 학습부는 신경망 네트워크를 생성하기 위해서 학습 데이터를 획득할 수 있다. 예를 들면, 학습부는 학습 데이터를 제1메모리(14) 또는 외부로부터 획득할 수 있다. 학습 데이터는, 신경망 네트워크의 학습을 위해 이용되는 데이터일 수 있다.
학습부는 학습 데이터를 이용하여 신경망 네트워크를 학습시키기 전에, 획득된 학습 데이터에 대하여 전처리 작업을 수행하거나, 또는 복수 개의 학습 데이터들 중에서 학습에 이용될 데이터를 선별할 수 있다. 예를 들면, 학습부는 학습 데이터를 기 설정된 포맷으로 가공하거나, 필터링하거나, 또는 노이즈를 추가/제거하여 학습에 적절한 데이터의 형태로 가공할 수 있다. 학습된 신경망 네트워크는, 복수의 신경망 네트워크(또는, 레이어)들로 구성될 수 있다. 복수의 신경망 네트워크의 노드들은 가중치를 가지며, 복수의 신경망 네트워크들은 일 신경망 네트워크의 출력 값이 다른 신경망 네트워크의 입력 값으로 이용되도록 서로 연결될 수 있다. 신경망 네트워크의 예로는, 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)과 같은 모델을 포함할 수 있다.
한편 인식부는 사용자 발화 음성으로부터 사용자 답변, 질의 또는 명령 내용 인식하기 위해, 타겟 데이터를 획득할 수 있다. 타겟 데이터는 제1메모리(14) 또는 외부로부터 획득된 것일 수 있다. 타겟 데이터는, 신경망 네트워크의 인식 대상이 되는 데이터일 수 있다. 인식부는 타겟 데이터를 학습된 신경망 네트워크에 적용하기 전에, 획득된 타겟 데이터에 대하여 전처리 작업을 수행하거나, 또는 복수 개의 타겟 데이터들 중에서 인식에 이용될 데이터를 선별할 수 있다. 예를 들면, 인식부는 타겟 데이터를 기 설정된 포맷으로 가공하거나, 필터링 하거나, 또는 노이즈를 추가/제거하여 인식에 적절한 데이터의 형태로 가공할 수 있다. 인식부는 전처리된 타겟 데이터를 신경망 네트워크에 적용함으로써, 신경망 네트워크로부터 출력되는 출력값을 획득할 수 있다. 다양한 실시예에 따르면, 인식부는 출력값과 함께 학률값(또는, 신뢰도값)을 함께 획득할 수 있다.
제1프로세서(16)는 제어프로그램이 설치된 비휘발성의 메모리로부터 제어프로그램의 적어도 일부를 휘발성의 메모리로 로드하고, 로드된 제어프로그램을 실행하는 적어도 하나의 범용 프로세서를 포함하며, 예를 들면 CPU(Central Processing Unit), AP(application processor), 또는 마이크로프로세서(microprocessor)로 구현될 수 있다.
제1프로세서(16)는 싱글 코어, 듀얼 코어, 트리플 코어, 쿼드 코어 및 그 배수의 코어를 포함할 수 있다. 제1프로세서(16)는 복수 개 마련될 수 있다. 제1프로세서(16)는 예를 들어, 메인 프로세서(main processor) 및 슬립 모드(sleep mode, 예를 들어, 대기 전원만 공급되는 모드)에서 동작하는 서브 프로세서(sub processor)를 포함할 수 있다. 또한, 프로세서, 롬 및 램은 내부 버스(bus)를 통해 상호 연결된다.
제1프로세서(16)는 전자장치(1)에 내장되는 PCB 상에 실장되는 메인 SoC(Main SoC)에 포함되는 형태로서 구현 가능하다. 다른 실시예에서 메인 SoC는 영상처리부를 더 포함할 수 있다.
제어프로그램은, BIOS, 디바이스드라이버, 운영체계, 펌웨어, 플랫폼 및 응용프로그램(어플리케이션) 중 적어도 하나의 형태로 구현되는 프로그램(들)을 포함할 수 있다. 응용프로그램은, 전자장치(1)의 제조 시에 미리 설치 또는 저장되거나, 혹은 추후 사용 시에 외부로부터 응용프로그램의 데이터를 수신하여 수신된 데이터에 기초하여 설치될 수 있다. 응용 프로그램의 데이터는, 예컨대, 어플리케이션 마켓과 같은 외부 서버로부터 전자장치(1)로 다운로드될 수도 있다. 이와 같은 외부 서버는, 컴퓨터프로그램제품의 일례이나, 이에 한정되는 것은 아니다.
리모컨(2)은 사용자입력부(22), 제2마이크(24), 제1통신부(26) 및 제2프로세서(28)를 포함할 수 있다.
리모컨(2)은 IR신호만을 기반으로 2비트 제어정보를 전송하는 IR리모컨, 또는 예를 들면 버튼, 음성, 터치, 드래그 등으로 입력된 사용자입력 정보를 IR신호, 블루투수신호, Wi-fi 신호 등으로 전송하는 통합리모컨(MBR), 또는 리모컨 앱(app)이 설치된 스마트폰 등의 모바일단말기 등으로 구현될 수 있다.
사용자입력부(22)는 각종 기능키 버튼을 통한 버튼입력, 터치센서를 통한 터치 또는 드래그 입력, 제2마이크(24)을 통한 음성입력, 동작감지센서를 통한 모션입력 등을 수신할 수 있다.
제2마이크(24)는 소리 신호(S)를 수신할 수 있다. 이와 같이, 수신된 소리 신호는 아날로그 신호를 디지털신호로 변환되어, 제1통신부(26), 예를 들면 블루투수통신 모듈, Wi-fi 통신 모듈, 적외선통신 모듈 등을 통해 제어대상, 예를 들면 전자장치(1)로 전송될 수 있다. 만일 리모컨(2)이 음성인식기능을 가진 스마트폰과 같은 모바일단말기로 구현되는 경우, 입력된 음성입력은 음성인식을 통해 인식된 제어신호 형태로 전자장치(1)에 전송될 수도 있다.
제2마이크(24)로 수신된 아날로그 소리 신호는 디지털신호로 변환되어 예를 들면 블루투스 등을 통해 전자장치(1)로 전송될 수 있다.
제1통신부(26)는 제2마이크(24)로부터 입력된 아날로그 소리 신호를 디지털 소리신호로 전자장치(1)에 전송할 수 있다.
제1통신부(26)는 무선 통신을 수행하기 위해, IR, RF(Radio Frequency), Wi-fi, 블루투스, 지그비(Zigbee), UWB(Ultra-Wide Band), Wireless USB, NFC(Near Field Communication) 중 하나 이상의 통신을 수행하도록 구성될 수 있다.
제2프로세서(28)는 리모컨(2)의 각 구성 부품을 제어할 수 있다. 제2프로세서(28)는 버튼입력, 터치입력, 드래그입력, 모션입력에 대응한 제어명령을 제1통신부(26)를 통해 전자장치(1)로 전송할 수 있다.
제2프로세서(28)는 제2마이크(24)를 통해 입력된 아날로그 소리신호를 디지털 소리신호로 변환하여 제1통신부(26)를 통해 전자장치(1)로 전송할 수 있다. 제2프로세서(28)는 리모컨(2)이 음성인식 기능을 가진 경우에 입력된 음성신호를 인식하여 대응하는 명령 또는 질의 텍스트를 제1통신부(26)를 통해 전자장치(1)로 전송할 수 있다.
도 3은 본 발명의 제2실시예에 따른 전자장치(1)의 구성을 나타내는 블록도이다. 제2실시예에 따른 전자장치(1)는 음성인식을 수행한 결과에 따른 음성 또는 영상컨텐츠 또는 제어신호를 외부장치(6)로 출력할 수 있다. 예를 들면, 전자장치(1)는 디스플레이 장치로 영상을, 오디오 장치로 오디오를, IoT장치로 제어신호를 출력해 줄 수 있다.
물론, 제2실시예에 따른 전자장치(1)는 간단한 알림, 제어 메뉴 등을 표시하기 위한 디스플레이부를 포함할 수도 있다.
제2실시예에 따른 전자장치(1)는 도 2에 나타낸 제1실시예에 따른 전자장치와 다르게, 음성인식을 수행한 결과에 따른 음성, 영상, 또는 제어신호를 인터페이스부(11)에 연결된 외부장치(6)에 전송할 수 있다.
도 4는 본 발명의 실시예에 따른 서버(3)의 구성을 나타내는 블록도이다.
서버(3)는 음성인식서버 또는 컨텐츠 서버일 수 있다. 서버(3)는 음성인식 서버와 컨텐츠 서버를 모두 포함할 수 있다.
서버(3)는 외부기기와 네트워크 통신을 수행하여 각종 데이터를 송수신하는 제2통신부(31)를 포함할 수 있다.
제2통신부(31)는 다수의 전자장치(1-1~1-n)와 네트워크 통신을 수행한다. 전자장치(1-1~1-n)는 소리 신호로부터 사용자 발화 음성을 식별하는 기능 조차도 없을 경우, 소리 신호 자체를 서버(3)에 전송할 수 있다. 전자장치(1-1~1-n)는 소리 신호로부터 사용자 발화 음성을 식별하는 기능이 있고 인식 기능이 없을 경우, 식별된 사용자 발화 음성을 서버(3)에 전송할 수 있다.
제2통신부(31)는 다수의 전자장치(1-1~1-n) 각각이 사용자 발화 음성을 인식할 때에 사용된 음성인식모델을 수신할 수도 있다.
제2통신부(31)는 제3프로세서(36)의 제어 하에 수집, 학습 및 생성된 음성인식모델을 등을 전자장치(1-1~1-n)에 전송 또는 업데이트할 수 있다.
제2통신부(31)는 전자장치(1-1~1-n) 중에 음성인식을 위해 소리 신호 또는 사용자 발화 음성 신호를 전송한 전자장치(1)에 음성인식 결과를 전송할 수 있다.
제2통신부(31)는 예컨대, 다수의 전자장치(1-1~1-n)와 무선 통신을 수행하기 위해 RF(Radio Frequency)신호를 송/수신하는 RF회로를 포함할 수 있으며, Wi-fi, 블루투스, 지그비(Zigbee), UWB(Ultra-Wide Band), Wireless USB, NFC(Near Field Communication) 중 하나 이상의 통신을 수행하도록 구성될 수 있다. 제2통신부(31)는 유선 LAN(Local Area Network)을 통해 다수의 전자장치(1-1~1-n) 그리고 다른 장치들과 유선 통신을 수행할 수 있다. 유선 접속을 위한 커넥터 또는 단자를 포함하는 접속부 이외에도 다양한 다른 통신 방식으로 구현될 수 있다.
서버(3)는 한정되지 않는 다양한 데이터들을 저장할 수 있는 제2메모리(33)를 포함할 수 있다.
제2메모리(33)는 서버(3)가 음성인식서버인 경우에 음성인식모듈(음성인식엔진)이 저장될 수 있다.
음성인식모듈(음성인식엔진)은 예컨대 에코와 잡음을 제거하는 전처리 기능, 다수의 음원 분리 기능, 각 음원의 신호 특성 검출 기능, 및 사용자 발화 음성(A) 식별 기능, 식별된 사용자 발화 음성(A)의 인식 기능을 모두 또는 사용자 발화 음성(A)의 인식 기능만을 수행할 도 있다.
서버(3)는 각 구성부품들을 제어하는 제3프로세서(26)를 포함할 수 있다.
제3프로세서(36)는 제2메모리(33)에 저장된 음성인식모듈(음성인식엔진) 및 음성인식모델을 기초로 사용자 발화 음성을 인식할 수 있다.
제3프로세서(36)는 사전에 음성 인식에 관련된 데이터를 수집, 처리, 분석 및 학습하여 음성인식모델을 생성할 수 있다.
음성인식모델은 데이터 처리와 모델 생성에 의해 데이터 수집, 가공 및 이를 이용하는 음성 인식에 필요한 각종 모델 학습 과정을 통해 생성될 수 있다. 데이터 처리는 데이터를 수집하고, 선별하고, 가공하여 음성 코퍼스, 단어 발음에 관한 정보 및 문장 코퍼스를 생성할 수 있다. 그리고 모델 생성은 데이터 처리된 정보들을 이용하여 음향 모델링, 발음 모델링 및 언어 모델링을 수행하여, 음소 적응모델, 발음 사전 모델 및 언어 모델이 각각 생성될 수 있다.
제3프로세서(36)는 음성인식모델을 생성하여 전자장치(1-1~1-n)에 배포할 수 있다.
도 5는 본 발명의 실시예에 따른 전자장치(1)에서 사용자 발화 음성을 인식 및 보정 처리하는 구성을 나타내는 블록도이고, 도 6은 사용자 발화 음성을 인식 및 보정하는 방법을 나타내는 순서도이다.
도 5를 참조하면, 전자장치(1)는 다채널 소리신호 입력모듈(101), 전처리모듈(102), 사용자 발화 음성 식별모듈(103), 음성인식모듈(104), 및 동작실행모듈(105)을 포함할 수 있다.
다채널 소리신호 입력모듈(101)은 제1마이크(12)를 이용하여 또는 제3의 장치를 경유하여 소리 신호를 입력 받는다. 소리 신호는 인식하고자 하는 사용자 발화음성, 주변의 스피커 출력 음성과 음향, 악기나 물체에서 나는 음향, 노이즈, 에코 등 다양한 음원신호들이 혼합될 수 있다.
전처리모듈(102)은 소리신호에 포함된 음원신호들 중에 노이즈 및 에코를 제거할 수 있다. 전처리모듈(102)은 노이즈필터 및 음향 에코 제거기(Acoustic Echo Suppression)를 포함할 수 있다.
노이즈필터는 잡음원 센서 및 라인제거기를 이용하여 노이즈를 제거할 수 있다. 잡음원 센서는 가속도 센서 및 진동 센서를 포함할 수 있다. 라인제거기는 이전 신호를 선형 조합하여 이후 신호를 예측하는 선형 예측(Linear Prediction)을 이용하여 노이즈를 제거할 수 있다.
음향 에코 제거기(Acoustic Echo Suppression)는 스피커 출력신호를 마이크 입력신호와 비교한 다음 마이크 입력신호에서 스피커 출력신호를 추출하는 방식으로, 스피커 사운드가 마이크 입력 에 다시 제공되어 반향으로 전송되는 것을 방지할 수 있다.
사용자 발화 음성 식별모듈(103)은 도 6에 나타낸 바와 같은 방법으로 복수의 음원신호 중 사용자 발화 음성을 식별할 수 있다.
단계 S11에서, 사용자 발화 음성 식별모듈(103)은 노이즈 및 에코가 제거된 소리신호를 블라인드 소스 세퍼레이션(blind source separation, BSS) 기술을 이용하여 복수의 음원신호로 분리할 수 있다.
단계 S12에서, 사용자 발화 음성 식별모듈(103)은 분리된 복수 음원신호의 각각에 대해 신호특성을 검출할 수 있다. 신호특성은 사용자 발화 음성을 식별하는데 유용한 소정 구간의 음량(lufs, lkfs), ZCR (Zero Crossing Rate)와 평균음량의 크기, 음성 세그먼트의 시작(begin of speech, BOS)과 끝(end of speech, EOS) 정보를 포함할 수 있다. 음성 세그먼트의 시작(BOS)과 끝(EOS)은 VAD(voice activity detection)에 의해 검출될 수 있다.
단계 S13에서, 사용자 발화 음성 식별모듈(103)은 검출된 신호특성과 사용자 발화 음성 간의 미리 정의된 연관성 정보를 기초로 사용자 발화 음성에 대응하는 음원신호를 식별할 수 있다.
음성인식모듈(104)은 음성인식모델을 기초로 식별된 사용자 발화 음성에 함유된 사용자 답변, 질의 또는 명령을 인식할 수 있다.
사용자 발화 음성(A)의 인식은 자연어 이해(Natural Language Understanding, NLU), 자연어 생성(Natural Language Generation, NLG), 텍스트-문장 변환(Text-to-Sentence), 사용자 답변, 질의 또는 명령 인식 과정을 포함할 수 있다.
음성인식모델은 사전에 음성 인식에 관련된 데이터를 수집, 처리, 분석 및 학습하여 생성될 수 있다.
음성인식모델은 데이터 처리와 모델 생성에 의해 데이터 수집, 가공 및 이를 이용하는 음성 인식에 필요한 각종 모델 학습 과정이 수행될 수 있다. 데이터 처리는 데이터를 수집하고, 선별하고, 가공하여 음성 코퍼스, 단어 발음에 관한 정보 및 문장 코퍼스를 생성할 수 있다. 그리고 모델 생성은 데이터 처리된 정보들을 이용하여 음향 모델링, 발음 모델링 및 언어 모델링을 수행하여, 음소 적응모델, 발음 사전 모델 및 언어 모델이 각각 생성될 수 있다.
동작실행모듈(105)은 인식된 사용자 발화 음성에 상응하는 사용자 답변, 질의 또는 명령에 따라 동작을 수행할 수 있다. 예컨대, 사용자의 답변, 질의 또는 명령은 검색, 전자장치(1)의 자체 제어, 네트워크로 연결된 IoT장치 제어 등을 포함할 수 있다.
도 7은 본 발명의 다른 실시예에 따른 전자장치(1)와 서버(3)에 의한 음성인식 방법을 나타내는 블록도이다. 음성인식모듈은 음성인식률을 높이기 위해서 대규모의 데이터베이스(DB)가 요구되기 때문에, 성능이 낮은 소형의 전자장치(1)가 음성인식기능을 갖기 어려울 수도 있다.
도 7을 참조하면, 전자장치(1)는 다채널 소리신호 입력모듈(101), 전처리모듈(102), 사용자 발화 음성 식별모듈(103), 및 동작실행모듈(105)을 포함하고, 서버(3)는 음성인식모듈(304)을 포함할 수 있다. 각 모듈에 대한 설명은 도 5 및 6을 참조한 설명과 유사하므로 생략한다.
서버(3)는 음성인식모듈(304)에 의해 식별된 사용자 발화 음성의 사용자 답변, 질의 또는 명령을 인식한 후에, 그 인식 결과를 전자장치(1)의 동작실행부(105)로 전송할 수 있다.
다른 실시예로서, 사용자 발화 음성 식별모듈(103)은 전자장치(1)에서 배제되고 서버(3)에 마련될 수도 있다.
다른 실시예로서, 인식된 사용자 답변, 질의 또는 명령을 실행하는 주체는 전자장치(1)가 아닌 서버(3) 또는 제3의 장치일 수도 있다.
도 8은 사용자 발화 음성 및 주변장치(4)에서의 음성(음향) 출력의 시나리오를 나타낸 도면이다.
도 8을 참조하면, AI스피커(1)는 사용자A가 노래를 출력하는 AI스피커(1)에게 "소리 좀 높여"라는 음성명령 발화를 수신하고, 드라마를 방영하는 TV(4-1)에서 등장인물이 "소리 좀 낮춰"라고 출력한 대사를 수신하고, 주변의 청소기(4-2)로부터 발생된 "노이즈"를 수신할 수 있다. 결과적으로, AI스피커(1)는 사용자(A)의 발화 음성명령인 "소리 좀 높여", TV(4-1)의 출력 대사인 "소리 좀 낮춰", 및 청소기(4-2)의 "노이즈"를 동시에 수신할 경우 청소기의 "노이즈"와 TV의 출력 대사 "소리 좀 낮춰"를 배제하고 사용자A가 발화한 음성만을 식별하여 동작을 실행할 수 있다.
도 9는 본 발명의 제1실시예에 따른 음성인식방법을 나타내는 순서도이다.
단계 S21에서, 다채널 소리신호 입력모듈(101)은 제1마이크(12)를 이용하여 또는 제3의 장치를 경유하여 소리 신호를 입력 받는다. 소리 신호는 인식하고자 하는 사용자 발화음성, 주변의 스피커 출력 음성과 음향, 악기나 물체에서 나는 음향, 노이즈, 에코 등 다양한 음원신호들이 혼합될 수 있다.
단계 S22에서, 전처리모듈(102)은 소리신호에 포함된 음원신호들 중에 노이즈 및 에코를 제거할 수 있다.
단계 S23에서, 사용자 발화 음성 식별모듈(103)은 노이즈 및 에코가 제거된 소리신호를 블라인드 소스 세퍼레이션(blind source separation, BSS) 기술을 이용하여 복수의 음원신호로 분리할 수 있다.
단계 S24에서, 사용자 발화 음성 식별모듈(103)은 분리된 복수 음원신호의 각각에 대해 음량(lufs, lkfs)을 검출할 수 있다.
단계 S25에서, 사용자 발화 음성 식별모듈(103)은 각 음원신호의 일정구간의 음량(lufs, lkfs)의 크기의 변화율이 제3임계값 이하이면 스피커에서 출력한 음성으로 판단하고, 변화율이 제3임계값보다 높으면 사용자 발화 음성으로 판단할 수 있다.
단계 S26에서, 음성인식모듈(104)은 음성인식모델을 기초로 식별 사용자 발화 음성에 함유된 사용자 답변, 질의 또는 명령을 인식할 수 있다.
도 10은 본 발명의 제2실시예에 따른 음성인식방법을 나타내는 순서도이다.
단계 S31에서, 다채널 소리신호 입력모듈(101)은 제1마이크(12)를 이용하여 또는 제3의 장치를 경유하여 소리 신호를 입력 받는다. 소리 신호는 인식하고자 하는 사용자 발화음성, 주변의 스피커 출력 음성과 음향, 악기나 물체에서 나는 음향, 노이즈, 에코 등 다양한 음원신호들이 혼합될 수 있다.
단계 S32에서, 전처리모듈(102)은 소리신호에 포함된 음원신호들 중에 노이즈 및 에코를 제거할 수 있다.
단계 S33에서, 사용자 발화 음성 식별모듈(103)은 노이즈 및 에코가 제거된 소리신호를 블라인드 소스 세퍼레이션(blind source separation, BSS) 기술을 이용하여 복수의 음원신호로 분리할 수 있다.
단계 S34에서, 사용자 발화 음성 식별모듈(103)은 분리된 복수 음원신호의 각각에 대해 ZCR(Zero-crossing rate)과 평균음량을 검출할 수 있다.
단계 S35에서, 사용자 발화 음성 식별모듈(103)은 각 음원신호의 검출된 ZCR이 제1임계값보다 낮고 평균음량이 제2임계값보다 높으면 사용자 발화 음성으로 판단하고, ZCR이 높고 평균음량이 낮으면 스피커에서 출력한 음성으로 판단할 수 있다.
단계 S36에서, 음성인식모듈(104)은 음성인식모델을 기초로 식별 사용자 발화 음성에 함유된 사용자 답변, 질의 또는 명령을 인식할 수 있다.
도 11은 본 발명의 제3실시예에 따른 음성인식방법을 나타내는 순서도이다.
단계 S41에서, 다채널 소리신호 입력모듈(101)은 제1마이크(12)를 이용하여 또는 제3의 장치를 경유하여 소리 신호를 입력 받는다. 소리 신호는 인식하고자 하는 사용자 발화음성, 주변의 스피커 출력 음성과 음향, 악기나 물체에서 나는 음향, 노이즈, 에코 등 다양한 음원신호들이 혼합될 수 있다.
단계 S42에서, 전처리모듈(102)은 소리신호에 포함된 음원신호들 중에 노이즈 및 에코를 제거할 수 있다.
단계 S43에서, 사용자 발화 음성 식별모듈(103)은 노이즈 및 에코가 제거된 소리신호를 블라인드 소스 세퍼레이션(blind source separation, BSS) 기술을 이용하여 복수의 음원신호로 분리할 수 있다.
단계 S44에서, 사용자 발화 음성 식별모듈(103)은 분리된 복수 음원신호의 각각에 대해 VAD(Voice activity detection)에 의해 음성 세그먼트의 시작(begin of speech, BOS)과 끝(end of speech, EOS)을 검출할 수 있다.
단계 S45에서, 사용자 발화 음성 식별모듈(103)은 각 음원신호의 음성 세그먼트의 시작(BOS)과 끝(EOS)이 검출되는지를 판단할 수 있다. 음성 세그먼트의 시작(BOS)과 끝(EOS)이 검출되면 사용자 발화 음성으로 판단하고, 음성 세그먼트의 시작(BOS)과 끝(EOS)이 검출되지 않으면 스피커에서 출력한 음성으로 판단할 수 있다.
단계 S46에서, 음성인식모듈(104)은 음성인식모델을 기초로 식별 사용자 발화 음성에 함유된 사용자 답변, 질의 또는 명령을 인식할 수 있다.
도 12는 본 발명의 제4실시예에 따른 음성인식방법을 나타내는 순서도이다.
단계 S51에서, 다채널 소리신호 입력모듈(101)은 마이크를 이용하여 또는 제3의 장치를 경유하여 소리 신호를 입력 받는다. 소리 신호는 인식하고자 하는 사용자 발화음성, 주변의 스피커 출력 음성과 음향, 악기나 물체에서 나는 음향, 노이즈, 에코 등 다양한 음원신호들이 혼합될 수 있다.
단계 S52에서, 전처리모듈(102)은 소리신호에 포함된 음원신호들 중에 노이즈 및 에코를 제거할 수 있다.
단계 S53에서, 사용자 발화 음성 식별모듈(103)은 노이즈 및 에코가 제거된 소리신호를 블라인드 소스 세퍼레이션(blind source separation, BSS) 기술을 이용하여 복수의 음원신호로 분리할 수 있다.
단계 S54에서, 사용자 발화 음성 식별모듈(103)은 분리된 복수 음원신호의 각각에 대해 ZCR(Zero-crossing rate)과 평균음량, 음량(lufs, lkfs), VAD(Voice activity detection)에 의해 음성 세그먼트의 시작(begin of speech, BOS)과 끝(end of speech, EOS)을 검출할 수 있다.
단계 S55에서, 사용자 발화 음성 식별모듈(103)은 ZCR이 제1임계값 이상이고 평균음량이 제2임계값 이하이면 스피커에서 출력한 음성으로 판단하고, ZCR이 제1임계값보다 낮고 평균음량이 제2임계값보다 높으면 사용자 발화 음성으로 판단하여 단계 S56을 수행할 수 있다.
단계 S56에서, 사용자 발화 음성 식별모듈(103)은 일정 구간의 음량(lufs, lkfs)의 크기의 변화율이 제3임계값 이하이면 스피커에서 출력한 음성으로 판단하고, 변화율이 제3임계값보다 높으면 사용자 발화 음성으로 판단하여, 단계 S57을 수행할 수 있다.
단계 S57에서, 사용자 발화 음성 식별모듈(103)은 음성 세그먼트의 시작(BOS)과 끝(EOS)이 검출되는지를 판단할 수 있다. 사용자 발화 음성 식별모듈(103)은 음성 세그먼트의 시작(BOS)과 끝(EOS)이 검출된 음원신호를 최종적으로 사용자 발화 음성으로 판단할 수 있다.
단계 S58에서, 음성인식모듈(104)은 음성인식모델을 기초로 식별 사용자 발화 음성에 함유된 사용자 답변, 질의 또는 명령을 인식할 수 있다.
도 13은 본 발명의 제2실시예에 따른 전자장치(1)의 음성인식 시나리오를 나타내는 모식도이다.
도 13을 참조하면, 전자장치(1)는 서버(3)에 네트워크로 연결될 수 있다. 전자장치(1)의 주변에는 TV(4)와 같은 주변장치(4)가 배치될 수 있다.
사용자 A1은 전자장치(1)에 대해 음성 질문 또는 명령을 발화하던 중에, TV와 같은 주변장치(4)가 스피커 출력 음성(B)을 출력하고, 다른 사용자 A2 및 A3이 각각 사용자 발화 음성(A2)와 사용자 발화 음성(A3)으로 대화할 수 있다. 따라서, 전자장치(1)는 복수의 사용자 발화 음성(A1, A2, A3) 및 주변장치(4)로부터 출력된 스피커 출력 음성(B) 및/또는 음향(C), 노이즈, 에코 등이 혼합된 소리 신호(S)를 입력 받을 수 있다.
도 14는 도 13의 전자장치(1)의 음성인식방법을 나타내는 순서도이다.
단계 S61에서, 다채널 소리신호 입력모듈(101)은 마이크를 이용하여 또는 제3의 장치를 경유하여 소리 신호(S)를 입력 받는다. 소리 신호(S)는 인식하고자 하는 사용자 발화 음성(A1), 주변의 사용자 대화 음성(A2, A3), 주변의 스피커 출력 음성(B)과 음향(C), 악기나 물체에서 나는 음향(D), 노이즈(N), 에코(E) 등 다양한 음원신호들이 혼합될 수 있다.
단계 S62에서, 전처리모듈(102)은 소리신호에 포함된 음원신호들 중에 노이즈(N) 및 에코(E)를 제거할 수 있다.
단계 S63에서, 사용자 발화 음성 식별모듈(103)은 노이즈 및 에코가 제거된 소리신호를 블라인드 소스 세퍼레이션(blind source separation, BSS) 기술을 이용하여 복수의 음원신호, 즉 사용자 발화 음성(A1), 주변의 사용자 대화 음성(A2), 주변의 사용자 대화 음성(A3), 주변의 스피커 출력 음성(B)과 음향(C), 악기나 물체에서 나는 음향(D)으로 분리할 수 있다.
단계 S64에서, 사용자 발화 음성 식별모듈(103)은 분리된 복수 음원신호의 각각에 대해 ZCR(Zero-crossing rate)과 평균음량, 음량(lufs, lkfs), VAD(Voice activity detection)에 의해 음성 세그먼트의 시작(begin of speech, BOS)과 끝(end of speech, EOS)을 검출할 수 있다.
단계 S65에서, 사용자 발화 음성 식별모듈(103)은 ZCR(Zero-crossing rate)과 평균음량, 음량(lufs, lkfs), VAD(Voice activity detection)에 의해 음성 세그먼트의 시작(begin of speech, BOS)과 끝(end of speech, EOS)을 단독 또는 조합으로 적용하여 복수의 사용자 발화 음성(A1, A2, A3)을 식별할 수 있다.
단계 S66에서, 사용자 발화 음성 식별모듈(103)은 복수의 사용자 발화 음성(A1, A2, A3) 중에 사용자 발화 음성(A1)을 식별할 수 있다.
복수의 사용자 발화 음성(A1, A2, A3) 중에 사용자 발화 음성(A1)을 식별하는 방법은 감지부(12), 예를 들면 카메라, 적외선 센서, 초음파 센서 등을 활용하여 사용자 발화 음성(A1)을 식별할 수 있다. 예를 들면, 감지부(12)는 3명의 사용자(A1, A2, A3)를 카메라로 촬영한 후 사용자의 얼굴 인식, 주시 방향 인식, 그리고 입모양 인식 등을 통해 2명의 사용자(A2, A3)를 배제할 수 있다.
복수의 사용자 발화 음성(A1, A2, A3) 중에 사용자 발화 음성(A1)을 식별하는 방법은 사용자 식별모델 및 사용자 등록이나 사용자 계정의 로그인을 기초로 사용자 발화 음성(A1)을 식별할 수 있다. 사용자 식별모델은 미리 사용자를 등록 또는 사용자 계정의 로그인하여 사용자 고유의 음성 특성패턴을 미리 저장할 수 있다. 예를 들면, 식별된 복수의 사용자 발화 음성(A1, A2, A3)의 사용자들(A1, A2, A3) 중에 사용자들(A1)만 등록 또는 로그인되고 다른 사용자(A2, A3)는 미등록인 경우 등록 또는 로그인 된 사용자들(A1)의 음성 특성패턴에 대응하는 사용자 발화 음성(A1)을 우선적으로 선택할 수 있다.
만일, 식별된 복수의 사용자 발화 음성(A1, A2, A3)의 사용자들(A1, A2, A3) 모두 등록 등록 또는 로그인 된 경우, 다음단계 S67의 음성인식 과정에서 모두 인식한 후, 사용자 발화 음성(A1, A2, A3) 각각의 텍스트를 참조하여, 사용자의 답변, 질의 또는 명령 형식 맞는 사용자 발화 음성(A1)을 선택할 수 있다.
만일, 사용자 발화 음성(A1, A2, A3) 각각의 텍스트 중 2 이상이 사용자의 답변, 질의 또는 명령 형식에 적합하면 사용자가 선택할 수 있도록 선택 UI를 디스플레이에 표시하거나 스피커로 음성 출력할 수 있다. 이 경우에, 전자장치(1)는 "1)검색 요청과 2)볼륨업 요청이 인식되었습니다 원하시는 요청을 선택하여 주시기 바랍니다"라는 메시지를 표시 또는 음성 출력할 수 있다.
만일, 사용자 발화 음성(A1, A2, A3) 각각의 텍스트가 모두 사용자의 답변, 질의 또는 명령 형식에 적합하지 않으면 추가적인 동작을 실행하지 않을 수 있다.
또한, 복수의 사용자 발화 음성(A1, A2, A3) 중에 사용자 발화 음성(A1)을 식별하는 방법은 이전의 음성인식에 사용된 데이터를 기초로 한 사용자 식별모델을 이용할 수 있다. 사용자 식별모델은 이전에 인식 결과로부터 복수의 사용자 발화 패턴, 예를 들면 문장, 어휘, 말투 등을 사용자 별로 수집, 가공, 분석, 및 학습을 통해 생성될 수 있다.
단계 S67에서, 음성인식모듈(105)은 복수의 사용자 발화 음성(A1, A2, A3) 중에 식별된 사용자 발화 음성(A1)의 인식을 수행할 수 있다.
본 발명의 실시예에 따른, 사용자 발화 음성(A)을 식별하는 사용자 식별 모듈들은 컴퓨터 판독 가능 기록매체로서 제1메모리(14)에 저장된 컴퓨터프로그램제품 또는 네트워크통신으로 송수신되는 컴퓨터프로그램 제품으로 구현될 수 있다. 또한, 상술한 사용자 식별 모듈들은 단독 또는 통합되어 컴퓨터프로그램으로 구현될 수 있다.
본 발명의 실시예에 따른 컴퓨터 프로그램은 상기 획득된 소리의 신호를 복수의 음원신호로 분리하고, 상기 분리된 복수의 음원신호 각각의 신호특성을 검출하고, 상기 검출된 신호특성과, 사용자 발화 음성 간의 연관성에 관하여 미리 정의된 정보에 기초하여, 상기 복수의 음원신호 중 상기 사용자 발화 음성에 대응하는 음원신호를 식별하는 동작을 실행할 수 있다.
1: 전자장치
11: 인터페이스부
12: 제1마이크
13: 감지부
14: 제1메모리
15: 출력부
16: 제1프로세서
2: 리모컨
22: 사용자입력부
24: 제2마이크
26: 제1통신부
28: 제2프로세서
3: 서버
31: 제2통신부
33: 제2메모리
36: 제3프로세서
4: 주변장치
101: 다채널 소리신호 입력모듈
102: 전처리모듈
103: 사용자 발화 음성 식별모듈
104, 304: 음성인식모듈
105: 동작실행모듈

Claims (20)

  1. 전자장치에 있어서,
    소리 수신부와;
    상기 소리 수신부를 통해
    상기 획득된 소리의 신호를 복수의 음원신호로 분리하고,
    상기 분리된 복수의 음원신호 각각의 신호특성과, 사용자 발화 음성 간의 연관성에 관하여 미리 정의된 정보에 기초하여, 상기 복수의 음원신호 중 상기 사용자 발화 음성에 대응하는 음원신호를 식별하는,
    프로세서를 포함하는 전자장치.
  2. 제1항에 있어서,
    상기 신호특성은 음량을 포함하는 전자장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 음량이 변화하는 음원신호를 사용자 발화 음성으로 식별하는 전자장치.
  4. 제2항에 있어서,
    상기 프로세서는,
    상기 음량이 일정한 음원신호를 스피커가 출력한 스피커 출력 음성으로 식별하는 전자장치.
  5. 제1항에 있어서,
    상기 신호특성은 상기 복수 음원신호 각각의 lufs 또는 lkfs 값을 포함하며,
    상기 프로세서는,
    상기 lufs 또는 lkfs 값의 변화율을 기초로 사용자 발화 음성을 식별하는 하는 전자장치.
  6. 제5항에 있어서,
    상기 신호특성은 상기 복수 음원신호 각각의 ZCR(Zero Crossing Rate)과 평균음량을 포함하며,
    상기 프로세서는,
    상기 ZCR이 제1임계값보다 낮고 상기 평균음량이 제2임계값보다 큰 음원신호를 사용자 발화 음성으로 식별하는 전자장치.
  7. 제1항에 있어서,
    상기 신호특성은 상기 복수 음원신호 각각의 ZCR(Zero Crossing Rate)과 평균음량을 포함하며,
    상기 프로세서는,
    상기 ZCR이 제1임계값보다 낮고 상기 평균음량이 제2임계값보다 큰 음원신호를 사용자 발화 음성으로 식별하는 전자장치.
  8. 제6항에 있어서,
    상기 신호특성은 VAD(voice activity detection)에 의한 음성의 시작(BOS, begin Of Speech) 및 음성의 끝(EOS, End Of Speech) 정보를 포함하고,
    상기 프로세서는,
    상기 복수 음원신호 중 음성 시작 및 끝이 검출된 음원신호를 사용자 발화 음성신호로 식별하는 전자장치.
  9. 제1항에 있어서,
    상기 신호특성은 VAD(voice activity detection)에 의한 음성의 시작(BOS, begin Of Speech) 및 음성의 끝(EOS, End Of Speech) 정보를 포함하고,
    상기 프로세서는,
    상기 복수 음원신호 중 음성의 시작 및 끝이 검출된 음원신호를 사용자 발화 음성신호로 식별하는 전자장치.
  10. 제1항에 있어서,
    상기 소리의 신호로부터 에코와 노이즈를 제거하는 전처리부를 더 포함하는 전자장치.
  11. 제1항에 있어서,
    상기 사용자 발화 음성의 사용자를 감지하는 감지부를 더 포함하는 전자장치.
  12. 제11항에 있어서,
    상기 사용자 감지는
    사용자 계정의 로그인, 음성 특성을 이용한 화자인식, 카메라 얼굴 인식, 또는 센서를 통한 사용자 감지 중 적어도 하나를 포함하는 전자장치.
  13. 제1항에 있어서,
    상기 프로세서는,
    복수의 사용자 발화 음성 각각에 대응하는 복수의 음원신호를 식별하는 전자장치.
  14. 제13항에 있어서,
    사용자 발화 음성의 특성패턴을 저장하는 메모리를 더 포함하며,
    상기 프로세서는,
    상기 저장된 사용자 발화 음성의 특성패턴을 기초로 상기 복수의 음원신호 중 사용자 발화 음성에 대응하는 음원신호를 식별하는 전자장치.
  15. 제1항에 있어서,
    음성인식모델을 저장하는 메모리를 더 포함하며,
    상기 프로세서는,
    상기 음성인식모델을 기초로 상기 식별된 사용자 발화 음성을 인식하는 전자장치.
  16. 제15항에 있어서,
    상기 프로세서는,
    상기 음성 인식에 사용된 사용자 발화 음성의 특성을 사용자 별로 저장하는 전자장치.
  17. 제15항에 있어서,
    상기 메모리는,
    상기 음성 인식에 사용된 사용자 발화 음성의 텍스트를 사용자 별로 저장하고,
    상기 프로세서는,
    상기 저장된 사용자 별 사용자 발화 음성의 텍스트를 기초로 상기 복수의 음원신호 중에 사용자 발화 음성에 대응하는 음원신호를 식별하는 전자장치.
  18. 제1항에 있어서,
    상기 프로세서는,
    상기 식별된 사용자 발화 음성을 음성인식서버로 전송하는 전자장치.
  19. 전자장치의 제어방법에 있어서,
    상기 소리 수신부를 통해 획득된 소리의 신호를 복수의 음원신호로 분리하는 단계와;
    상기 분리된 복수의 음원신호 각각의 신호특성 신호특성과, 사용자 발화 음성 간의 연관성에 관하여 미리 정의된 정보에 기초하여, 상기 복수의 음원신호 중 상기 사용자 발화 음성에 대응하는 음원신호를 식별하는 단계를 포함하는 전자장치의 제어방법.
  20. 컴퓨터에 의해 실행되는 컴퓨터 프로그램이 저장되는, 컴퓨터 판독 가능 기록매체에 있어서,
    상기 컴퓨터 프로그램은,
    소리의 신호를 복수의 음원신호로 분리하고,
    상기 분리된 복수의 음원신호 각각의 신호특성과, 사용자 발화 음성 간의 연관성에 관하여 미리 정의된 정보에 기초하여, 상기 복수의 음원신호 중 상기 사용자 발화 음성에 대응하는 음원신호를 식별하는 동작을 실행하는,
    컴퓨터 판독가능 기록매체.
KR1020190152132A 2019-11-25 2019-11-25 전자장치와 그의 제어방법, 및 기록매체 KR20210063698A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190152132A KR20210063698A (ko) 2019-11-25 2019-11-25 전자장치와 그의 제어방법, 및 기록매체
EP20209461.1A EP3826009A1 (en) 2019-11-25 2020-11-24 Electronic device and method for controlling the same, and storage medium
US17/102,715 US20210158824A1 (en) 2019-11-25 2020-11-24 Electronic device and method for controlling the same, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190152132A KR20210063698A (ko) 2019-11-25 2019-11-25 전자장치와 그의 제어방법, 및 기록매체

Publications (1)

Publication Number Publication Date
KR20210063698A true KR20210063698A (ko) 2021-06-02

Family

ID=73554306

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190152132A KR20210063698A (ko) 2019-11-25 2019-11-25 전자장치와 그의 제어방법, 및 기록매체

Country Status (3)

Country Link
US (1) US20210158824A1 (ko)
EP (1) EP3826009A1 (ko)
KR (1) KR20210063698A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023229166A1 (ko) * 2022-05-23 2023-11-30 삼성전자주식회사 전자 장치 및 그 제어 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102516391B1 (ko) * 2022-09-02 2023-04-03 주식회사 액션파워 음성 구간 길이를 고려하여 오디오에서 음성 구간을 검출하는 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8249867B2 (en) * 2007-12-11 2012-08-21 Electronics And Telecommunications Research Institute Microphone array based speech recognition system and target speech extracting method of the system
KR101178801B1 (ko) * 2008-12-09 2012-08-31 한국전자통신연구원 음원분리 및 음원식별을 이용한 음성인식 장치 및 방법
JP5318172B2 (ja) * 2011-09-30 2013-10-16 株式会社東芝 電子機器およびプログラム
WO2016114403A1 (ja) * 2015-01-16 2016-07-21 株式会社Nttドコモ 通信端末装置、発呼制御方法、及びプログラム
KR102562287B1 (ko) * 2016-10-14 2023-08-02 삼성전자주식회사 전자 장치 및 전자 장치의 오디오 신호 처리 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023229166A1 (ko) * 2022-05-23 2023-11-30 삼성전자주식회사 전자 장치 및 그 제어 방법

Also Published As

Publication number Publication date
EP3826009A1 (en) 2021-05-26
US20210158824A1 (en) 2021-05-27

Similar Documents

Publication Publication Date Title
CN109243432B (zh) 话音处理方法以及支持该话音处理方法的电子设备
KR102371313B1 (ko) 사용자 발화를 처리하는 전자 장치 및 그 전자 장치의 제어 방법
KR102375800B1 (ko) 음성 인식 서비스를 제공하는 전자 장치 및 그 방법
KR102346026B1 (ko) 전자 장치 및 이의 제어 방법
US20190019509A1 (en) Voice data processing method and electronic device for supporting the same
KR102369083B1 (ko) 음성 데이터 처리 방법 및 이를 지원하는 전자 장치
KR102391298B1 (ko) 음성 인식 서비스를 제공하는 전자 장치 및 그 방법
KR20190009101A (ko) 음성 인식 서비스 운용 방법, 이를 지원하는 전자 장치 및 서버
KR102563817B1 (ko) 사용자 음성 입력 처리 방법 및 이를 지원하는 전자 장치
CN111754998A (zh) 人工智能设备以及操作人工智能设备的方法
US11763690B2 (en) Electronic apparatus and controlling method thereof
KR20190096308A (ko) 전자기기
EP3826009A1 (en) Electronic device and method for controlling the same, and storage medium
KR20210044475A (ko) 대명사가 가리키는 객체 판단 방법 및 장치
US11830501B2 (en) Electronic device and operation method for performing speech recognition
CN112384974A (zh) 电子装置和用于提供或获得用于训练电子装置的数据的方法
US20210337274A1 (en) Artificial intelligence apparatus and method for providing visual information
CN108174030B (zh) 定制化语音控制的实现方法、移动终端及可读存储介质
US11735167B2 (en) Electronic device and method for controlling the same, and storage medium
EP4325484A1 (en) Electronic device and control method thereof
CN112912954B (zh) 电子装置及其控制方法
KR20200092763A (ko) 사용자 음성을 처리하는 전자장치 및 그 제어 방법
KR20230043562A (ko) 전자 장치 및 그 제어 방법
KR20210094727A (ko) 전자 장치 및 이의 제어 방법
KR20220072621A (ko) 전자장치 및 그 제어방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal