KR20200107707A - Registration method and apparatus for speaker recognition - Google Patents

Registration method and apparatus for speaker recognition Download PDF

Info

Publication number
KR20200107707A
KR20200107707A KR1020190051557A KR20190051557A KR20200107707A KR 20200107707 A KR20200107707 A KR 20200107707A KR 1020190051557 A KR1020190051557 A KR 1020190051557A KR 20190051557 A KR20190051557 A KR 20190051557A KR 20200107707 A KR20200107707 A KR 20200107707A
Authority
KR
South Korea
Prior art keywords
speaker
feature vector
signal
registration
noise
Prior art date
Application number
KR1020190051557A
Other languages
Korean (ko)
Inventor
박성언
김규홍
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US16/781,176 priority Critical patent/US11289098B2/en
Priority to CN202010111275.8A priority patent/CN111667839A/en
Priority to EP20161160.5A priority patent/EP3706117B1/en
Publication of KR20200107707A publication Critical patent/KR20200107707A/en

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/04Training, enrolment or model building
    • 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/18Artificial neural networks; Connectionist approaches
    • 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/20Pattern transformations or operations aimed at increasing system robustness, e.g. against channel noise or different working conditions
    • 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/02Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Telephonic Communication Services (AREA)

Abstract

Disclosed are a registration method and device for speaker recognition. The registration method for speaker recognition according to one embodiment of the present invention comprises the steps of: receiving a voice signal of a speaker; synthesizing a noise signal to the voice signal; generating a feature vector based on the synthesized signal of the voice signal and the noise signal; and building a registration database corresponding to the speaker based on the feature vector.

Description

화자 인식을 위한 등록 방법 및 장치{REGISTRATION METHOD AND APPARATUS FOR SPEAKER RECOGNITION}Registration method and device for speaker recognition {REGISTRATION METHOD AND APPARATUS FOR SPEAKER RECOGNITION}

아래 실시예들은 화자 인식(speaker recognition)을 위한 등록 방법 및 장치에 관한 것이다.The following embodiments relate to a registration method and apparatus for speaker recognition.

화자 인식 기술은 화자의 음성을 통하여 신원을 확인하는 기술로, 모임, 컨퍼런스, 대화 내의 신원 확인 등 다양한 분야에 적용될 수 있다. 화자 인식 시스템은 특히 보안을 목적으로 자동차, 빌딩, 은행 계좌 등으로의 접근 제어를 위한 활용도 가능하여 그 개발의 필요성이 많이 대두되고 있다. 화자의 음성으로 화자를 인증하기 위해서 노이즈에 강인한 대응이 필요하고, 한정된 화자의 음성 정보를 최대한 활용하기 위한 방법이 필요하다.Speaker recognition technology is a technology that verifies the identity through the speaker's voice, and can be applied to various fields such as identification in meetings, conferences, and conversations. The speaker recognition system can also be used for controlling access to automobiles, buildings, bank accounts, etc. for security purposes, and the need for development thereof has emerged. In order to authenticate a speaker with the speaker's voice, a strong response to noise is required, and a method is needed to make the most of the limited speaker's voice information.

일 실시예에 따른 화자 인식(speaker recognition)을 위한 등록 방법은 화자의 음성 신호를 수신하는 단계; 상기 음성 신호에 노이즈 신호를 합성하는 단계; 상기 음성 신호 및 상기 노이즈 신호의 합성 신호에 기초하여 특징 벡터를 생성하는 단계; 및 상기 특징 벡터에 기초하여 상기 화자에 대응하는 등록 데이터베이스를 구축(construct)하는 단계를 포함한다.A registration method for speaker recognition according to an embodiment includes the steps of receiving a speech signal of a speaker; Synthesizing a noise signal to the speech signal; Generating a feature vector based on a synthesized signal of the speech signal and the noise signal; And constructing a registration database corresponding to the speaker based on the feature vector.

일 실시예에 따른 등록 방법은 상기 음성 신호에 기초하여 제2 특징 벡터를 생성하는 단계를 더 포함하고, 상기 등록 데이터베이스를 구축하는 단계는 상기 특징 벡터 및 상기 제2 특징 벡터 중 적어도 하나에 기초하여 상기 등록 데이터베이스를 구축하는 단계를 포함할 수 있다.The registration method according to an embodiment further comprises generating a second feature vector based on the voice signal, and the step of constructing the registration database is based on at least one of the feature vector and the second feature vector. It may include the step of building the registration database.

상기 특징 벡터를 생성하는 단계는 상기 합성 신호를 도메인 변환하는 단계; 및 상기 도메인 변환된 결과로부터 상기 특징 벡터를 추출하는 단계를 포함할 수 있다.Generating the feature vector may include domain transforming the synthesized signal; And extracting the feature vector from the domain-transformed result.

상기 합성하는 단계는 상기 음성 신호에 상가성 노이즈(additive noise) 신호를 더하는 단계를 포함할 수 있다.The synthesizing may include adding an additive noise signal to the speech signal.

상기 합성하는 단계는 상기 음성 신호 및 채널 노이즈(channel noise) 신호의 컨볼루션 연산을 수행하는 단계를 포함할 수 있다.The synthesizing may include performing a convolution operation of the speech signal and a channel noise signal.

상기 상가성 노이즈 신호는 노이즈의 타입, 노이즈의 타이밍, 상기 음성 신호에 대한 노이즈의 에너지비(SNR) 중 적어도 하나에 기초하여 결정될 수 있다.The additive noise signal may be determined based on at least one of a noise type, a timing of noise, and an energy ratio (SNR) of noise to the voice signal.

상기 채널 노이즈 신호는 노이즈의 타입, 상기 음성 신호에 대한 노이즈의 에너지비(SNR) 중 적어도 하나에 기초하여 결정될 수 있다.The channel noise signal may be determined based on at least one of a noise type and an energy ratio (SNR) of noise to the voice signal.

상기 특징 벡터를 생성하는 단계는 상기 음성 신호 및 상기 노이즈 신호의 합성 신호를 복수의 구간(section)들로 세그먼테이션하는 단계; 및 상기 복수의 구간들 중 적어도 하나에 대응하는 적어도 하나의 구간 특징 벡터를 추출하는 단계를 포함할 수 있다.The generating of the feature vector may include segmenting a synthesized signal of the speech signal and the noise signal into a plurality of sections; And extracting at least one section feature vector corresponding to at least one of the plurality of sections.

일 실시예에 따른 등록 방법은 상기 등록 데이터베이스를 구축하는 단계는 상기 특징 벡터 및 상기 제2 특징 벡터 중 적어도 하나를 포함하는 복수의 특징 벡터들을 복수의 그룹들로 클러스터링하는 단계; 상기 복수의 그룹들 중 적어도 하나의 그룹에 대응하는 적어도 하나의 대표 특징 벡터를 추출하는 단계를 더 포함할 수 있다.The registration method according to an embodiment includes the steps of constructing the registration database comprising: clustering a plurality of feature vectors including at least one of the feature vector and the second feature vector into a plurality of groups; The method may further include extracting at least one representative feature vector corresponding to at least one of the plurality of groups.

일 실시예에 따른 등록 방법은 상기 음성 신호 및 상기 합성 신호 중 적어도 하나에 포함된 소리 정보의 시작 지점과 종료 지점을 추출하는 단계를 더 포함하고, 상기 시작 지점과 상기 종료 지점은 상기 합성하는 단계 및 상기 생성하는 단계 중 적어도 하나에 적용될 수 있다.The registration method according to an embodiment further comprises extracting a starting point and an ending point of sound information included in at least one of the speech signal and the synthesized signal, and synthesizing the starting point and the ending point. And at least one of the generating steps.

상기 합성 신호는 시간 도메인의 소리 정보를 포함하고, 상기 도메인 변환된 결과는 주파수 도메인의 영상 정보를 포함하며, 상기 특징 벡터를 생성하는 단계는 컨벌루션 뉴럴 네트워크(Convolution Neural Network ; CNN)를 이용하여 상기 주파수 도메인의 영상 정보로부터 상기 특징 벡터를 추출하는 단계를 포함할 수 있다.The synthesized signal includes sound information in a time domain, the domain transformed result includes image information in a frequency domain, and generating the feature vector is performed using a convolutional neural network (CNN). It may include the step of extracting the feature vector from the image information in the frequency domain.

상기 수신하는 단계에서 상기 화자의 음성 신호를 복수 개의 채널을 통하여 수신하는 경우, 상기 합성하는 단계 및 상기 생성하는 단계는 상기 복수 개의 채널 각각에 대응하여 독립적으로 수행되고, 상기 구축하는 단계에서 상기 복수 개의 채널에 의하여 생성된 특징 벡터들에 기초하여 상기 등록 데이터베이스가 구축될 수 있다.When receiving the speaker's voice signal through a plurality of channels in the receiving step, the synthesizing step and the generating step are independently performed corresponding to each of the plurality of channels, and the plurality of The registration database may be constructed based on feature vectors generated by two channels.

일 실시예에 따른 화자 인식(speaker recognition)을 위한 등록 방법은 상기 수신하는 단계 이후에, 상기 복수 개의 채널을 통해 수신한 상기 화자의 음성 신호들의 차이에 기초하여 노이즈를 추정하는 단계; 및 상기 화자의 음성 신호들 각각에서 상기 노이즈를 차감하는 단계를 더 포함할 수 있다.A registration method for speaker recognition according to an embodiment includes, after the receiving step, estimating noise based on differences between the speaker's voice signals received through the plurality of channels; And subtracting the noise from each of the speaker's voice signals.

상기 화자의 음성 신호를 수신하는 단계는 복수 개의 채널을 통해 상기 화자의 음성 신호들을 수신하는 단계를 포함하고, 일 실시예에 따른 화자 인식(speaker recognition)을 위한 등록 방법은 상기 복수 개의 채널을 통해 수신한 상기 화자의 음성 신호들을 전처리 함으로써, 상기 합성하는 단계를 위한 상기 음성 신호를 결정하는 단계를 더 포함할 수 있다.The receiving of the speaker's voice signal includes receiving the speaker's voice signals through a plurality of channels, and the registration method for speaker recognition according to an embodiment includes the plurality of channels. The method may further include determining the voice signal for the synthesizing step by preprocessing the received voice signals of the speaker.

상기 결정하는 단계는 상기 복수 개의 채널을 통해 수신한 상기 화자의 음성 신호들에 하드웨어 스펙(spec)으로 인한 인식 오류가 포함되는지 여부에 기초하여, 상기 음성 신호들 중 어느 하나를 선택하는 단계; 상기 복수 개의 채널을 통해 수신한 상기 화자의 음성 신호들의 구간 별로 상기 인식 오류가 포함되는지 여부에 기초하여, 상기 구간 별로 음성 신호들 중 어느 하나를 선택하는 단계를 포함할 수 있다.The determining may include selecting any one of the speech signals based on whether a recognition error due to a hardware spec is included in the speech signals of the speaker received through the plurality of channels; It may include the step of selecting any one of the voice signals for each section based on whether the recognition error is included for each section of the speaker's voice signals received through the plurality of channels.

일 실시예에 따른 화자 인식 방법은 화자의 음성 신호를 수신하는 단계; 상기 음성 신호에 기초하여 적어도 하나의 입력 특징 벡터를 생성하는 단계; 등록 데이터베이스에 저장된 등록 사용자의 적어도 하나의 등록 특징 벡터와 상기 적어도 하나의 입력 특징 벡터를 비교하는 단계; 및 상기 비교 결과에 기초하여, 상기 화자를 인식하는 단계를 포함하고, 상기 등록 데이터베이스는 상기 등록 사용자의 등록을 위한 음성 신호 및 노이즈 신호의 합성 신호에 기초하여 생성되는 상기 적어도 하나의 등록 특징 벡터를 포함한다.A speaker recognition method according to an embodiment includes the steps of: receiving a speaker's voice signal; Generating at least one input feature vector based on the speech signal; Comparing at least one registered feature vector of a registered user stored in a registration database with the at least one input feature vector; And recognizing the speaker based on the comparison result, wherein the registration database includes the at least one registration feature vector generated based on a synthesized signal of a voice signal and a noise signal for registration of the registered user. Include.

상기 등록 사용자가 복수인 경우 상기 화자를 인식하는 단계는 상기 화자를 식별하는 단계를 포함할 수 있다.When the number of registered users is plural, recognizing the speaker may include identifying the speaker.

상기 입력 특징 벡터를 생성하는 단계는 상기 화자의 음성 신호를 도메인 변환하는 단계; 및 상기 도메인 변환된 결과로부터 상기 입력 특징 벡터를 추출하는 단계를 포함할 수 있다.The generating of the input feature vector may include domain conversion of the speaker's speech signal; And extracting the input feature vector from the domain-transformed result.

상기 입력 특징 벡터를 생성하는 단계는 상기 입력 특징 벡터의 윈도우 사이즈가 상기 등록 특징 벡터의 윈도우 사이즈와 동일하도록, 상기 화자의 음성 신호에 슬라이딩 윈도우(Sliding window)를 수행하는 단계를 포함할 수 있다.The generating of the input feature vector may include performing a sliding window on the speaker's speech signal so that the window size of the input feature vector is the same as the window size of the registered feature vector.

제12항에 있어서, 상기 입력 특징 벡터의 개수는 어플리케이션에서 요구하는 보안 수준 또는 반응 시간에 기초하여 결정될 수 있다.The method of claim 12, wherein the number of input feature vectors may be determined based on a security level or response time required by an application.

도메인 변환하는 단계는 상기 화자의 음성 신호에 고속 푸리에 변환을 수행하는 단계; 및 상기 고속 푸리에 변환의 결과에 따라, 상기 고속 푸리에 변환의 결과에 패딩(padding)을 수행하는 단계를 포함할 수 있다.Domain transforming may include performing a fast Fourier transform on the speaker's voice signal; And performing padding on the result of the fast Fourier transform according to the result of the fast Fourier transform.

상기 미리 정해진 노이즈 신호는 상가성 노이즈(additive noise) 신호 및 채널 노이즈(channel noise) 신호 중 적어도 하나를 포함할 수 있다.The predetermined noise signal may include at least one of an additive noise signal and a channel noise signal.

일 실시예에 따른 화자 인식(speaker recognition)을 위한 등록 장치는 화자의 음성 신호를 수신하는 음향 센서; 상기 음성 신호에 노이즈 신호를 합성하고, 상기 음성 신호 및 상기 노이즈 신호의 합성 신호에 기초하여 특징 벡터를 생성하며, 상기 특징 벡터에 기초하여 상기 화자에 대응하는 등록 데이터베이스를 구축(construct)하는 프로세서를 포함한다.A registration device for speaker recognition according to an embodiment includes: an acoustic sensor for receiving a speech signal of a speaker; A processor for synthesizing a noise signal with the speech signal, generating a feature vector based on the synthesized signal of the speech signal and the noise signal, and constructing a registration database corresponding to the speaker based on the feature vector. Include.

상기 프로세서는 상기 음성 신호에 기초하여 제2 특징 벡터를 생성하고, 상기 특징 벡터 및 상기 제2 특징 벡터 중 적어도 하나에 기초하여 상기 등록 데이터베이스를 구축할 수 있다.The processor may generate a second feature vector based on the speech signal, and build the registration database based on at least one of the feature vector and the second feature vector.

상기 프로세서는 상기 합성 신호를 도메인 변환하고, 상기 도메인 변환된 결과로부터 상기 특징 벡터를 추출할 수 있다.The processor may perform domain transformation on the synthesized signal and extract the feature vector from the domain transformation result.

상기 프로세서는 상기 음성 신호에 상가성 노이즈(additive noise) 신호를 더할 수 있다.The processor may add an additive noise signal to the voice signal.

상기 프로세서는 상기 음성 신호 및 채널 노이즈(channel noise) 신호의 컨볼루션 연산을 수행할 수 있다.The processor may perform a convolution operation of the voice signal and a channel noise signal.

상기 프로세서는 상기 음성 신호 및 상기 노이즈 신호의 합성 신호를 복수의 구간(section)들로 세그먼테이션하고, 상기 복수의 구간들 중 적어도 하나에 대응하는 적어도 하나의 구간 특징 벡터를 추출할 수 있다.The processor may segment the synthesized signal of the speech signal and the noise signal into a plurality of sections, and extract at least one section feature vector corresponding to at least one of the plurality of sections.

상기 프로세서는 상기 특징 벡터 및 상기 제2 특징 벡터 중 적어도 하나를 포함하는 복수의 특징 벡터들을 복수의 그룹들로 클러스터링하고, 상기 복수의 그룹들 중 적어도 하나의 그룹에 대응하는 적어도 하나의 대표 특징 벡터를 추출할 수 있다.The processor clusters a plurality of feature vectors including at least one of the feature vector and the second feature vector into a plurality of groups, and at least one representative feature vector corresponding to at least one of the plurality of groups Can be extracted.

일 실시예에 따른 화자 인식 장치는 화자의 음성 신호를 수신하는 음향 센서; 및 상기 음성 신호에 기초하여 적어도 하나의 입력 특징 벡터를 생성하고, 등록 데이터베이스에 저장된 등록 사용자의 적어도 하나의 등록 특징 벡터와 상기 적어도 하나의 입력 특징 벡터를 비교하며, 상기 비교 결과에 기초하여 상기 화자를 인식하는 프로세서를 포함하고, 상기 등록 데이터베이스는 상기 등록 사용자의 등록을 위한 음성 신호 및 노이즈 신호의 합성 신호에 기초하여 생성되는 상기 적어도 하나의 등록 특징 벡터를 포함한다.A speaker recognition apparatus according to an embodiment includes an acoustic sensor for receiving a speaker's voice signal; And generating at least one input feature vector based on the voice signal, comparing at least one registered feature vector of a registered user stored in a registration database with the at least one input feature vector, and the speaker based on the comparison result. And a processor for recognizing, wherein the registration database includes the at least one registration feature vector generated based on a synthesized signal of a voice signal and a noise signal for registration of the registered user.

상기 프로세서는 상기 화자의 음성 신호를 도메인 변환하고, 상기 도메인 변환된 결과로부터 상기 입력 특징 벡터를 추출할 수 있다.The processor may perform domain conversion of the speaker's speech signal and extract the input feature vector from the domain conversion result.

상기 프로세서는 상기 입력 특징 벡터의 윈도우 사이즈가 상기 등록 특징 벡터의 윈도우 사이즈와 동일하도록, 상기 화자의 음성 신호에 슬라이딩 윈도우(Sliding window)를 수행할 수 있다.The processor may perform a sliding window on the speaker's speech signal so that the window size of the input feature vector is the same as the window size of the registered feature vector.

상기 프로세서는 상기 화자의 음성 신호에 고속 푸리에 변환을 수행하고, 상기 고속 푸리에 변환의 결과에 따라, 상기 고속 푸리에 변환의 결과에 패딩(padding)을 수행할 수 있다.The processor may perform fast Fourier transform on the speaker's voice signal, and may perform padding on the fast Fourier transform result according to the fast Fourier transform result.

도 1은 일 실시예에 따른 화자 인식 방법을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 화자 인식을 위한 등록 시스템을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 화자 인식을 위한 등록 방법을 설명하기 위한 순서도이다.
도 4는 일 실시예에 따른 음성 신호에 상가성 노이즈를 합성하여 특징 벡터를 생성하는 방법을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 음성 신호에 채널 노이즈를 합성하여 특징 벡터를 생성하는 방법을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 세그먼테이션하여 특징 벡터를 생성하는 방법을 설명하는 도면이다.
도 7은 일 실시예에 따른 등록 데이터베이스를 구축하는 방법을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 화자 인증 방법을 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 화자 인식 방법을 설명하기 위한 순서도이다.
도 10은 일 실시예에 따른 화자 식별 방법을 설명하기 위한 도면이다.
도 11는 일 실시예에 따른 화자 인식을 위한 등록 장치의 블록도이다.
도 12는 일 실시예에 따른 복수 개의 채널을 통한 화자 인증 방법을 설명하기 위한 도면이다.
도 13은 일 실시예에 따른 채널 선택을 통한 화자 인증 방법을 설명하기 위한 도면이다.
도 14는 일 실시예에 따른 등록 장치의 위치 및 방향에 따른 발성 변화를 극복할 수 있는 방법을 설명하기 위한 도면이다.
1 is a diagram for describing a speaker recognition method according to an exemplary embodiment.
2 is a diagram illustrating a registration system for speaker recognition according to an exemplary embodiment.
3 is a flowchart illustrating a registration method for speaker recognition according to an embodiment.
4 is a diagram illustrating a method of generating a feature vector by synthesizing additive noise to a speech signal according to an exemplary embodiment.
5 is a diagram for describing a method of generating a feature vector by synthesizing channel noise with a voice signal according to an exemplary embodiment.
6 is a diagram illustrating a method of generating a feature vector by segmenting according to an exemplary embodiment.
7 is a diagram for describing a method of constructing a registration database according to an embodiment.
8 is a diagram for describing a speaker authentication method according to an embodiment.
9 is a flowchart illustrating a speaker recognition method according to an exemplary embodiment.
10 is a diagram for describing a speaker identification method according to an exemplary embodiment.
Fig. 11 is a block diagram of a registration device for speaker recognition according to an embodiment.
12 is a diagram illustrating a method of authenticating a speaker through a plurality of channels according to an exemplary embodiment.
13 is a diagram for explaining a speaker authentication method through channel selection according to an embodiment.
14 is a diagram for describing a method of overcoming a change in vocalization according to a location and direction of a registration device according to an exemplary embodiment.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the concept of the present invention disclosed in this specification are exemplified only for the purpose of describing the embodiments according to the concept of the present invention, and embodiments according to the concept of the present invention They may be implemented in various forms and are not limited to the embodiments described herein.

본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Since the embodiments according to the concept of the present invention can apply various changes and have various forms, the embodiments will be illustrated in the drawings and described in detail herein. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosed forms, and includes changes, equivalents, or substitutes included in the spirit and scope of the present invention.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various elements, but the elements should not be limited by the terms. The above terms are only for the purpose of distinguishing one component from other components, for example, without departing from the scope of rights according to the concept of the present invention, the first component may be named as the second component, Similarly, the second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.When a component is referred to as being “connected” or “connected” to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. Should be. On the other hand, when a component is referred to as being “directly connected” or “directly connected” to another component, it should be understood that there is no other component in the middle. Expressions that describe the relationship between components, for example, “between” and “just between” or “directly adjacent to” should be interpreted as well.

본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present specification are only used to describe specific embodiments and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present specification, terms such as "include" or "have" are intended to designate as being implemented features, numbers, steps, actions, components, parts, or a combination thereof, but one or more other features or numbers, It is to be understood that the presence or addition of steps, actions, components, parts, or combinations thereof, does not preclude the possibility of preliminary exclusion.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art to which the present invention belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in this specification. Does not.

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. The same reference numerals in each drawing indicate the same members.

도 1은 일 실시예에 따른 화자 인식 방법을 설명하기 위한 도면이다. 도 1을 참조하면, 일 실시예에 따른 화자 인식 방법은 등록 단계와 테스트 단계로 구분될 수 있다. 화자 인식 방법은 화자 인식 장치에 의하여 수행될 수 있고, 화자 인식 장치는 하나 또는 그 이상의 소프트웨어 모듈, 하나 또는 그 이상의 하드웨어 모듈, 또는 이들의 다양한 조합에 의하여 구현될 수 있다.1 is a diagram for describing a speaker recognition method according to an exemplary embodiment. Referring to FIG. 1, a method for recognizing a speaker according to an embodiment may be divided into a registration step and a test step. The speaker recognition method may be performed by a speaker recognition device, and the speaker recognition device may be implemented by one or more software modules, one or more hardware modules, or various combinations thereof.

일 실시예에 따른 화자 인식 방법에 따르면, 화자 인식 장치는 등록 단계에서는 화자의 입력 음성으로부터 특징 벡터(feature vector)를 생성하여 등록 데이터베이스에 저장할 수 있고, 테스트 단계에서는 화자의 입력 음성으로부터 특징 벡터를 생성해 등록 데이터베이스에 저장된 특징 벡터와의 비교를 통해서 인식 여부를 결정할 수 있다. 이하 설명의 편의 상, 등록 단계와 테스트 단계가 동일한 화자 인식 장치에 의하여 수행되는 실시예들을 설명하나, 하기에서 설명하는 실시예들은 등록 단계와 테스트 단계가 각각 다른 장치에 의하여 수행되는 경우에도 실질적으로 동일하게 적용될 수 있다.According to the speaker recognition method according to an embodiment, in the registration step, the speaker recognition device may generate a feature vector from the speaker's input voice and store it in the registration database, and in the test step, the feature vector is generated from the speaker's input voice. It is possible to determine whether to recognize or not by comparing it with the feature vector created and stored in the registration database. For convenience of description, embodiments in which the registration step and the test step are performed by the same speaker recognition device are described. However, the embodiments described below are substantially performed even when the registration step and the test step are performed by different devices. The same can be applied.

음성 신호(110)는 인증의 대상이 되는 미리 정해진 인식문장에 대응하는 화자의 음성 신호일 수 있다. 예를 들어, 음성 신호(110)는 인식문장 "hi, bixby"에 대응하는 화자의 음성 신호일 수 있다.The voice signal 110 may be a voice signal of a speaker corresponding to a predetermined recognition sentence to be authenticated. For example, the voice signal 110 may be a speaker's voice signal corresponding to the recognition sentence “hi, bixby”.

등록 단계에서, 화자 인식 장치는 화자의 음성 "hi, bixby"에 대응하는 음성 신호를 수신하여 특징 벡터를 생성하고, 생성된 특징 벡터를 등록 데이터베이스에 저장할 수 있다. 이 후, 테스트 단계에서 화자의 음성 "hi, bixby"에 대응하는 음성 신호를 수신하면, 화자 인식 장치는 특징 벡터를 생성해 등록 데이터베이스에 저장되어 있는 특징 벡터와 비교하여 인식 여부를 결정할 수 있다.In the registration step, the speaker recognition apparatus may generate a feature vector by receiving a voice signal corresponding to the speaker's voice “hi, bixby”, and store the generated feature vector in the registration database. Thereafter, when receiving a voice signal corresponding to the speaker's voice "hi, bixby" in the test step, the speaker recognition apparatus may generate a feature vector and compare it with the feature vector stored in the registration database to determine whether to recognize it.

일 실시예에 따르면, 등록 단계는 노이즈가 적은 조용한 환경에서 수행되는 반면에, 테스트 단계는 노이즈가 많은 환경에서 수행될 수 있다. 이 경우, 등록 단계에서는 노이즈가 적은 환경에서의 음성 신호(120)에 기초하여 특징 벡터가 생성될 수 있다. 반면, 테스트 단계에서는 주변 환경에 따라 화자의 음성 신호에 노이즈가 추가될 수 있고, 노이즈가 추가된 음성 신호(130, 140)에 기초하여 특징 벡터가 생성될 수 있다. 노이즈는 상가성 노이즈(additive noise), 채널 노이즈(channel noise), 또는 이들의 조합을 포함할 수 있다. 예를 들어, 노이즈가 추가된 음성 신호는 상가성 노이즈(additive noise)가 추가된 음성신호(130)와 채널 노이즈(channel noise)가 추가된 음성 신호(140)를 포함할 수 있다. 이러한 경우, 등록 단계에서 생성된 특징 벡터와 테스트 단계에서 생성된 특징 벡터의 불일치가 발생할 수 있고, 이로 인해 인식 성능의 저하가 발생할 수 있다. 또한, 등록 단계에서 인식문장에 대응하는 화자의 음성 신호의 발화 횟수가 적은 경우에는 특징 벡터에 오차가 생기기 쉽고, 이로 인해 인식의 어려움이 생길 수 있다.According to an embodiment, the registration step may be performed in a quiet environment with less noise, while the test step may be performed in a noisy environment. In this case, in the registration step, a feature vector may be generated based on the voice signal 120 in a low noise environment. On the other hand, in the test step, noise may be added to the speaker's voice signal according to the surrounding environment, and feature vectors may be generated based on the noise-added voice signals 130 and 140. The noise may include additive noise, channel noise, or a combination thereof. For example, a voice signal to which noise is added may include a voice signal 130 to which additive noise is added and a voice signal 140 to which channel noise is added. In this case, a discrepancy between the feature vector generated in the registration step and the feature vector generated in the test step may occur, resulting in a decrease in recognition performance. In addition, when the number of utterances of the speaker's speech signal corresponding to the recognition sentence is small in the registration step, an error is likely to occur in the feature vector, which may cause difficulty in recognition.

일 실시예에 따르면, 등록 환경과 테스트 환경의 불일치로 발생하는 성능 저하를 방지하기 위해 등록 단계에서 화자의 음성 신호에 미리 정해진 노이즈 신호를 합성한 합성 신호에 기초하여 특징 벡터를 등록할 수 있다. 이를 통해 등록 환경과 상이한 다양한 노이즈에 노출된 실환경 상황에서 인증 시 우수한 성능이 확보될 수 있다.According to an embodiment, in order to prevent performance degradation caused by a mismatch between a registration environment and a test environment, a feature vector may be registered based on a synthesized signal obtained by synthesizing a predetermined noise signal with a speech signal of a speaker in the registration step. Through this, excellent performance can be secured during authentication in a real environment situation exposed to various noises different from the registered environment.

화자 인식의 분류를 살펴보면, 화자 인식 기술은 화자 인증(Speaker Verification)과, 화자 식별(Speaker Identification)로 나눌 수 있다. 화자 인증은 화자가 기 등록된 사용자(예를 들어, 본인)인지 아닌지를 인증하는 것이며, 화자 식별은 화자가 등록된 여러 사용자들 중의 누구인지를 알아내는 것을 의미할 수 있다.Looking at the classification of speaker recognition, speaker recognition technology can be divided into speaker verification and speaker identification. Speaker authentication is to authenticate whether the speaker is a previously registered user (eg, the person), and speaker identification may mean finding out who the speaker is among several registered users.

화자 인식 기술은, 개인 전자 문서의 관리로부터 전화 또는 인터넷을 통한 은행 업무 및 전자 상거래에 이르기까지 광범위하게 응용될 수 있다. 음성을 이용한 화자 인식 기술이 선호되는 이유는, 카드, 도장, 서명 그리고 신분증 등의 물리적인 수단이 가진 도난이나 위조의 문제점이 전혀 없다는 것이며, 또한 다른 생체 측정 수단인 지문 또는 망막을 입력 받기 위해서는 고가의 장비가 필요한 반면에, 음성은 상대적으로 저가인 마이크와 같은 음향 센서를 통해 원거리에서도 쉽게 처리될 수 있기 때문이다.Speaker recognition technology can be widely applied from the management of personal electronic documents to banking and electronic commerce over the phone or the Internet. The reason why speaker recognition technology using voice is preferred is that there is no problem of theft or forgery of physical means such as cards, stamps, signatures, and ID cards, and it is expensive to input fingerprints or retinas, which are other biometric means. This is because voice can be easily processed from a distance through an acoustic sensor such as a microphone, which is relatively inexpensive, while the equipment is required.

아래에서, 도 2 내지 도 7을 참조하여 노이즈에 강한 화자 인식 등록 방법이 설명되고, 도 8 내지 도 9를 참조하여 화자 인증 방법이 설명되고, 도 10를 참조하여 화자 인식 방법이 설명되고, 나아가 도 11을 참조하여 일 실시예에 따른 등록 장치 및 인식 장치가 설명된다.In the following, a speaker recognition registration method strong against noise is described with reference to FIGS. 2 to 7, a speaker authentication method is described with reference to FIGS. 8 to 9, a speaker recognition method is described with reference to FIG. 10, and further A registration device and a recognition device according to an embodiment will be described with reference to FIG. 11.

도 2는 일 실시예에 따른 화자 인식을 위한 등록 시스템을 설명하기 위한 도면이다. 도 2를 참조하면, 화자 인식을 위한 등록 장치는 화자의 음성 신호(210)를 수신할 수 있다. 등록 장치는 화자 인식을 위해 화자에 대응하는 등록 데이터베이스를 구축하는 장치로서, 예를 들어 소프트웨어 모듈, 하드웨어 모듈 또는 이들의 조합으로 구현될 수 있다. 등록 장치는 스마트 폰, 테블릿 컴퓨터, 랩톱 컴퓨터, 데스크톱 컴퓨터, 텔레비전, 웨어러블 장치, 보안 시스템, 스마트 홈 시스템 등 다양한 컴퓨팅 장치 및/또는 시스템에 탑재될 수 있다.2 is a diagram illustrating a registration system for speaker recognition according to an exemplary embodiment. Referring to FIG. 2, a registration device for speaker recognition may receive a speaker's voice signal 210. The registration device is a device that builds a registration database corresponding to a speaker for speaker recognition, and may be implemented as, for example, a software module, a hardware module, or a combination thereof. The registration device may be mounted on various computing devices and/or systems, such as a smart phone, a tablet computer, a laptop computer, a desktop computer, a television, a wearable device, a security system, and a smart home system.

화자의 음성 신호(210)는 등록 장치의 음향 센서를 통해 입력 받고 특별한 처리를 하지 않은 신호일 수 있고, 또는 음향 센서를 통해 입력 받고 노이즈에 해당하는 성분을 제거한 신호일 수도 있다. 특별한 처리를 하지 않은 신호의 경우에도, 등록 단계는 일반적으로 조용하고 노이즈가 적은 환경에서 이루어지기 때문에 노이즈에 해당하는 성분을 제거한 신호와 실질적으로 차이가 없을 수 있다.The speaker's voice signal 210 may be a signal that has been input through an acoustic sensor of the registration device and has not been specially processed, or may be a signal that has been input through an acoustic sensor and a component corresponding to noise has been removed. Even in the case of a signal that has not been specially processed, since the registration step is generally performed in a quiet and low-noise environment, there may be substantially no difference from the signal from which the component corresponding to the noise has been removed.

등록 환경과 테스트 환경의 불일치로 발생하는 성능 저하를 방지하기 위해, 등록 장치는 음성 신호에 상가성 노이즈 신호(220), 채널 노이즈 신호(230) 또는 이들의 조합을 합성할 수 있다. 상가성 노이즈는 음성 신호와 다른 소스에서 발생하며, 그들 사이에 어떤 상관 관계가 없는 노이즈일 수 있다. 상가성 노이즈는 가산(addition)에 의해서 음성 신호에 부가될 수 있다. 예를 들어, 상가성 노이즈는 문 닫는 소리, 경적 소리, 주변 소음 등을 포함할 수 있다. 채널 노이즈는 전환 과정에서 발견되는 유형의 노이즈일 수 있다. 예를 들어, 채널 노이즈는 실내 임펄스 응답(room impulse response) 등을 포함할 수 있다. 다만, 상가성 노이즈와 채널 노이즈는 예시적인 사항일 뿐, 노이즈는 상가성 노이즈와 채널 노이즈 이외에 여러 종류의 노이즈를 포함할 수 있다. 상가성 노이즈 신호(220)와 채널 노이즈 신호(230)를 합성하는 구체적인 방법은 아래에서 각각 도 4와 도 5를 참조하여 상세히 설명된다.In order to prevent performance degradation caused by inconsistency between the registration environment and the test environment, the registration device may synthesize the additive noise signal 220, the channel noise signal 230, or a combination thereof with the voice signal. Additive noise may be noise that arises from a different source than the speech signal and has no correlation between them. Additive noise can be added to the speech signal by addition. For example, additive noise may include a door closing sound, a horn sound, and ambient noise. Channel noise may be the type of noise found in the conversion process. For example, the channel noise may include a room impulse response. However, additive noise and channel noise are exemplary only, and noise may include various types of noise in addition to additive noise and channel noise. A detailed method of synthesizing the additive noise signal 220 and the channel noise signal 230 will be described in detail below with reference to FIGS. 4 and 5, respectively.

일 실시예에 따르면, 등록 장치는 음성 신호를 정렬(240)할 수 있다. 음성 신호를 정렬을 통해 처리 대상 구간을 결정할 수 있고, 이를 통해 등록 및 인식 효율을 높이기 위해 음성 신호에 포함된 소리 정보의 시작 지점과 종료 지점을 추출할 수 있다. 예를 들어, 등록 장치는 음성 신호의 세기를 측정하여 음성 신호에 포함된 소리 정보의 시작 지점과 종료 지점을 추출할 수 있고, 소리 정보의 시작 지점과 종료 지점 사이의 구간을 처리 대상 구간으로 설정할 수 있다. 여기서, 정렬의 대상이 되는 신호는 상가성 노이즈(220), 채널 노이즈(230) 또는 이들의 조합이 음성 신호에 합성된 신호일 수 있다.According to an embodiment, the registration device may arrange 240 voice signals. The segment to be processed may be determined by aligning the voice signal, and through this, the start point and the end point of the sound information included in the voice signal may be extracted to increase registration and recognition efficiency. For example, the registration device may measure the strength of the voice signal to extract the start point and the end point of sound information included in the voice signal, and set a section between the start point and end point of the sound information as a processing target section. I can. Here, the signal to be aligned may be a signal obtained by synthesizing the additive noise 220, the channel noise 230, or a combination thereof into a voice signal.

도면에 도시하지는 않았으나, 다른 실시예에 따르면, 등록 장치는 음성 신호(210)를 우선 정렬하여 소리 정보의 시작 지점과 종료 지점을 추출한 이후, 상가성 노이즈(220), 채널 노이즈(230) 또는 이들의 조합을 음성 신호(210)에 합성할 수도 있다. 또는, 음성 신호(210)는 디지털 신호 처리 장치(Digital Signal Processor) 등 다른 장치로부터 우선 정렬되어 등록 장치에 입력될 수 있고, 이후에 상가성 노이즈(220), 채널 노이즈(230) 또는 이들의 조합을 음성 신호(210)에 합성할 수도 있다.Although not shown in the drawings, according to another embodiment, the registration device first aligns the voice signals 210 to extract the start and end points of the sound information, and then the additive noise 220, the channel noise 230, or these A combination of may be synthesized into the voice signal 210. Alternatively, the voice signal 210 may be first aligned from other devices such as a digital signal processor and input to the registration device, and thereafter, additive noise 220, channel noise 230, or a combination thereof May be synthesized into the voice signal 210.

일 실시예에 따르면, 등록 장치는 음성 신호 및 노이즈 신호의 합성 신호를 복수의 구간(section)들로 세그먼테이션(segmentation)(250)할 수 있다. 세그먼테이션에 대한 구체적인 방법은 아래에서 도 6을 참조하여 상세히 설명된다.According to an embodiment, the registration device may segment a synthesized signal of a voice signal and a noise signal into a plurality of sections (segmentation) 250. A specific method for segmentation will be described in detail below with reference to FIG. 6.

등록 장치의 특징 벡터 생성부(260)는 음성 신호 및 노이즈 신호의 합성 신호에 기초하여 특징 벡터를 생성할 수 있다. 특징 벡터 생성부(260)는 합성 신호를 인식하여, 이에 대응되는 특징 벡터를 출력할 수 있다. 특징 벡터는 각 인식요소를 구분하게 해주는 정보를 포함하며, 예를 들어 특징벡터는 음성 신호 중에서 인식에 필요한 성분을 압축하여 가지고 있는 형태로 시간에 따른 주파수 정보를 갖을 수 있다.The feature vector generator 260 of the registration device may generate a feature vector based on a synthesized signal of a voice signal and a noise signal. The feature vector generator 260 may recognize the synthesized signal and output a feature vector corresponding thereto. The feature vector includes information for distinguishing each recognition element. For example, the feature vector may have frequency information over time in a form in which components necessary for recognition are compressed and contained in a speech signal.

일 실시예에 따르면, 등록 단계에서 화자의 음성 신호에 다양한 노이즈 신호를 합성한 합성 신호에 기초하여 특징 벡터를 생성하여 등록함으로써, 등록 환경과 테스트 환경의 불일치로 발생하는 성능 저하를 방지할 수 있다.According to an embodiment, by generating and registering a feature vector based on a synthesized signal obtained by synthesizing various noise signals with a speaker's voice signal in the registration step, performance degradation caused by a discrepancy between the registration environment and the test environment can be prevented. .

도 3은 일 실시예에 따른 화자 인식을 위한 등록 방법을 설명하기 위한 순서도이다. 도 3를 참조하면, 화자 인식을 위한 등록 장치는 화자의 음성 신호를 수신한다(310). 등록 장치는 미리 정해진 수의 음성 신호를 수신할 수 있다. 예를 들어, 등록 장치는 인식문장 "hi, bixby"에 대응하는 화자의 음성을 N번 반복하여 입력 받을 수 있다.3 is a flowchart illustrating a registration method for speaker recognition according to an embodiment. Referring to FIG. 3, the registration device for speaker recognition receives a speaker's voice signal (310). The registration device may receive a predetermined number of voice signals. For example, the registration device may receive the input of the speaker's voice corresponding to the recognition sentence "hi, bixby" repeatedly N times.

등록 장치는 음성 신호에 노이즈 신호를 합성한다(320). 노이즈 신호는 테스트 단계에서 발생 가능한 노이즈와 유사하도록 미리 정해진 신호로, 상가성 노이즈 신호, 채널 노이즈 신호 또는 이들의 조합을 포함할 수 있다.The registration device synthesizes a noise signal with the voice signal (320). The noise signal is a signal predetermined to be similar to noise that may be generated in the test step, and may include an additive noise signal, a channel noise signal, or a combination thereof.

등록 장치는 음성 신호 및 노이즈 신호의 합성 신호에 기초하여 특징 벡터를 생성한다(330). 합성 신호에서 특징 벡터를 추출하기 위해 여러 가지 과정을 포함할 수 있다. 예를 들어, 고속 푸리에 변환(Fast Fourier Transform ; FFT)을 통해 합성 신호로부터 영상 패턴을 생성할 수 있고, 생성된 영상 패턴을 인공 신경망에 입력하여 특징 벡터를 생성할 수 있다. 특징 벡터 생성 방법은 아래에서 도 4 내지 도 6을 참조하여 상세히 설명된다. 또한, 등록 장치는 노이즈 신호가 합성되지 않은 음성 신호에 기초하여 제2 특징 벡터를 생성할 수 있다.The registration device generates a feature vector based on the synthesized signal of the speech signal and the noise signal (330). Various processes may be included to extract feature vectors from the synthesized signal. For example, an image pattern may be generated from a synthesized signal through Fast Fourier Transform (FFT), and a feature vector may be generated by inputting the generated image pattern into an artificial neural network. A method of generating a feature vector will be described in detail with reference to FIGS. 4 to 6 below. Also, the registration device may generate the second feature vector based on the speech signal to which the noise signal is not synthesized.

등록 장치는 특징 벡터에 기초하여 화자에 대응하는 등록 데이터베이스를 구축(construct)한다(340). 또한, 등록 장치는 특징 벡터 및 제2 특징 벡터 중 적어도 하나에 기초하여 등록 데이터베이스를 구축할 수 있다. 단계(310) 내지 단계(340)에 의해 구축된 등록 데이터베이스에 기초하여, 테스트 단계에서 화자 인식이 수행될 수 있다.The registration device constructs a registration database corresponding to the speaker based on the feature vector (340). Also, the registration device may build a registration database based on at least one of a feature vector and a second feature vector. Speaker recognition may be performed in the test step based on the registration database established by steps 310 to 340.

도 4는 일 실시예에 따른 음성 신호에 상가성 노이즈를 합성하여 특징 벡터를 생성하는 방법을 설명하기 위한 도면이다. 도 4를 참조하면, 일 실시예에 따른 등록 장치는 음성 신호(410)를 수신할 수 있다. 도 1 내지 도 3의 설명은 도 4에도 적용 가능하므로, 중복되는 내용의 설명은 생략한다.4 is a diagram illustrating a method of generating a feature vector by synthesizing additive noise to a speech signal according to an exemplary embodiment. Referring to FIG. 4, the registration device according to an embodiment may receive a voice signal 410. Since the description of FIGS. 1 to 3 is applicable to FIG. 4 as well, a description of overlapping contents will be omitted.

상가성 노이즈는 음성 신호(410)와 다른 소스에서 발생하며, 그들 사이에 어떤 상관 관계가 없는 노이즈로, 음성 신호(410)에 상가성 노이즈 신호(420)를 더하는 방식으로 합성 신호를 생성할 수 있다. 음성 신호(410)가 복수개인 경우, 각각의 음성 신호에 상가성 노이즈 신호(420)를 더하여 합성 신호들을 생성할 수 있다.Additive noise is noise generated from a source different from the voice signal 410 and does not have any correlation between them, and a synthesized signal can be generated by adding the additive noise signal 420 to the voice signal 410. have. When there are a plurality of voice signals 410, synthesized signals may be generated by adding an additive noise signal 420 to each voice signal.

상가성 노이즈 신호(420)는 다양한 방식으로 결정될 수 있다. 예를 들어, 상가성 노이즈 신호(420)는 노이즈의 타입, 노이즈의 타이밍, 음성 신호에 대한 노이즈의 에너지비(SNR) 중 적어도 하나에 기초하여 결정될 수 있다. 또한, 상가성 노이즈 신호(420)는 노이즈의 타입, 노이즈의 타이밍, 음성 신호에 대한 노이즈의 에너지비(SNR)에 기초하여 결정된 노이즈 신호들의 반복 및/또는 조합에 의해 결정될 수 있다.The additive noise signal 420 may be determined in various ways. For example, the additive noise signal 420 may be determined based on at least one of a noise type, a timing of noise, and an energy ratio of noise to a voice signal (SNR). In addition, the additive noise signal 420 may be determined by repetition and/or combination of noise signals determined based on the noise type, the timing of the noise, and the energy ratio (SNR) of noise to the voice signal.

노이즈의 타입은 주변의 웅성거리는 소리(babble noise), 문 닫는 소리, 경적 소리와 같이 노이즈 소스의 종류를 의미할 수 있다. 또는, 같은 소스에서 발생한 노이즈라도, 노이즈의 길이에 따라 노이즈 타입이 달라질 수 있다. 노이즈의 타이밍은 노이즈 신호가 음성 신호에 합성되는 시점 및/또는 종점을 의미할 수 있다. 음성 신호에 대한 노이즈의 에너지비(SNR)는 음성 신호와 노이즈 신호의 상대적 볼륨 차이를 의미할 수 있다.The type of noise may mean the type of noise source such as a babble noise, a door closing sound, and a horn sound. Alternatively, even for noise generated from the same source, the noise type may vary depending on the length of the noise. The timing of noise may mean a time point and/or an end point at which the noise signal is synthesized into the voice signal. The energy ratio (SNR) of noise to the voice signal may mean a relative volume difference between the voice signal and the noise signal.

등록 장치는 음성 신호(410)와 상가성 노이즈 신호(420)의 합성 신호를 특징 벡터 생성부에 입력하여 특징 벡터(450)를 생성할 수 있다. 특징 벡터 생성부는 합성 신호의 도메인을 변환할 수 있고, 도메인 변환된 결과로부터 특징 벡터를 추출할 수 있다. 도메인 변환과 관련하여, 합성 신호는 음성 신호(410)와 상가성 노이즈 신호(420)를 더하여 생성되는 신호인 바, 시간 도메인의 소리 정보를 포함할 수 있다. 특징 벡터 생성부는 시간 도메인의 합성 신호를 영상 정보를 포함하는 주파수 도메인 형태로 변환하고, 이에 기초하여 특징 벡터(450)를 생성할 수 있다.The registration device may generate a feature vector 450 by inputting a synthesized signal of the speech signal 410 and the additive noise signal 420 to the feature vector generator. The feature vector generator may transform the domain of the synthesized signal and extract a feature vector from the domain transformed result. In relation to the domain conversion, the synthesized signal is a signal generated by adding the speech signal 410 and the additive noise signal 420 and may include sound information in the time domain. The feature vector generator may convert the time domain synthesized signal into a frequency domain form including image information, and generate a feature vector 450 based thereon.

일 예로, 특징 벡터 생성부는 전처리부(430)와 뉴럴 네트워크(Neural Network)(440)을 포함할 수 있다. 전처리부(430)는 시간 도메인의 합성 신호를 영상 정보를 포함하는 주파수 도메인 형태로 변환할 수 있다. 예를 들어, 전처리부(430)는 합성신호를 고속 푸리에 변환을 이용하여 주파수 영역으로 변환하여 스펙트럼 크기 정보를 획득할 수 있고, 이에 기초하여 도 1의 도면들(120 내지 140)과 같이 주파수 도메인 형태의 영상 정보를 추출할 수 있다. 도면들(120 내지 140)의 x축은 시간 도메인이고, y축은 주파수 도메인이며 도면의 밝기 정도는 스펙트럼 크기에 비례할 수 있다.For example, the feature vector generation unit may include a preprocessor 430 and a neural network 440. The preprocessor 430 may convert the time domain synthesized signal into a frequency domain form including image information. For example, the preprocessor 430 may convert the synthesized signal into a frequency domain using a fast Fourier transform to obtain spectrum size information, and based on this, the frequency domain as shown in the drawings 120 to 140 of FIG. Image information in a form can be extracted. The x-axis of the drawings 120 to 140 is in the time domain, the y-axis is in the frequency domain, and the degree of brightness of the drawings may be proportional to the spectral size.

영상 정보를 포함하는 도메인 변환된 결과를 뉴럴 네트워크(440)에 입력하여 특징 벡터(450)를 추출할 수 있다. 뉴럴 네트워크(440)는 다양한 구조로 구현될 수 있고, 일 예로 CNN(Convolutional Neural Network) 모델을 포함할 수 있다. CNN 모델은 컨볼루션 레이어(convolution layer), 풀링 레이어(pooling layer) 및 완전 연결 레이어(fully connected layer)를 포함하고, 각 레이어에 의해 수행되는 연산 과정을 통해 모델에 입력되는 영상 정보로부터 특징 벡터를 생성할 수 있다. 여기서 영상 정보는, 영상에 포함된 픽셀들의 픽셀 값(예를 들어, 밝기 값)일 수 있다. A feature vector 450 may be extracted by inputting a result of domain transformation including image information into the neural network 440. The neural network 440 may be implemented in various structures and may include, for example, a Convolutional Neural Network (CNN) model. The CNN model includes a convolution layer, a pooling layer, and a fully connected layer, and feature vectors are derived from image information input to the model through a computational process performed by each layer. Can be generated. Here, the image information may be pixel values (eg, brightness values) of pixels included in the image.

전술한 전처리부(430)와 뉴럴 네트워크(Neural Network)(440)는 예시적인 사항에 해당하며, 특징 벡터 생성부는 전처리부(430)와 뉴럴 네트워크(Neural Network)(440) 구조 이외의 특징 벡터를 생성할 수 있는 다른 모델에 기초할 수도 있다. 예를 들어, 특징 벡터 생성부는 사람의 성도를 모델링한 선형 예측(LPC) 방법과, 사람의 청각 기관을 모델링한 필터 뱅크(Filter Bank) 방법(예로, 멜-척도 필터 뱅크에 근거한 MFCC), 또는 이들의 조합(예를 들어, 음성 신호를 MFCC에 기초하여 변환하고, 그 결과를 뉴럴 네트워크에 입력하는 방법) 등에 기초할 수 있다.The above-described preprocessor 430 and neural network 440 correspond to exemplary matters, and the feature vector generator generates feature vectors other than the preprocessor 430 and the neural network 440 structure. It can also be based on other models that can be created. For example, the feature vector generation unit is a linear prediction (LPC) method modeling human sexuality, and a filter bank method modeling a human auditory organ (eg, MFCC based on a Mel-scale filter bank), or It may be based on a combination of these (for example, a method of converting a speech signal based on MFCC and inputting the result to a neural network), or the like.

도 5는 일 실시예에 따른 음성 신호에 채널 노이즈를 합성하여 특징 벡터를 생성하는 방법을 설명하기 위한 도면이다. 도 5를 참조하면, 채널 노이즈의 경우 음성 신호(510)와 다른 소스에서 발생하는 상가성 노이즈와는 달리 음성 신호(510)가 입력되는 장소의 고유 특성에 따라 발생하는 노이즈일 수 있다. 등록 장치는 음성 신호(510) 및 채널 노이즈 신호(520)의 컨볼루션 연산을 수행하여 합성 신호를 생성할 수 있다.5 is a diagram for describing a method of generating a feature vector by synthesizing channel noise with a voice signal according to an exemplary embodiment. Referring to FIG. 5, in the case of channel noise, unlike additive noise generated from a source different from the voice signal 510, the channel noise may be noise generated according to a unique characteristic of a place where the voice signal 510 is input. The registration device may generate a synthesized signal by performing a convolution operation of the voice signal 510 and the channel noise signal 520.

채널 노이즈 신호는 노이즈의 타입, 음성 신호에 대한 노이즈의 에너지비(SNR) 중 적어도 하나에 기초하여 결정될 수 있다. 예를 들어, 채널 노이즈 신호(520)는 노이즈의 타입, 음성 신호에 대한 노이즈의 에너지비(SNR)에 기초하여 결정된 노이즈 신호들의 반복 및/또는 조합에 의해 결정될 수 있다.The channel noise signal may be determined based on at least one of a noise type and an energy ratio of noise to a voice signal (SNR). For example, the channel noise signal 520 may be determined by repetition and/or combination of noise signals determined based on the type of noise and the energy ratio of noise to voice signal (SNR).

노이즈의 타입은 큰 방, 작은 방, 콘서트 장과 같이 울림이 발생하는 장소의 종류에 따라 달라질 수 있다. 또는, 마이크 특성에 따라 노이즈 타입이 달라질 수 있다. 음성 신호에 대한 노이즈의 에너지비(SNR)는 음성 신호와 노이즈 신호의 상대적 볼륨 차이를 의미할 수 있다. 도 4의 특징 벡터 생성부에 관한 설명은 도 5에도 적용 가능하므로, 중복되는 내용의 설명은 생략한다.The type of noise may vary depending on the type of place where the ringing occurs, such as a large room, a small room, or a concert hall. Alternatively, the noise type may vary according to microphone characteristics. The energy ratio (SNR) of noise to the voice signal may mean a relative volume difference between the voice signal and the noise signal. Since the description of the feature vector generation unit of FIG. 4 is applicable to FIG. 5 as well, a description of overlapping contents will be omitted.

도 6은 일 실시예에 따른 세그먼테이션하여 특징 벡터를 생성하는 방법을 설명하는 도면이다. 도 6을 참조하면, 일 실시예에 따른 등록 장치는 음성 신호(610)를 수신할 수 있다.6 is a diagram illustrating a method of generating a feature vector by segmenting according to an exemplary embodiment. Referring to FIG. 6, the registration device according to an embodiment may receive a voice signal 610.

등록 단계에서 인식문장에 대응하는 화자의 음성 신호의 발화 횟수가 적은 경우에는 발화의 시작점을 인식하는 인식기의 성능에 민감해져 대표 특징 벡터에 오차가 생기기 쉽고, 이로 인해 인식의 어려움이 생길 수 있다. 또한, 수신한 음성 신호(610) 중 특정 구간만 이용하는 방식(예를 들어, 음성 신호의 중앙 구간만 선택하는 센터 크롭(center crop) 방식 등)을 통하여 특징 벡터를 생성하는 경우, 발화 지점 선택에 바이어스(bias)가 커지는 문제가 발생할 수 있다.If the number of utterances of the speaker's speech signal corresponding to the recognition sentence is small in the registration step, it becomes sensitive to the performance of the recognizer for recognizing the starting point of speech, and thus an error is likely to occur in the representative feature vector, which may cause difficulty in recognition. In addition, when a feature vector is generated through a method of using only a specific section of the received voice signal 610 (for example, a center crop method of selecting only the center section of the voice signal), A problem of increasing bias may occur.

일 실시예에 따른 등록 장치는 음성 신호(610)를 복수의 구간(section)들로 세그먼테이션(620)하여 한정된 발화를 다양하게 등록하여 활용할 수 있다. 세그먼테이션(620)은 시계열적으로 수행되며, 구간들 각각의 윈도우 사이즈가 동일할 수 있다. 또한, 인접한 구간들 사이에 서로 겹치는 부분이 존재할 수도 있다.The registration device according to an embodiment may segment the voice signal 610 into a plurality of sections 620 to variously register and utilize the limited speech. The segmentation 620 is performed in time series, and the window sizes of each of the sections may be the same. In addition, portions overlapping each other may exist between adjacent sections.

특징 벡터 생성부(630)는 복수의 구간들에 기초하여 특징 벡터(640)를 생성할 수 있다. 구체적으로, 특징 벡터 생성부(630)는 복수의 구간들 중 적어도 하나에 대응하는 적어도 하나의 구간 특징 벡터를 추출할 수 있다. 구간 특징 벡터는 세그먼테이션(620)에 의해 나누어진 구간에 기초하여 생성되는 특징 벡터를 의미할 수 있다. 예를 들어, 등록장치가 1개의 음성 신호(610)를 M개의 구간으로 세그먼테이션(620)하였다면, M개의 구간 특징 벡터들이 생성될 수 있다. 또는, 등록 장치가 N개의 음성 신호(610)를 입력 받아, 각각의 음성 신호(610)를 M개의 구간으로 세그먼테이션(620)하였다면, N*M개의 구간 특징 벡터들이 생성될 수 있다.The feature vector generator 630 may generate a feature vector 640 based on a plurality of sections. Specifically, the feature vector generator 630 may extract at least one section feature vector corresponding to at least one of the plurality of sections. The section feature vector may mean a feature vector generated based on the section divided by the segmentation 620. For example, if the registration device segmented one voice signal 610 into M sections 620, M section feature vectors may be generated. Alternatively, if the registration device receives the N voice signals 610 and performs segmentation 620 of each voice signal 610 into M sections, N*M section feature vectors may be generated.

도 4 내지 도 6을 참조하여, 일 실시예에 따른 특징 벡터를 생성하는 방법을 설명하였다. 일 실시예에 따르면, 도 4를 참조하여 설명한 음성 신호에 상가성 노이즈를 합성하여 특징 벡터를 생성하는 방법, 도 5를 참조하여 설명한 음성 신호에 채널 노이즈를 합성하여 특징 벡터를 생성하는 방법, 및 도 6을 참조하여 설명한 세그먼테이션하여 특징 벡터를 생성하는 방법을 조합하여 다양한 방법으로 특징 벡터를 생성할 수 있다.A method of generating a feature vector according to an exemplary embodiment has been described with reference to FIGS. 4 to 6. According to an embodiment, a method of generating a feature vector by synthesizing additive noise to a voice signal described with reference to FIG. 4, a method of generating a feature vector by synthesizing channel noise with a voice signal described with reference to FIG. 5, and A feature vector may be generated in various ways by combining the method of generating a feature vector by segmentation described with reference to FIG. 6.

예를 들어, 등록 장치는 N개의 음성 신호에 P개의 상가성 노이즈 신호를 합성하고, M개의 구간을 세그먼테이션하여 N*P*M개의 특징 벡터를 생성할 수 있다. 또는, N개의 음성 신호에 P1개의 상가성 노이즈 신호와 P2개의 채널 노이즈 신호를 합성하고, M개의 구간을 세그먼테이션하여 N*P1*P2*M개의 특징 벡터를 생성할 수도 있다.For example, the registration device may generate N*P*M feature vectors by synthesizing P additive noise signals with N voice signals and segmenting M sections. Alternatively, P1 additive noise signals and P2 channel noise signals may be synthesized with N voice signals, and N*P1*P2*M feature vectors may be generated by segmenting M sections.

등록 장치는 생성된 특징 벡터를 등록 데이터베이스에 저장하여 화자 인식을 위해 화자에 대응하는 등록 데이터베이스를 구축할 수 있다. 구축된 등록 데이터베이스에 기초하여, 테스트 단계에서 화자 인식이 수행될 수 있다.The registration device may store the generated feature vector in the registration database to build a registration database corresponding to the speaker for speaker recognition. Based on the established registration database, speaker recognition may be performed in a test step.

도 7은 일 실시예에 따른 등록 데이터베이스를 구축하는 방법을 설명하기 위한 도면이다. 도 7을 참조하면, 등록 장치는 특징 벡터에 기초하여 등록 데이터베이스를 구축할 수 있다.7 is a diagram for describing a method of constructing a registration database according to an embodiment. Referring to FIG. 7, the registration device may build a registration database based on a feature vector.

생성된 모든 특징 벡터를 등록 데이터베이스에 저장하는 방식으로 등록 데이터베이스를 구축할 수 있지만, 이러한 경우에는 특이값(outlier)에 영향을 많이 받을 수 있고, 테스트 단계에서 모든 특징 벡터와 비교해야 하기 때문에 데이터 처리 성능이 저하될 수 있다.The registration database can be constructed by storing all the generated feature vectors in the registration database, but in this case, it can be affected by outliers a lot, and data processing because it must be compared with all feature vectors in the test stage. Performance may be degraded.

일 실시예에 따른 등록 장치는 복수의 특징 벡터들을 복수의 그룹들로 클러스터링하고, 클러스터링된 복수의 그룹들 중 적어도 하나의 그룹에 대응하는 적어도 하나의 대표 특징 벡터를 추출하여 등록하는 방식으로 등록 데이터베이스를 구축할 수 있다.The registration device according to an embodiment clusters a plurality of feature vectors into a plurality of groups, and extracts and registers at least one representative feature vector corresponding to at least one of the plurality of clustered groups. Can build.

등록 장치는 노이즈의 종류 또는 세그먼테이션된 구간을 기준으로 복수의 특징 벡터들을 복수의 그룹들로 클러스터링할 수 있다. 혹은, 특징 벡터들의 유사도에 기초하여 특징 벡터들을 복수의 그룹들로 클러스터링할 수 있다. 예를 들어, 등록 장치는 특징 벡터를 k-평균 알고리즘에 따라 클러스터링할 수 있다. k-평균 알고리즘은 주어진 데이터를 k개의 클러스터로 묶는 알고리즘으로, 각 클러스터와 거리 차이의 분산을 최소화하는 방식으로 동작할 수 있다. 다만, 클러스터링 방법을 위 예시로 한정하는 것은 아니다. 설계에 따라 다양한 방법이 클러스터링하기 위해 사용될 수 있다.The registration device may cluster a plurality of feature vectors into a plurality of groups based on a type of noise or a segmented section. Alternatively, the feature vectors may be clustered into a plurality of groups based on the similarity of the feature vectors. For example, the registration device may cluster the feature vectors according to the k-means algorithm. The k-means algorithm is an algorithm that combines given data into k clusters, and can operate in a manner that minimizes the variance of the difference between each cluster and the distance. However, the clustering method is not limited to the above example. Depending on the design, various methods can be used for clustering.

등록 장치는 클러스터링된 복수의 그룹들 중 적어도 하나의 그룹에 대응하는 적어도 하나의 대표 특징 벡터를 추출할 수 있다. 대표 특징 벡터는 각 그룹에 포함된 특징 벡터의 대표값일 수 있다. 예를 들어, 대표 특징 벡터는 각 그룹에 포함된 특징 벡터들 중에서 선택되거나, 각 그룹에 포함된 특징 벡터들의 통계적 연산을 통하여 결정될 수 있다. 대표 특징 벡터는 각 그룹에 포함된 특징 벡터들의 평균값, 혹은 중앙값일 수 있다. 대표 특징 벡터를 사용하는 경우 특이값의 영향이 적기 때문에 로버스트한 특징 벡터를 추출할 수 있다. 등록 장치는 N*M개의 특징 벡터를 k개씩 묶어 클러스터링할 수 있고, 각 그룹들의 평균값을 대표 특징 벡터로 추출하여 총 P개의 대표 특징 벡터를 추출할 수 있다. 다만, 대표값을 이용하여 대표 특징 벡터를 추출하는 방법을 위 예시로 한정하는 것은 아니다. 각 그룹에 포함된 특징 벡터들의 수는 서로 다를 수도 있고, 설계에 따라 다양한 방법이 대표 특징 벡터를 추출하기 위해 사용될 수 있다.The registration device may extract at least one representative feature vector corresponding to at least one group from among a plurality of clustered groups. The representative feature vector may be a representative value of the feature vector included in each group. For example, the representative feature vector may be selected from feature vectors included in each group, or may be determined through statistical calculation of feature vectors included in each group. The representative feature vector may be an average value or a median value of feature vectors included in each group. In the case of using a representative feature vector, since the influence of the singular value is small, a robust feature vector can be extracted. The registration device may cluster N*M feature vectors by grouping k, and extract a total of P representative feature vectors by extracting the average value of each group as a representative feature vector. However, the method of extracting the representative feature vector using the representative value is not limited to the above example. The number of feature vectors included in each group may be different, and various methods may be used to extract a representative feature vector according to a design.

도 8은 일 실시예에 따른 화자 인증 방법을 설명하기 위한 도면이다. 이하에서, '등록 음성 신호'(810), '등록 특징 벡터'(835), '대표 등록 특징 벡터'(840)의 명칭은 등록 단계에서 동작함을 강조하기 위하여, 전술한 '음성 신호', '특징 벡터', '대표 특징 벡터' 각각에 '등록'을 부가한 것일 뿐, '등록 음성 신호'(810), '등록 특징 벡터'(835), '대표 등록 특징 벡터'(840)는 '음성 신호', '특징 벡터', '대표 특징 벡터'와 실질적으로 동일하고, 도 2 내지 도 7의 설명은 도 8의 등록 단계에도 적용 가능하다.8 is a diagram for describing a speaker authentication method according to an embodiment. Hereinafter, the names of the'registered voice signal' 810, the'registered feature vector' 835, and the'representative registered feature vector' 840 are used in the above-described'voice signal', 'Registration' is added to each of'feature vector' and'representative feature vector', and'registered voice signal' 810,'registered feature vector' 835, and'representative registered feature vector' 840 are ' It is substantially the same as'voice signal','feature vector', and'representative feature vector', and the description of FIGS.

등록 단계에서, 등록 장치는 화자의 등록 음성 신호(810)를 수신하여 상가성 노이즈(815)와 채널 노이즈(820)를 합성할 수 있다. 합성 신호를 세그먼테이션(825)한 후, 특징 벡터 생성부(830)에 입력하여 등록 특징 벡터(835)를 생성하고, 대표 등록 특징 벡터(840)를 추출하여 등록 데이터베이스를 구축할 수 있다. 등록 특징 벡터(835) 전부를 등록 데이터베이스에 저장하는 경우에는 대표 등록 특징 벡터(840)를 추출하는 단계는 생략할 수 있다.In the registration step, the registration device may receive the speaker's registered voice signal 810 and synthesize the additive noise 815 and the channel noise 820. After segmentation 825 of the synthesized signal, the registered feature vector 835 is generated by inputting it to the feature vector generator 830, and a registration database may be constructed by extracting the representative registered feature vector 840. When all of the registered feature vectors 835 are stored in the registration database, the step of extracting the representative registered feature vectors 840 may be omitted.

화자 인식을 위한 인식 장치는 화자의 입력 음성 신호(845)를 수신할 수 있다. 입력 음성 신호(845)는 테스트 단계에서 인증을 위한 화자의 발화에 따른 음성 신호를 의미할 수 있다. 테스트 단계는 노이즈가 많은 환경에서 수행되기 때문에 입력 음성 신호(845)는 자연적으로 노이즈가 포함될 수 있다.The recognition device for speaker recognition may receive an input voice signal 845 of a speaker. The input voice signal 845 may mean a voice signal according to a speaker's speech for authentication in a test step. Since the test step is performed in a noisy environment, the input speech signal 845 may naturally contain noise.

화자 인식을 위한 인식 장치는 화자의 입력 음성으로부터 특징 벡터를 생성해 등록 데이터베이스에 저장된 특징 벡터와의 비교를 통해서 인식(인증 포함) 여부를 결정하는 장치로서, 예를 들어 소프트웨어 모듈, 하드웨어 모듈 또는 이들의 조합으로 구현될 수 있다. 인식 장치는 스마트 폰, 테블릿 컴퓨터, 랩톱 컴퓨터, 데스크톱 컴퓨터, 텔레비전, 웨어러블 장치, 보안 시스템, 스마트 홈 시스템 등 다양한 컴퓨팅 장치 및/또는 시스템에 탑재될 수 있다.A recognition device for speaker recognition is a device that determines whether or not to recognize (including authentication) by generating a feature vector from the speaker's input voice and comparing it with the feature vector stored in the registration database. For example, a software module, a hardware module, or these It can be implemented in a combination of. The recognition device may be mounted on various computing devices and/or systems such as a smart phone, a tablet computer, a laptop computer, a desktop computer, a television, a wearable device, a security system, and a smart home system.

일 실시예에 따른 인식 장치는 등록 장치를 포함할 수 있고, 이 경우 테스트 단계를 수행하는 인식 장치를 '협의의 인식 장치'라 할 수 있고, 등록 장치까지 포함하는 인식 장치를 '광의의 인식 장치'라 할 수 있다. 인식 장치와 등록 장치를 구별한 것은 각 기능들을 구별하여 설명하기 위함이다. 따라서 실제로 제품을 구현하는 경우에 이들 모두 한 디바이스('광의의 인식 장치')에서 처리하도록 구성할 수 있다. 예를 들어, 등록 음성 신호(810)를 수신하는 등록 장치의 음향 센서와 입력 음성 신호(845)를 수신하는 '협의의 인식 장치'의 음향 센서는 동일할 수 있다. 또한, 등록 장치의 특징 벡터 생성부(830)와 '협의의 인식 장치'의 특징 벡터 생성부(855)는 동일할 수 있다. 이하, 설명의 편의를 위해 인식 장치는 '협의의 인식 장치'를 의미하는 것으로 설명한다.The recognition device according to an embodiment may include a registration device, and in this case, the recognition device performing the test step may be referred to as a'consensus recognition device', and a recognition device including a registration device may be referred to as a'wide recognition device. It can be said. The distinction between the recognition device and the registration device is to distinguish and describe each function. Therefore, when a product is actually implemented, it can be configured to process all of them in one device ('broad sense recognition device'). For example, the acoustic sensor of the registration device that receives the registered voice signal 810 and the acoustic sensor of the'negotiation recognition device' that receives the input voice signal 845 may be the same. In addition, the feature vector generator 830 of the registration device and the feature vector generator 855 of the'negotiation recognition device' may be the same. Hereinafter, for convenience of description, the recognition device will be described as meaning a'negotiate recognition device'.

인식 장치는 입력 특징 벡터의 윈도우 사이즈가 등록 특징 벡터의 윈도우 사이즈와 동일하도록 화자의 인식 음성 신호(845)를 분할 및 추출할 수 있다. 예를 들어, 인식 장치는 화자의 인식 음성 신호(845)를 센터 크롭(Center Crop)하거나, 화자의 인식 음성 신호(845)에 슬라이딩 윈도우(Sliding window)(850)를 수행할 수 있다. 입력 특징 벡터의 윈도우 사이즈가 등록 특징 벡터의 윈도우 사이즈와 동일하여야 각 벡터의 비교가 가능하기 때문이다. 이하, 설명의 편의를 위해 슬라이딩 윈도우(850)를 기준으로 설명하지만, 실시예들은 인식 음성 신호(845)를 분할 및 추출하는 다양한 방법들이 적용될 수 있다.The recognition apparatus may divide and extract the speaker's recognition speech signal 845 so that the window size of the input feature vector is the same as the window size of the registered feature vector. For example, the recognition apparatus may center crop the speaker's recognized speech signal 845 or perform a sliding window 850 on the speaker's recognized speech signal 845. This is because each vector can be compared when the window size of the input feature vector is the same as the window size of the registered feature vector. Hereinafter, for convenience of explanation, the sliding window 850 is used as a reference, but various methods of dividing and extracting the recognized speech signal 845 may be applied in embodiments.

인식 장치는 슬라이딩 윈도우(850)를 수행한 결과를 특징 벡터 생성부(855)에 입력하여 입력 특징 벡터(860)를 생성할 수 있다. 전술한 바와 같이, 특징 벡터 생성부(855)는 특징 벡터 생성부(830)와 동일한 뉴럴 네트워크를 이용하여 입력 특징 벡터(860)를 생성할 수 있다.The recognition device may generate an input feature vector 860 by inputting the result of performing the sliding window 850 into the feature vector generator 855. As described above, the feature vector generator 855 may generate the input feature vector 860 using the same neural network as the feature vector generator 830.

인식 장치는 등록 단계에서 구축된 등록 데이터베이스에 저장된 등록 사용자의 적어도 하나의 등록 특징 벡터(835) 또는 대표 등록 특징 벡터(840)와 적어도 하나의 입력 특징 벡터(860)를 비교(865)할 수 있다. 등록 사용자는 등록 데이터베이스에 저장된 등록 특징 벡터(또는, 대표 등록 특징 벡터)에 대응되는 화자를 의미할 수 있다.The recognition device may compare (865) at least one registered feature vector 835 or representative registered feature vector 840 of the registered user stored in the registration database established in the registration step with at least one input feature vector 860 . The registered user may mean a speaker corresponding to the registered feature vector (or representative registered feature vector) stored in the registration database.

인식 장치는 비교(865) 결과에 기초하여, 화자를 인증(870)할 수 있다. 인식 장치는 등록 특징 벡터(835) 또는 대표 등록 특징 벡터(840)와 입력 특징 벡터(860) 사이의 유사도 스코어에 기초하여 화자를 인증(870)할 수 있다. 예를 들어, 인식 장치는 유사도 스코어의 대표값이 미리 정해진 임계치 이상인 경우에는 화자 인증(870)에 성공한 것으로 판단할 수 있다. 또는, 인식 장치는 입력 특징 벡터(860)와의 유사도 스코어가 임계치 이상인 등록 특징 벡터(835) 또는 대표 등록 특징 벡터(840)의 개수가 미리 정해진 수 이상인 경우에만 화자 인증(870)에 성공한 것으로 판단할 수도 있다. 다만, 화자 인증(870) 조건은 반드시 위 예시에 한정되는 것은 아니고 다양한 조건이 적용될 수 있다.The recognition device may authenticate 870 a speaker based on the result of the comparison 865. The recognition device may authenticate the speaker 870 based on the registered feature vector 835 or the similarity score between the representative registered feature vector 840 and the input feature vector 860. For example, when the representative value of the similarity score is equal to or greater than a predetermined threshold, the recognition device may determine that the speaker authentication 870 is successful. Alternatively, the recognition device may determine that the speaker authentication 870 has succeeded only when the number of registered feature vectors 835 or representative registered feature vectors 840 having a similarity score with the input feature vector 860 equal to or greater than a threshold is greater than a predetermined number. May be. However, the condition of the speaker authentication 870 is not necessarily limited to the above example, and various conditions may be applied.

유사도 스코어는 예를 들어, 매칭 스코어(matching score) 또는 디스턴스 스코어(distance score) 등의 형태로 결정될 수 있다. 매칭 스코어는 등록 특징 벡터(835) 또는 대표 등록 특징 벡터(840)와 입력 특징 벡터(860)가 유사한 정도, 다시 말해 특징 벡터들 간의 유사도를 나타내는 스코어에 해당할 수 있다. 매칭 스코어가 낮다는 것은 특징 벡터들 간의 유사도가 낮다는 것을 의미하고, 매칭 스코어가 높다는 것은 특징 벡터들 간의 유사도 높다는 것을 의미할 수 있다. 또한, 디스턴스 스코어는 등록 특징 벡터(835) 또는 대표 등록 특징 벡터(840)와 입력 특징 벡터(860)간의 특징 거리(예를 들어, 유클리디언 거리(Euclidean Distance))를 나타내는 스코어에 해당할 수 있다. 디스턴스 스코어가 낮다는 것은 특징 벡터 공간에서 특징 벡터들 간의 특징 거리가 가깝다는 것을 의미하고, 디스턴스 스코어가 높다는 것은 특징 벡터들 간의 특징 거리가 멀다는 것을 의미할 수 있다.The similarity score may be determined in the form of, for example, a matching score or a distance score. The matching score may correspond to a degree of similarity between the registered feature vector 835 or the representative registered feature vector 840 and the input feature vector 860, that is, a score indicating the degree of similarity between feature vectors. A low matching score may mean that the similarity between the feature vectors is low, and a high match score may mean that the similarity between the feature vectors is high. In addition, the distance score may correspond to a score representing a feature distance (e.g., Euclidean distance) between the registered feature vector 835 or the representative registered feature vector 840 and the input feature vector 860. have. A low distance score means that a feature distance between feature vectors is close in a feature vector space, and a high distance score means that feature distances between feature vectors are far.

도 9는 일 실시예에 따른 화자 인식 방법을 설명하기 위한 순서도이다. 도 9를 참조하면, 인식 장치는 화자의 음성 신호를 수신한다(910). 9 is a flowchart illustrating a speaker recognition method according to an exemplary embodiment. Referring to FIG. 9, the recognition device receives a speaker's voice signal (910).

인식 장치는 음성 신호에 기초하여 적어도 하나의 입력 특징 벡터를 생성한다(920). 입력 특징 벡터의 개수는 어플리케이션에서 요구하는 보안 수준 또는 반응 시간에 기초하여 결정될 수 있다. 예를 들어, 결제 어플리케이션, 또는 스마트 폰의 잠금 해제(unlock)에 일 실시예에 따른 화자 인증 방법이 적용될 수 있다. 스마트 폰의 잠금 해제(unlock)에 화자 인증 방법이 적용되는 경우, 결제 어플리케이션에 사용되는 경우 보다 사용자 편의성이 더 중시되는 바, 결제 어플리케이션에 사용되는 경우 보다 더 적은 수의 입력 특징 벡터로 충분할 수 있다.The recognition device generates at least one input feature vector based on the speech signal (920). The number of input feature vectors may be determined based on the security level or response time required by the application. For example, a speaker authentication method according to an embodiment may be applied to a payment application or to unlock a smart phone. When a speaker authentication method is applied to unlock a smartphone, user convenience is more important than when used in a payment application, so a smaller number of input feature vectors may be sufficient than when used in a payment application. .

인식 장치는 화자의 음성 신호를 도메인 변환하고, 도메인 변환된 결과로부터 입력 특징 벡터를 추출할 수 있다. 구체적으로, 인식 장치는 화자의 음성 신호에 고속 푸리에 변환을 수행할 수 있고, 고속 푸리에 변환의 결과에 따라, 고속 푸리에 변환의 결과에 패딩(padding)을 수행할 수 있다.The recognition apparatus may domain-transform the speaker's speech signal and extract an input feature vector from the domain-transformed result. Specifically, the recognition apparatus may perform fast Fourier transform on the speaker's speech signal, and may perform padding on the result of fast Fourier transform according to the result of fast Fourier transform.

고속 푸리에 변환을 수행한 결과에 특정 구간의 데이터가 없을 수 있다. 이러한 경우, 패딩을 통해 데이터를 메꿀 수 있다. 고속 푸리에 변환한 결과, 특정 구간의 데이터가 없는 경우에는 인접하는 구간의 데이터에 기초하여 패딩을 할 수 있다. 이는, 음성 신호는 연속적인 신호이며 충분히 짧은 시간 동안에는 데이터 값이 급변하지 않는다는 가정에 기초할 수 있다. 예를 들어, 데이터가 상실된 구간이 복수 개의 단위 구간을 포함한다면, 첫번째 상실 구간의 데이터는 바로 인접한 상실되지 않은 단위 구간의 데이터와 같은 값으로 결정하고, 두번째 상실 구간의 데이터는 그 다음 인접한 단위 구간의 데이터와 같은 값으로 결정할 수 있다.There may be no data of a specific section in the result of performing the fast Fourier transform. In this case, the data can be filled through padding. As a result of the fast Fourier transform, when there is no data of a specific section, padding may be performed based on data of an adjacent section. This can be based on the assumption that the voice signal is a continuous signal and that the data value does not change rapidly for a sufficiently short time. For example, if the section in which data is lost includes a plurality of unit sections, the data of the first lost section is determined to be the same value as the data of the immediately adjacent unlost unit section, and the data of the second lost section is the next adjacent unit section. It can be determined by the same value as the data of.

인식 장치는 등록 데이터베이스에 저장된 등록 사용자의 적어도 하나의 등록 특징 벡터와 적어도 하나의 입력 특징 벡터를 비교하고(930), 비교 결과에 기초하여, 화자를 인식한다(940). 화자 인식은 화자 인증과 화자 식별을 포함할 수 있다. 화자 인증은 말하는 사람이 본인인지 아닌지를 인증하는 것이며, 화자 식별은 말하는 사람이 등록된 여러 화자들 중의 누구인지를 알아내는 것을 의미할 수 있다. 아래에서, 도 10을 참조하여 화자 식별 방법이 설명된다.The recognition device compares at least one registered feature vector of the registered user stored in the registration database with at least one input feature vector (930), and recognizes the speaker based on the comparison result (940). Speaker recognition may include speaker authentication and speaker identification. Speaker authentication is to certify whether the speaker is the person or not, and speaker identification can mean finding out who the speaker is among several registered speakers. In the following, a speaker identification method will be described with reference to FIG. 10.

도 10은 일 실시예에 따른 화자 식별 방법을 설명하기 위한 도면이다. 도 10을 참조하면, 일 실시예에 따른 화자 식별 방법은 말하는 사람이 등록된 여러 화자들 중의 누구인지를 알아내는 방법에 관한 것일 수 있다. 화자 식별 방법은 등록 사용자가 복수인 경우로, 화자 인증을 여러 번 수행하는 방식으로 동작할 수 있다.10 is a diagram for describing a speaker identification method according to an exemplary embodiment. Referring to FIG. 10, a method of identifying a speaker according to an embodiment may relate to a method of finding out who the speaker is among several registered speakers. The speaker identification method is a case in which there are a plurality of registered users, and can be operated by performing speaker authentication multiple times.

화자 식별 방법의 등록 단계는, 도 8을 참조하여 설명한 화자 인증 방법의 등록 단계와 동일한 방법으로 수행될 수 있다. 다만, 화자 인증 방법의 경우 1명의 화자에 대한 특징 벡터를 생성하였으나, 화자 식별 방법의 경우 복수 명, 예를 들어 N명의 화자에 대한 특징 벡터를 각각 생성하고, 이에 기초하여 N명의 화자에 대한 등록 데이터베이스를 구축할 수 있다.The registration step of the speaker identification method may be performed in the same manner as the registration step of the speaker authentication method described with reference to FIG. 8. However, in the case of the speaker authentication method, a feature vector for one speaker is generated, but in the case of the speaker identification method, a feature vector for a plurality of speakers, for example, N speakers, is generated, and based on this, N speakers are registered. Build a database.

화자 식별 방법의 테스트 단계 또한 도 8을 참조하여 설명한 화자 인증 방법의 테스트 단계와 동일한 방법으로 수행될 수 있다. 예를 들어, 각 개인별로 생성된 등록 특징 벡터(1020) 또는 각 개인별로 생성된 대표 등록 특징 벡터(1025)와 입력 특징 벡터(1040) 사이의 유사도를 측정(1045)하여 유사도 수치 벡터(1050)를 결정할 수 있다. 유사도 수치 벡터(1050)는 유사도 스코어의 일 예일 수 있다. 화자 식별 방법에 따르면, 입력 특징 벡터(1040)과의 유사도 수치 벡터(1050)의 크기가 가장 높은 등록 특징 벡터(1020) 또는 대표 등록 특징 벡터(1025)에 대응되는 등록 사용자를 화자로 식별(1055)할 수 있다. 다만, 이 경우에도 유사도 수치 벡터의 크기가 임계치 이상이어야 한다. 만약 모든 유사도 수치 벡터(1050)의 크기가 임계치 이하라면, 등록 사용자에 해당하지 아니함을 출력할 수 있다. 또는, 유사도 수치 벡터(1050)의 크기가 임계치 이상인 등록 특징 벡터(1020) 또는 대표 등록 특징 벡터(1025)의 수가 가장 많은 사용자를 화자로 식별(1055)할 수 있다. 또는, 유사도 수치 벡터(1050)의 크기가 임계치 이상인 등록 특징 벡터(1020) 또는 대표 등록 특징 벡터(1025)의 대표값이 가장 큰 사용자를 화자로 식별(1055)할 수도 있다. 다만, 화자 식별(1055) 조건은 반드시 위 예시에 한정되는 것은 아니고 다양한 조건이 적용될 수 있다.The test step of the speaker identification method may also be performed in the same manner as the test step of the speaker authentication method described with reference to FIG. 8. For example, by measuring the similarity between the registration feature vector 1020 generated for each individual or the representative registration feature vector 1025 generated for each individual and the input feature vector 1040 (1045), the similarity numerical vector 1050 Can be determined. The similarity numerical vector 1050 may be an example of a similarity score. According to the speaker identification method, a registered feature vector 1020 having the highest similarity value vector 1050 with the input feature vector 1040 or a registered user corresponding to the representative registered feature vector 1025 is identified as a speaker (1055 )can do. However, even in this case, the size of the similarity numerical vector must be greater than or equal to the threshold. If the sizes of all the similarity numerical vectors 1050 are less than or equal to the threshold, it may be output that they do not correspond to registered users. Alternatively, a user with the largest number of registered feature vectors 1020 or representative registered feature vectors 1025 having a size of the similarity numerical vector 1050 greater than or equal to a threshold may be identified as a speaker (1055). Alternatively, a registered feature vector 1020 having a size of the similarity numerical vector 1050 greater than or equal to a threshold value or a user having the largest representative value of the representative registered feature vector 1025 may be identified as a speaker (1055). However, the condition of the speaker identification 1055 is not necessarily limited to the above example, and various conditions may be applied.

도 11는 일 실시예에 따른 화자 인식을 위한 등록 장치의 블록도이다. 도 11를 참조하면, 일 실시예에 따른 등록 장치(1100)는 프로세서(1110)를 포함한다. 등록 장치(1100)는 메모리(1130), 통신 인터페이스(1150), 및 센서들(1170)을 더 포함할 수 있다. 프로세서(1110), 메모리(1130), 통신 인터페이스(1150), 및 센서들(1170)은 통신 버스(1105)를 통해 서로 통신할 수 있다. Fig. 11 is a block diagram of a registration device for speaker recognition according to an embodiment. Referring to FIG. 11, the registration device 1100 according to an embodiment includes a processor 1110. The registration device 1100 may further include a memory 1130, a communication interface 1150, and sensors 1170. The processor 1110, the memory 1130, the communication interface 1150, and the sensors 1170 may communicate with each other through the communication bus 1105.

프로세서(1110)는 음성 신호에 노이즈 신호를 합성하고, 음성 신호 및 노이즈 신호의 합성 신호에 기초하여 특징 벡터를 생성하며, 특징 벡터에 기초하여 상기 화자에 대응하는 등록 데이터베이스를 구축한다. The processor 1110 synthesizes a noise signal with a voice signal, generates a feature vector based on the synthesized signal of the voice signal and the noise signal, and builds a registration database corresponding to the speaker based on the feature vector.

메모리(1130)는 특징 벡터들을 포함하는 등록 데이터베이스를 포함할 수 있다. 메모리(1130)는 휘발성 메모리 또는 비 휘발성 메모리일 수 있다.The memory 1130 may include a registration database including feature vectors. The memory 1130 may be a volatile memory or a non-volatile memory.

센서들(1170)은 예를 들어, 화자의 음성 신호를 수신하는 음향 센서 등을 포함할 수 있다. 센서들은 다양한 음향 정보를 수집할 수 있다. The sensors 1170 may include, for example, an acoustic sensor that receives a speaker's voice signal. Sensors can collect various acoustic information.

실시예에 따라서, 프로세서(1110)는 음성 신호에 기초하여 제2 특징 벡터를 생성하고, 특징 벡터 및 제2 특징 벡터 중 적어도 하나에 기초하여 등록 데이터베이스를 구축할 수 있다. 프로세서(1110)는 합성 신호를 도메인 변환하고, 도메인 변환된 결과로부터 특징 벡터를 추출할 수 있다. 프로세서(1110)는 음성 신호에 상가성 노이즈(additive noise) 신호를 더할 수 있다. 프로세서(1110)는 음성 신호 및 채널 노이즈(channel noise) 신호의 컨볼루션 연산을 수행할 수 있다. 프로세서(1110)는 음성 신호 및 노이즈 신호의 합성 신호를 복수의 구간(section)들로 세그먼테이션하고, 복수의 구간들 중 적어도 하나에 대응하는 적어도 하나의 구간 특징 벡터를 추출할 수 있다. 프로세서(1110)는 특징 벡터 및 제2 특징 벡터 중 적어도 하나를 포함하는 복수의 특징 벡터들을 복수의 그룹들로 클러스터링하고, 복수의 그룹들 중 적어도 하나의 그룹에 대응하는 적어도 하나의 대표 특징 벡터를 추출할 수 있다.According to an embodiment, the processor 1110 may generate a second feature vector based on a voice signal, and build a registration database based on at least one of the feature vector and the second feature vector. The processor 1110 may domain transform the synthesized signal and extract a feature vector from the domain transformed result. The processor 1110 may add an additive noise signal to the voice signal. The processor 1110 may perform a convolution operation of a voice signal and a channel noise signal. The processor 1110 may segment the synthesized signal of the speech signal and the noise signal into a plurality of sections, and extract at least one section feature vector corresponding to at least one of the plurality of sections. The processor 1110 clusters a plurality of feature vectors including at least one of a feature vector and a second feature vector into a plurality of groups, and generates at least one representative feature vector corresponding to at least one of the plurality of groups. Can be extracted.

이 밖에도, 프로세서(1110)는 도 2 내지 도 7을 통해 전술한 적어도 하나의 방법 또는 적어도 하나의 방법에 대응되는 알고리즘을 수행할 수 있다. 프로세서(1110)는 프로그램을 실행하고, 등록 장치(1100)를 제어할 수 있다. 프로세서(1110)에 의하여 실행되는 프로그램 코드는 메모리(1130)에 저장될 수 있다. 등록 장치(1100)는 입출력 장치(미도시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 데이터를 교환할 수 있다. 등록 장치(1100)는 스마트 폰, 테블릿 컴퓨터, 랩톱 컴퓨터, 데스크톱 컴퓨터, 텔레비전, 웨어러블 장치, 보안 시스템, 스마트 홈 시스템 등 다양한 컴퓨팅 장치 및/또는 시스템에 탑재될 수 있다.In addition, the processor 1110 may perform at least one method or an algorithm corresponding to at least one method described above with reference to FIGS. 2 to 7. The processor 1110 may execute a program and control the registration device 1100. Program codes executed by the processor 1110 may be stored in the memory 1130. The registration device 1100 is connected to an external device (eg, a personal computer or a network) through an input/output device (not shown), and can exchange data. The registration device 1100 may be mounted on various computing devices and/or systems such as a smart phone, a tablet computer, a laptop computer, a desktop computer, a television, a wearable device, a security system, and a smart home system.

일 실시예에 따른 인식 장치는 프로세서를 포함한다. 인식 장치는 메모리, 통신 인터페이스, 및 센서들을 더 포함할 수 있다. 프로세서, 메모리, 통신 인터페이스, 및 센서들은 통신 버스를 통해 서로 통신할 수 있다. The recognition device according to an embodiment includes a processor. The recognition device may further include a memory, a communication interface, and sensors. The processor, memory, communication interface, and sensors may communicate with each other through a communication bus.

프로세서는 음성 신호에 기초하여 적어도 하나의 입력 특징 벡터를 생성하고, 등록 데이터베이스에 저장된 등록 사용자의 적어도 하나의 등록 특징 벡터와 적어도 하나의 입력 특징 벡터를 비교하며, 비교 결과에 기초하여 화자를 인식한다. The processor generates at least one input feature vector based on the speech signal, compares at least one registered feature vector of the registered user with at least one input feature vector stored in the registration database, and recognizes a speaker based on the comparison result. .

메모리는 특징 벡터들을 포함하는 등록 데이터베이스를 포함할 수 있다. 등록 데이터베이스는 등록 사용자의 등록을 위한 음성 신호 및 노이즈 신호의 합성 신호에 기초하여 생성되는 적어도 하나의 등록 특징 벡터를 포함할 수 있다. 메모리는 휘발성 메모리 또는 비 휘발성 메모리일 수 있다.The memory may include a registration database containing feature vectors. The registration database may include at least one registration feature vector generated based on a synthesized signal of a voice signal and a noise signal for registration of a registered user. The memory may be a volatile memory or a non-volatile memory.

센서들은 예를 들어, 화자의 음성 신호를 수신하는 음향 센서 등을 포함할 수 있다. 센서들은 다양한 음향 정보를 수집할 수 있다. The sensors may include, for example, an acoustic sensor for receiving a speaker's voice signal. Sensors can collect various acoustic information.

실시예에 따라서, 프로세서는 화자의 음성 신호를 도메인 변환하고, 도메인 변환된 결과로부터 입력 특징 벡터를 추출할 수 있다. 프로세서는 입력 특징 벡터의 윈도우 사이즈가 등록 특징 벡터의 윈도우 사이즈와 동일하도록, 화자의 음성 신호에 슬라이딩 윈도우(Sliding window)를 수행할 수 있다. 프로세서는 화자의 음성 신호에 고속 푸리에 변환을 수행하고, 고속 푸리에 변환의 결과에 따라, 고속 푸리에 변환의 결과에 패딩(padding)을 수행할 수 있다.According to an embodiment, the processor may perform domain transformation on the speaker's speech signal and extract an input feature vector from the domain transformation result. The processor may perform a sliding window on the speaker's speech signal so that the window size of the input feature vector is the same as the window size of the registered feature vector. The processor may perform a fast Fourier transform on a speaker's speech signal, and may perform padding on a result of the fast Fourier transform according to the result of the fast Fourier transform.

인식 장치(1100)는 스마트 폰, 테블릿 컴퓨터, 랩톱 컴퓨터, 데스크톱 컴퓨터, 텔레비전, 웨어러블 장치, 보안 시스템, 스마트 홈 시스템 등 다양한 컴퓨팅 장치 및/또는 시스템에 탑재될 수 있다.The recognition device 1100 may be mounted on various computing devices and/or systems such as a smart phone, a tablet computer, a laptop computer, a desktop computer, a television, a wearable device, a security system, and a smart home system.

도 12는 일 실시예에 따른 복수 개의 채널을 통한 화자 인증 방법을 설명하기 위한 도면이다. 도 12를 참조하면, 일 실시예에 따른 등록 단계와 테스트 단계는 복수 개의 채널을 통해 수행될 수 있다.12 is a diagram illustrating a method of authenticating a speaker through a plurality of channels according to an exemplary embodiment. Referring to FIG. 12, the registration step and the test step according to an embodiment may be performed through a plurality of channels.

등록 장치는 복수 개의 음향 센서를 포함할 수 있고, 각각의 음향 센서 별로 채널이 구성될 수 있다. 채널은 정보, 또는 신호의 전달이 보장되는 통로를 의미하고, 각각의 채널들은 독립되어 있어 각 채널들의 신호는 간섭 받지 않고 독립성을 갖을 수 있다. 이하, 설명의 편의를 위하여 두 개의 채널을 구비한 환경을 기준으로 설명하지만, 실시예들은 세 개 이상의 채널을 구비한 환경에서도 동일하게 적용될 수 있다.The registration device may include a plurality of acoustic sensors, and a channel may be configured for each acoustic sensor. A channel means a path through which information or signal transmission is guaranteed, and since each channel is independent, signals of each channel can have independence without interference. Hereinafter, for convenience of description, the description is based on an environment including two channels, but the embodiments may be equally applied to an environment including three or more channels.

등록 단계에서, 등록 장치의 음향 센서 각각은 화자의 등록 음성 신호 1(1210)과 화자의 등록 음성 신호 2(1211)를 수신할 수 있다. 화자의 등록 음성 신호 1 (1210), 화자의 등록 음성 신호 2(1211)는 동일한 음원으로부터 동시에 발생된 신호로서, 예를 들어 화자의 등록 음성 신호 1 (1210)는 등록 장치의 하단에 위치한 마이크로 입력된 신호이고, 등록 음성 신호 2(1211)는 등록 장치의 상단에 위치한 마이크로 입력된 신호일 수 있다.In the registration step, each of the acoustic sensors of the registration device may receive the speaker's registered voice signal 1 (1210) and the speaker's registered voice signal 2 (1211). The speaker's registered voice signal 1 (1210) and the speaker's registered voice signal 2 (1211) are signals generated simultaneously from the same sound source.For example, the speaker's registered voice signal 1 (1210) is a microphone input located at the bottom of the registration device. The registered signal, and the registered voice signal 2 1211 may be a signal input to a microphone located at the top of the registration device.

복수 개의 채널을 통한 등록 단계의 동작은, 복수 개의 채널을 통해 독립적으로 수행될 뿐, 도 8을 참조하여 설명한 단일 채널을 통한 등록 단계의 구체적인 방법은 복수 개의 채널을 통한 등록 단계에도 동일하게 적용될 수 있다. 예를 들어, 등록 장치의 하단에 위치한 마이크가 수신한 화자의 등록 음성 신호 1 (1210)에 상가성 노이즈(1215)와 채널 노이즈(1220)를 합성하고, 합성 신호를 세그먼테이션(1225)한 후, 특징 벡터 생성부(1230)에 입력하여 등록 특징 벡터를 생성할 수 있고, 등록 장치의 상단에 위치한 마이크가 수신한 화자의 등록 음성 신호 2 (1211) 또한 동일한 방법을 통해 독립적으로 등록 특징 벡터를 생성할 수 있다.The operation of the registration step through a plurality of channels is only performed independently through a plurality of channels, and the specific method of the registration step through a single channel described with reference to FIG. 8 can be applied equally to the registration step through a plurality of channels. have. For example, after synthesizing the additive noise 1215 and the channel noise 1220 to the speaker's registered voice signal 1 1210 received by the microphone located at the bottom of the registration device, and segmenting the synthesized signal 1225, A registered feature vector can be generated by inputting it into the feature vector generator 1230, and the registered voice signal 2 1211 of the speaker received by the microphone located at the top of the registration device also independently generates a registered feature vector through the same method. can do.

각각의 채널에서 생성된 등록 특징 벡터에 기초하여 대표 등록 특징 벡터(1240)을 추출하고, 이에 기초하여 등록 데이터베이스를 구축할 수 있다. 복수 개의 채널 각각에서 등록 특징 벡터를 생성하여 등록 특징 벡터가 다양해질 수 있다.A representative registration feature vector 1240 may be extracted based on the registration feature vector generated in each channel, and a registration database may be constructed based on this. Registration feature vectors may be diversified by generating a registration feature vector in each of a plurality of channels.

테스트 단계 또한 등록 단계와 마찬가지로 복수 개의 채널을 통해 독립적으로 수행될 수 있다. 예를 들어 화자의 입력 음성 신호 1 (1245)는 등록 장치의 하단에 위치한 마이크로 입력되고, 등록 음성 신호 2(1246)는 등록 장치의 상단에 위치한 마이크로 입력되어, 각각의 채널에서 독립적으로 입력 특징 벡터를 생성할 수 있다. 마찬가지로, 복수 개의 채널 각각에서 입력 특징 벡터를 생성하기 때문에 입력 특징 벡터가 다양해질 수 있다.Like the registration step, the test step may be independently performed through a plurality of channels. For example, the speaker's input voice signal 1 (1245) is input to a microphone located at the bottom of the registration device, and the registered voice signal signal 2 (1246) is input to a microphone located at the top of the registration device, and input feature vectors independently from each channel Can be created. Likewise, since input feature vectors are generated in each of a plurality of channels, input feature vectors may be diversified.

도 13은 일 실시예에 따른 채널 선택을 통한 화자 인증 방법을 설명하기 위한 도면이다.13 is a diagram for explaining a speaker authentication method through channel selection according to an embodiment.

도 13을 참조하면, 일 실시예에 따른 등록 장치는 복수 개의 음향 센서를 포함할 수 있고, 각각의 음향 센서 별로 채널이 구성될 수 있다. 이하, 설명의 편의를 위하여 두 개의 채널을 구비한 환경을 기준으로 설명하지만, 실시예들은 세 개 이상의 채널을 구비한 환경에서도 동일하게 적용될 수 있다. 도 1내지 도12의 설명은 도 13에도 적용 가능하므로. 중복되는 내용의 설명은 생략한다.Referring to FIG. 13, the registration device according to an embodiment may include a plurality of acoustic sensors, and a channel may be configured for each acoustic sensor. Hereinafter, for convenience of description, the description is based on an environment including two channels, but the embodiments may be equally applied to an environment including three or more channels. The description of FIGS. 1 to 12 is applicable to FIG. 13 as well. Description of the duplicated content will be omitted.

일 실시예에 따른 등록 장치의 음향 센서 각각은 화자의 음성 신호 1(1310)과 화자의 등록 음성 신호 2(1311)를 수신할 수 있다. 등록 장치는, 수신한 화자의 음성 신호들(1310, 1311)을 전처리(1320)할 수 있다.Each of the acoustic sensors of the registration device according to an embodiment may receive a speaker's voice signal 1 (1310) and a speaker's registered voice signal 2 (1311). The registration device may pre-process (1320) the received speaker's voice signals 1310 and 1311.

일 예로, 등록 장치는 화자의 음성 신호들(1310, 1311)의 차이에 기초하여 노이즈를 추정할 수 있고, 화자의 음성 신호들(1310, 1311) 각각에서 노이즈를 차감하여 노이즈가 제거된 신호를 획득할 수 있다. 예를 들어, 화자의 음성 신호들(1310, 1311)의 공통된 부분은 화자의 음성에 대응할 확률이 높고, 화자의 음성 신호들(1310, 1311)의 차이는 노이즈에 대응할 확률이 높을 수 있다. 이를 이용하여, 화자의 음성 신호들(1310, 1311)의 차이에 기초하여 노이즈를 추정할 수 있고, 화자의 음성 신호들(1310, 1311) 각각에서 노이즈를 차감하여 노이즈가 제거된 신호를 획득할 수 있다.For example, the registration device may estimate noise based on the difference between the speaker's voice signals 1310 and 1311, and subtract the noise from each of the speaker's voice signals 1310 and 1311 to obtain a signal from which noise has been removed. Can be obtained. For example, a common portion of the speaker's voice signals 1310 and 1311 may have a high probability of corresponding to the speaker's voice, and a difference between the speaker's voice signals 1310 and 1311 may have a high probability of corresponding to noise. By using this, noise can be estimated based on the difference between the speaker's speech signals 1310 and 1311, and noise is removed by subtracting the noise from each of the speaker's speech signals 1310 and 1311. I can.

다른 예로, 등록 장치는 복수 개의 채널을 통해 수신한 상기 화자의 음성 신호들 중 어느 하나를 선택할 수 있다. 허용 가능한 한계 입력이 존재하는 등록 장치의 음향 센서에, 허용되는 입력 크기 이상의 음성 신호가 입력되는 경우 클리핑(clipping)과 같은 등록 장치의 하드웨어 스펙(spec)으로 인한 인식 오류가 발생할 수 있다. 예를 들어, 음향 센서에 너무 가까운 곳에서 음성 신호를 입력하거나, 너무 큰 발성으로 음성 신호를 입력하는 경우 클리핑이 발생할 수 있다. 단일 채널을 통한 화자 인식 방법에 따르면, 클리핑이 발생으로 인한 인식 오류가 발생할 수 있다. 등록 장치는 구간 별로, 복수 개의 채널을 통해 수신한 상기 화자의 음성 신호들 중 어느 하나를 선택하여, 이러한 오류를 줄일 수 있다.As another example, the registration device may select any one of the speaker's voice signals received through a plurality of channels. When a voice signal of more than an allowable input size is input to an acoustic sensor of a registration device in which an allowable limit input exists, a recognition error may occur due to a hardware specification of the registration device such as clipping. For example, clipping may occur when a voice signal is input from a location too close to an acoustic sensor or a voice signal is input with too loud a voice. According to the speaker recognition method through a single channel, recognition errors may occur due to clipping. The registration device may reduce such an error by selecting any one of the speaker's voice signals received through a plurality of channels for each section.

예를 들어, 등록 장치 하단의 음향 센서에 가까운 곳에서 음성 신호를 입력하는 경우, 등록 장치 하단의 음향 센서에서 입력 받은 화자의 음성 신호(1310)은 클리핑될 수 있지만, 등록 장치 상단의 음향 센서에서 입력 받은 화자의 음성 신호(1311)는 정상적으로 입력될 수 있다. 이러한 경우, 전처리(1320)단계에서 클리핑이 일어나지 않은, 등록 장치 상단의 음향 센서를 통해 입력 받은 화자의 음성 신호(1311)를 선택하여 클리핑 문제를 해결할 수 있다.For example, when a voice signal is input from a location close to the acoustic sensor at the bottom of the registration device, the speaker's voice signal 1310 received from the acoustic sensor at the bottom of the registration device may be clipped, but from the acoustic sensor at the top of the registration device. The received speaker's voice signal 1311 may be normally input. In this case, it is possible to solve the clipping problem by selecting the speaker's voice signal 1311 received through the acoustic sensor on the top of the registration device in which clipping has not occurred in the preprocessing step 1320.

나아가, 등록 장치는 구간 별로, 장치는 복수 개의 채널을 통해 수신한 상기 화자의 음성 신호들 중 어느 하나를 선택할 수도 있다. 예를 들어, 제1 구간에서는 음성 신호 1(1310)을, 제2 구간에서는 음성 신호 2(1311)를 선택할 수 있다.Furthermore, the registration device may select any one of the speaker's voice signals received through a plurality of channels for each section. For example, in the first section, the audio signal 1 (1310) may be selected, and in the second section, the audio signal 2 (1311) may be selected.

이후 동작(1330 내지 1380)은, 도 2를 참조하여 설명된 화자 인식을 위한 등록 시스템의 동작(220 내지 270)과 동일하게 적용될 수 있다.Subsequent operations 1330 to 1380 may be applied in the same manner as operations 220 to 270 of the registration system for speaker recognition described with reference to FIG. 2.

도 14는 일 실시예에 따른 등록 장치의 위치 및 방향에 따른 발성 변화를 극복할 수 있는 방법을 설명하기 위한 도면이다.14 is a diagram for describing a method of overcoming a change in vocalization according to a location and direction of a registration device according to an exemplary embodiment.

등록 장치가 단일 채널을 통해 음성 신호를 입력 받는 경우에는, 등록 장치의 반향 특성에 따른 발성 변화로 인해 인식 오류가 발생할 수 있다. 예를 들어, 등록 단계(1400)에서는 등록 장치의 음향 센서가 열린 공간에 위치하여 테이블에 의한 반향이 존재하지 않고, 테스트 단계(1450)에서는 음향 센서가 테이블 위에 위치하여 테이블에 의한 반향이 존재할 수 있다. 이러한 경우 등록 장치의 반향 특성에 따른 발성 변화로 인해 인식 오류가 발생할 수 있다.When the registration device receives a voice signal through a single channel, a recognition error may occur due to a change in vocalization according to the echo characteristics of the registration device. For example, in the registration step 1400, the acoustic sensor of the registration device is located in an open space so that there is no reverberation by the table, and in the test step 1450, the acoustic sensor is located on the table and there may be reverberation by the table. have. In this case, a recognition error may occur due to a change in vocalization according to the echo characteristics of the registration device.

등록 장치가 복수 개의 채널을 이용하여 등록 특징 벡터를 추가하는 경우에는, 등록 장치의 방향에 따른 발성 변화를 커버하여 화자 인식률을 증가할 수 있다. 예를 들어, 등록 단계(1400)에서, 등록 장치 하단의 음향 센서는 열린 공간에 위치하지만, 등록 장치 상단의 음향 센서는 테이블 위에 위치하여 테스트 단계(1450)와 동일한 환경에서 등록을 수행할 수 있다. 따라서, 등록 장치가 복수 개의 채널을 이용하는 경우에는 등록 장치의 반향 특성에 따른 발성 변화를 커버할 수 있다.When the registration device adds a registration feature vector using a plurality of channels, it is possible to increase a speaker recognition rate by covering a change in speech according to the direction of the registration device. For example, in the registration step 1400, the acoustic sensor at the bottom of the registration device is located in an open space, but the acoustic sensor at the top of the registration device is located on the table, so that registration can be performed in the same environment as the test step 1450. . Accordingly, when the registration device uses a plurality of channels, it is possible to cover a change in speech according to the echo characteristics of the registration device.

또한, 등록 장치가 복수 개의 채널을 이용하더라도, 복수 개의 채널을 병렬 처리할 수 있는 환경, 예를 들어 멀티스레딩(multithreading) 환경에서는 화자 인식 시에 추가 지연 시간이 발생하지 않으면서 화자 인식률을 증가할 수 있다.In addition, even if the registration device uses a plurality of channels, in an environment in which a plurality of channels can be processed in parallel, for example, in a multithreading environment, the speaker recognition rate can be increased without causing additional delay time during speaker recognition. I can.

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented as a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the devices, methods, and components described in the embodiments include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA). array), programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions, such as one or more general purpose computers or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of software. For the convenience of understanding, although it is sometimes described that one processing device is used, one of ordinary skill in the art, the processing device is a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to behave as desired or processed independently or collectively. You can command the device. Software and/or data may be interpreted by a processing device or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodyed in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of the program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operation of the embodiment, and vice versa.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited drawings, a person of ordinary skill in the art can apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order from the described method, and/or components such as a system, structure, device, circuit, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and claims and equivalents fall within the scope of the claims to be described later.

Claims (38)

화자 인식(speaker recognition)을 위한 등록 방법에 있어서,
화자의 음성 신호를 수신하는 단계;
상기 음성 신호에 노이즈 신호를 합성하는 단계;
상기 음성 신호 및 상기 노이즈 신호의 합성 신호에 기초하여 특징 벡터를 생성하는 단계; 및
상기 특징 벡터에 기초하여 상기 화자에 대응하는 등록 데이터베이스를 구축(construct)하는 단계
를 포함하는 등록 방법.
In the registration method for speaker recognition,
Receiving a speaker's voice signal;
Synthesizing a noise signal to the speech signal;
Generating a feature vector based on a synthesized signal of the speech signal and the noise signal; And
Constructing a registration database corresponding to the speaker based on the feature vector
Registration method comprising a.
제1항에 있어서,
상기 음성 신호에 기초하여 제2 특징 벡터를 생성하는 단계
를 더 포함하고,
상기 등록 데이터베이스를 구축하는 단계는
상기 특징 벡터 및 상기 제2 특징 벡터 중 적어도 하나에 기초하여 상기 등록 데이터베이스를 구축하는 단계
를 포함하는, 등록 방법.
The method of claim 1,
Generating a second feature vector based on the speech signal
Including more,
The step of building the registration database
Building the registration database based on at least one of the feature vector and the second feature vector
Including, registration method.
제1항에 있어서,
상기 특징 벡터를 생성하는 단계는
상기 합성 신호를 도메인 변환하는 단계; 및
상기 도메인 변환된 결과로부터 상기 특징 벡터를 추출하는 단계
를 포함하는, 등록 방법.
The method of claim 1,
Generating the feature vector comprises:
Domain transforming the synthesized signal; And
Extracting the feature vector from the domain transformed result
Including, registration method.
제1항에 있어서,
상기 합성하는 단계는
상기 음성 신호에 상가성 노이즈(additive noise) 신호를 더하는 단계
를 포함하는, 등록 방법.
The method of claim 1,
The synthesizing step
Adding an additive noise signal to the speech signal
Including, registration method.
제1항에 있어서,
상기 합성하는 단계는
상기 음성 신호 및 채널 노이즈(channel noise) 신호의 컨볼루션 연산을 수행하는 단계
를 포함하는, 등록 방법.
The method of claim 1,
The synthesizing step
Performing a convolution operation of the voice signal and channel noise signal
Including, registration method.
제4항에 있어서,
상기 상가성 노이즈 신호는
노이즈의 타입, 노이즈의 타이밍, 상기 음성 신호에 대한 노이즈의 에너지비(SNR) 중 적어도 하나에 기초하여 결정되는, 등록 방법.
The method of claim 4,
The additive noise signal is
The registration method, wherein the registration method is determined based on at least one of a type of noise, a timing of noise, and an energy ratio of noise to the audio signal (SNR).
제5항에 있어서,
상기 채널 노이즈 신호는
노이즈의 타입, 상기 음성 신호에 대한 노이즈의 에너지비(SNR) 중 적어도 하나에 기초하여 결정되는, 등록 방법.
The method of claim 5,
The channel noise signal is
The registration method is determined based on at least one of a type of noise and an energy ratio of noise to the speech signal (SNR).
제1항에 있어서,
상기 특징 벡터를 생성하는 단계는
상기 음성 신호 및 상기 노이즈 신호의 합성 신호를 복수의 구간(section)들로 세그먼테이션하는 단계; 및
상기 복수의 구간들 중 적어도 하나에 대응하는 적어도 하나의 구간 특징 벡터를 추출하는 단계
를 포함하는, 등록 방법.
The method of claim 1,
Generating the feature vector comprises:
Segmenting the synthesized signal of the speech signal and the noise signal into a plurality of sections; And
Extracting at least one section feature vector corresponding to at least one of the plurality of sections
Including, registration method.
제2항에 있어서,
상기 등록 데이터베이스를 구축하는 단계는
상기 특징 벡터 및 상기 제2 특징 벡터 중 적어도 하나를 포함하는 복수의 특징 벡터들을 복수의 그룹들로 클러스터링하는 단계;
상기 복수의 그룹들 중 적어도 하나의 그룹에 대응하는 적어도 하나의 대표 특징 벡터를 추출하는 단계
를 더 포함하는, 등록 방법.
The method of claim 2,
The step of building the registration database
Clustering a plurality of feature vectors including at least one of the feature vector and the second feature vector into a plurality of groups;
Extracting at least one representative feature vector corresponding to at least one of the plurality of groups
The registration method further comprising.
제1항에 있어서,
상기 음성 신호 및 상기 합성 신호 중 적어도 하나에 포함된 소리 정보의 시작 지점과 종료 지점을 추출하는 단계
를 더 포함하고,
상기 시작 지점과 상기 종료 지점은 상기 합성하는 단계 및 상기 생성하는 단계 중 적어도 하나에 적용되는, 등록 방법.
The method of claim 1,
Extracting a start point and an end point of sound information included in at least one of the voice signal and the synthesized signal
Including more,
The registration method, wherein the starting point and the ending point are applied to at least one of the synthesizing and generating.
제3항에 있어서,
상기 합성 신호는 시간 도메인의 소리 정보를 포함하고, 상기 도메인 변환된 결과는 주파수 도메인의 영상 정보를 포함하며,
상기 특징 벡터를 생성하는 단계는
컨벌루션 뉴럴 네트워크(Convolution Neural Network ; CNN)를 이용하여 상기 주파수 도메인의 영상 정보로부터 상기 특징 벡터를 추출하는 단계
를 포함하는, 등록 방법.
The method of claim 3,
The synthesized signal includes sound information in a time domain, and the domain transformed result includes image information in a frequency domain,
Generating the feature vector comprises:
Extracting the feature vector from image information in the frequency domain using a convolution neural network (CNN)
Including, registration method.
제1항에 있어서,
상기 수신하는 단계에서 상기 화자의 음성 신호를 복수 개의 채널을 통하여 수신하는 경우,
상기 합성하는 단계 및 상기 생성하는 단계는 상기 복수 개의 채널 각각에 대응하여 독립적으로 수행되고,
상기 구축하는 단계에서 상기 복수 개의 채널에 의하여 생성된 특징 벡터들에 기초하여 상기 등록 데이터베이스가 구축되는, 등록 방법.
The method of claim 1,
In the case of receiving the speaker's voice signal through a plurality of channels in the receiving step,
The synthesizing and generating are independently performed corresponding to each of the plurality of channels,
The registration method, wherein the registration database is built based on feature vectors generated by the plurality of channels in the building step.
제12항에 있어서,
상기 수신하는 단계 이후에,
상기 복수 개의 채널을 통해 수신한 상기 화자의 음성 신호들의 차이에 기초하여 노이즈를 추정하는 단계; 및
상기 화자의 음성 신호들 각각에서 상기 노이즈를 차감하는 단계
를 더 포함하는, 등록 방법.
The method of claim 12,
After the receiving step,
Estimating noise based on differences between the speaker's voice signals received through the plurality of channels; And
Subtracting the noise from each of the speaker's voice signals
The registration method further comprising.
제1항에 있어서,
상기 화자의 음성 신호를 수신하는 단계는
복수 개의 채널을 통해 상기 화자의 음성 신호들을 수신하는 단계를 포함하고,
상기 복수 개의 채널을 통해 수신한 상기 화자의 음성 신호들을 전처리 함으로써, 상기 합성하는 단계를 위한 상기 음성 신호를 결정하는 단계
를 더 포함하는, 등록 방법.
The method of claim 1,
Receiving the speaker's voice signal comprises:
Receiving the speaker's voice signals through a plurality of channels,
Determining the voice signal for the synthesizing step by preprocessing the voice signals of the speaker received through the plurality of channels
The registration method further comprising.
제14항에 있어서,
상기 결정하는 단계는
상기 복수 개의 채널을 통해 수신한 상기 화자의 음성 신호들에 하드웨어 스펙(spec)으로 인한 인식 오류가 포함되는지 여부에 기초하여, 상기 음성 신호들 중 어느 하나를 선택하는 단계;
상기 복수 개의 채널을 통해 수신한 상기 화자의 음성 신호들의 구간 별로 상기 인식 오류가 포함되는지 여부에 기초하여, 상기 구간 별로 음성 신호들 중 어느 하나를 선택하는 단계
를 포함하는, 등록 방법.
The method of claim 14,
The determining step
Selecting one of the voice signals based on whether a recognition error due to a hardware spec is included in the speaker's voice signals received through the plurality of channels;
Selecting any one of the voice signals for each section based on whether the recognition error is included for each section of the speaker's voice signals received through the plurality of channels
Including, registration method.
화자의 음성 신호를 수신하는 단계;
상기 음성 신호에 기초하여 적어도 하나의 입력 특징 벡터를 생성하는 단계;
등록 데이터베이스에 저장된 등록 사용자의 적어도 하나의 등록 특징 벡터와 상기 적어도 하나의 입력 특징 벡터를 비교하는 단계; 및
상기 비교 결과에 기초하여, 상기 화자를 인식하는 단계
를 포함하고,
상기 등록 데이터베이스는 상기 등록 사용자의 등록을 위한 음성 신호 및 노이즈 신호의 합성 신호에 기초하여 생성되는 상기 적어도 하나의 등록 특징 벡터를 포함하는 화자 인식 방법.
Receiving a speaker's voice signal;
Generating at least one input feature vector based on the speech signal;
Comparing at least one registered feature vector of a registered user stored in a registration database with the at least one input feature vector; And
Recognizing the speaker based on the comparison result
Including,
The registration database includes the at least one registration feature vector generated based on a synthesized signal of a voice signal and a noise signal for registration of the registered user.
제16항에 있어서,
상기 등록 사용자가 복수인 경우
상기 화자를 인식하는 단계는
상기 화자를 식별하는 단계를 포함하는, 화자 인식 방법.
The method of claim 16,
When there are multiple registered users
Recognizing the speaker is
Including the step of identifying the speaker, speaker recognition method.
제16항에 있어서,
상기 입력 특징 벡터를 생성하는 단계는
상기 화자의 음성 신호를 도메인 변환하는 단계; 및
상기 도메인 변환된 결과로부터 상기 입력 특징 벡터를 추출하는 단계
를 포함하는, 화자 인식 방법.
The method of claim 16,
Generating the input feature vector comprises:
Domain-converting the speaker's voice signal; And
Extracting the input feature vector from the domain transformed result
Including, speaker recognition method.
제16항에 있어서,
상기 입력 특징 벡터를 생성하는 단계는
상기 입력 특징 벡터의 윈도우 사이즈가 상기 등록 특징 벡터의 윈도우 사이즈와 동일하도록, 상기 화자의 음성 신호에 슬라이딩 윈도우(Sliding window)를 수행하는 단계
를 포함하는, 화자 인식 방법.
The method of claim 16,
Generating the input feature vector comprises:
Performing a sliding window on the speaker's speech signal so that the window size of the input feature vector is the same as the window size of the registered feature vector.
Including, speaker recognition method.
제16항에 있어서,
상기 입력 특징 벡터의 개수는 어플리케이션에서 요구하는 보안 수준 또는 반응 시간에 기초하여 결정되는, 화자 인식 방법.
The method of claim 16,
The number of input feature vectors is determined based on a security level or response time required by an application.
제18항에 있어서,
도메인 변환하는 단계는
상기 화자의 음성 신호에 고속 푸리에 변환을 수행하는 단계; 및
상기 고속 푸리에 변환의 결과에 따라, 상기 고속 푸리에 변환의 결과에 패딩(padding)을 수행하는 단계
를 포함하는, 화자 인식 방법.
The method of claim 18,
The steps to convert the domain are
Performing a fast Fourier transform on the speaker's speech signal; And
Performing padding on the result of the fast Fourier transform according to the result of the fast Fourier transform
Including, speaker recognition method.
제16항에 있어서,
상기 노이즈 신호는
상가성 노이즈(additive noise) 신호 및 채널 노이즈(channel noise) 신호 중 적어도 하나를 포함하는, 화자 인증 방법.
The method of claim 16,
The noise signal is
Including at least one of additive noise (additive noise) signal and channel noise (channel noise) signal, speaker authentication method.
제16항에 있어서,
상기 수신하는 단계에서 상기 화자의 음성 신호를 복수 개의 채널을 통하여 수신하는 경우,
상기 생성하는 단계 및 상기 비교하는 단계는 상기 복수 개의 채널 각각에 대응하여 독립적으로 수행되고,
상기 등록 특징 벡터는 상기 복수 개의 채널에 의하여 생성된 등록 특징 벡터들을 포함하는, 화자 인증 방법.
The method of claim 16,
In the case of receiving the speaker's voice signal through a plurality of channels in the receiving step,
The generating step and the comparing step are independently performed corresponding to each of the plurality of channels,
The registration feature vector includes registration feature vectors generated by the plurality of channels.
제23항에 있어서,
상기 수신하는 단계 이후에,
상기 복수 개의 채널을 통해 수신한 상기 화자의 음성 신호들의 차이에 기초하여 노이즈를 추정하는 단계; 및
상기 화자의 음성 신호들 각각에서 상기 노이즈를 차감하는 단계
를 더 포함하는, 화자 인증 방법.
The method of claim 23,
After the receiving step,
Estimating noise based on differences between the speaker's voice signals received through the plurality of channels; And
Subtracting the noise from each of the speaker's voice signals
Further comprising a, speaker authentication method.
제1항에 있어서,
상기 화자의 음성 신호를 수신하는 단계는
복수 개의 채널을 통해 상기 화자의 음성 신호들을 수신하는 단계를 포함하고,
상기 복수 개의 채널을 통해 수신한 상기 화자의 음성 신호들을 전처리 함으로써, 상기 생성하는 단계를 위한 상기 음성 신호를 결정하는 단계
를 더 포함하는, 화자 인증 방법.
The method of claim 1,
Receiving the speaker's voice signal comprises:
Receiving the speaker's voice signals through a plurality of channels,
Determining the voice signal for the generating step by preprocessing the speaker's voice signals received through the plurality of channels
Further comprising a, speaker authentication method.
제25항에 있어서,
상기 결정하는 단계는
상기 복수 개의 채널을 통해 수신한 상기 화자의 음성 신호들에 하드웨어 스펙(spec)으로 인한 인식 오류가 포함되는지 여부에 기초하여, 상기 음성 신호들 중 어느 하나를 선택하는 단계;
상기 복수 개의 채널을 통해 수신한 상기 화자의 음성 신호들의 구간 별로 상기 인식 오류가 포함되는지 여부에 기초하여, 상기 구간 별로 음성 신호들 중 어느 하나를 선택하는 단계
를 포함하는, 화자 인증 방법.
The method of claim 25,
The determining step
Selecting one of the voice signals based on whether a recognition error due to a hardware spec is included in the speaker's voice signals received through the plurality of channels;
Selecting any one of the voice signals for each section based on whether the recognition error is included for each section of the speaker's voice signals received through the plurality of channels
Including, speaker authentication method.
하드웨어와 결합되어 제1항 내지 제26항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
A computer program combined with hardware and stored in a medium for executing the method of any one of claims 1 to 26.
화자 인식(speaker recognition)을 위한 등록 장치에 있어서,
화자의 음성 신호를 수신하는 음향 센서;
상기 음성 신호에 노이즈 신호를 합성하고, 상기 음성 신호 및 상기 노이즈 신호의 합성 신호에 기초하여 특징 벡터를 생성하며, 상기 특징 벡터에 기초하여 상기 화자에 대응하는 등록 데이터베이스를 구축(construct)하는 프로세서
를 포함하는 등록 장치.
In the registration device for speaker recognition,
An acoustic sensor for receiving a speaker's voice signal;
Processor for synthesizing a noise signal with the speech signal, generating a feature vector based on the synthesized signal of the speech signal and the noise signal, and constructing a registration database corresponding to the speaker based on the feature vector
Registration device comprising a.
제28항에 있어서,
상기 프로세서는
상기 음성 신호에 기초하여 제2 특징 벡터를 생성하고, 상기 특징 벡터 및 상기 제2 특징 벡터 중 적어도 하나에 기초하여 상기 등록 데이터베이스를 구축하는, 등록 장치.
The method of claim 28,
The processor is
And generating a second feature vector based on the speech signal, and constructing the registration database based on at least one of the feature vector and the second feature vector.
제28항에 있어서,
상기 프로세서는
상기 합성 신호를 도메인 변환하고, 상기 도메인 변환된 결과로부터 상기 특징 벡터를 추출하는, 등록 장치.
The method of claim 28,
The processor is
Domain transforming the synthesized signal, and extracting the feature vector from the domain transformed result.
제28항에 있어서,
상기 프로세서는
상기 음성 신호에 상가성 노이즈(additive noise) 신호를 더하는, 등록 장치.
The method of claim 28,
The processor is
A registration device for adding an additive noise signal to the speech signal.
제28항에 있어서,
상기 프로세서는
상기 음성 신호 및 채널 노이즈(channel noise) 신호의 컨볼루션 연산을 수행하는, 등록 장치.
The method of claim 28,
The processor is
A registration device that performs a convolution operation of the speech signal and a channel noise signal.
제28항에 있어서,
상기 프로세서는
상기 음성 신호 및 상기 노이즈 신호의 합성 신호를 복수의 구간(section)들로 세그먼테이션하고, 상기 복수의 구간들 중 적어도 하나에 대응하는 적어도 하나의 구간 특징 벡터를 추출하는, 등록 장치.
The method of claim 28,
The processor is
A registration device for segmenting the synthesized signal of the speech signal and the noise signal into a plurality of sections, and extracting at least one section feature vector corresponding to at least one of the plurality of sections.
제28항에 있어서,
상기 프로세서는
상기 특징 벡터 및 상기 제2 특징 벡터 중 적어도 하나를 포함하는 복수의 특징 벡터들을 복수의 그룹들로 클러스터링하고, 상기 복수의 그룹들 중 적어도 하나의 그룹에 대응하는 적어도 하나의 대표 특징 벡터를 추출하는, 등록 장치.
The method of claim 28,
The processor is
Clustering a plurality of feature vectors including at least one of the feature vector and the second feature vector into a plurality of groups, and extracting at least one representative feature vector corresponding to at least one of the plurality of groups , Registration device.
화자의 음성 신호를 수신하는 음향 센서; 및
상기 음성 신호에 기초하여 적어도 하나의 입력 특징 벡터를 생성하고, 등록 데이터베이스에 저장된 등록 사용자의 적어도 하나의 등록 특징 벡터와 상기 적어도 하나의 입력 특징 벡터를 비교하며, 상기 비교 결과에 기초하여 상기 화자를 인식하는 프로세서를 포함하고,
상기 등록 데이터베이스는 상기 등록 사용자의 등록을 위한 음성 신호 및 노이즈 신호의 합성 신호에 기초하여 생성되는 상기 적어도 하나의 등록 특징 벡터를 포함하는 화자 인식 장치.
An acoustic sensor for receiving a speaker's voice signal; And
Generate at least one input feature vector based on the voice signal, compare at least one registered feature vector of a registered user stored in a registration database with the at least one input feature vector, and select the speaker based on the comparison result. Including a processor that recognizes,
The registration database includes the at least one registration feature vector generated based on a synthesized signal of a voice signal and a noise signal for registration of the registered user.
제35항에 있어서,
상기 프로세서는
상기 화자의 음성 신호를 도메인 변환하고, 상기 도메인 변환된 결과로부터 상기 입력 특징 벡터를 추출하는, 화자 인식 장치.
The method of claim 35,
The processor is
The speaker recognition apparatus for performing domain conversion of the speaker's speech signal and extracting the input feature vector from the domain conversion result.
제35항에 있어서,
상기 프로세서는
상기 입력 특징 벡터의 윈도우 사이즈가 상기 등록 특징 벡터의 윈도우 사이즈와 동일하도록, 상기 화자의 음성 신호에 슬라이딩 윈도우(Sliding window)를 수행하는, 화자 인식 장치.
The method of claim 35,
The processor is
A speaker recognition apparatus for performing a sliding window on the speaker's speech signal so that the window size of the input feature vector is the same as the window size of the registered feature vector.
제35항에 있어서,
상기 프로세서는
상기 화자의 음성 신호에 고속 푸리에 변환을 수행하고, 상기 고속 푸리에 변환의 결과에 따라, 상기 고속 푸리에 변환의 결과에 패딩(padding)을 수행하는, 화자 인식 장치.
The method of claim 35,
The processor is
A speaker recognition apparatus for performing a fast Fourier transform on the speech signal of the speaker, and performing padding on a result of the fast Fourier transform according to a result of the fast Fourier transform.
KR1020190051557A 2019-03-08 2019-05-02 Registration method and apparatus for speaker recognition KR20200107707A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/781,176 US11289098B2 (en) 2019-03-08 2020-02-04 Method and apparatus with speaker recognition registration
CN202010111275.8A CN111667839A (en) 2019-03-08 2020-02-24 Registration method and apparatus, speaker recognition method and apparatus
EP20161160.5A EP3706117B1 (en) 2019-03-08 2020-03-05 Method with speaker recognition registration and corresponding non-transitory computer-readable storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190026714 2019-03-08
KR1020190026714 2019-03-08

Publications (1)

Publication Number Publication Date
KR20200107707A true KR20200107707A (en) 2020-09-16

Family

ID=72669636

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190051557A KR20200107707A (en) 2019-03-08 2019-05-02 Registration method and apparatus for speaker recognition

Country Status (1)

Country Link
KR (1) KR20200107707A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220133743A (en) * 2021-03-25 2022-10-05 주식회사 한컴코드게이트 Service providing server to provide the digital will service that can verify the authenticity of the voice and the operating method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220133743A (en) * 2021-03-25 2022-10-05 주식회사 한컴코드게이트 Service providing server to provide the digital will service that can verify the authenticity of the voice and the operating method thereof

Similar Documents

Publication Publication Date Title
US10593336B2 (en) Machine learning for authenticating voice
CN111091176A (en) Data recognition apparatus and method, and training apparatus and method
CN109166586B (en) Speaker identification method and terminal
Liu et al. An MFCC‐based text‐independent speaker identification system for access control
KR20200012963A (en) Object recognition method, computer device and computer readable storage medium
CN109801634B (en) Voiceprint feature fusion method and device
CN111079791A (en) Face recognition method, face recognition device and computer-readable storage medium
US8447614B2 (en) Method and system to authenticate a user and/or generate cryptographic data
KR20210050884A (en) Registration method and apparatus for speaker recognition
US11328733B2 (en) Generalized negative log-likelihood loss for speaker verification
JP7124427B2 (en) Multi-view vector processing method and apparatus
CN103794207A (en) Dual-mode voice identity recognition method
EP3706117B1 (en) Method with speaker recognition registration and corresponding non-transitory computer-readable storage medium
US9947323B2 (en) Synthetic oversampling to enhance speaker identification or verification
Todkar et al. Speaker recognition techniques: A review
CN113870860A (en) End-to-end voiceprint recognition method and voiceprint recognition device
KR20200107707A (en) Registration method and apparatus for speaker recognition
Choudhary et al. Automatic speaker verification using gammatone frequency cepstral coefficients
WO2020003413A1 (en) Information processing device, control method, and program
US20210193150A1 (en) Multi-stage speaker enrollment in voice authentication and identification
Bredin et al. The biosecure talking-face reference system
US11763805B2 (en) Speaker recognition method and apparatus
Chakraborty et al. An improved approach to open set text-independent speaker identification (OSTI-SI)
Habib et al. SpeakerNet for Cross-lingual Text-Independent Speaker Verification
Lependin et al. Using deep neural networks with graph attention to effective detection of speech spoofing

Legal Events

Date Code Title Description
A201 Request for examination