KR102441863B1 - 보이스 사용자 인터페이스 - Google Patents

보이스 사용자 인터페이스 Download PDF

Info

Publication number
KR102441863B1
KR102441863B1 KR1020197000174A KR20197000174A KR102441863B1 KR 102441863 B1 KR102441863 B1 KR 102441863B1 KR 1020197000174 A KR1020197000174 A KR 1020197000174A KR 20197000174 A KR20197000174 A KR 20197000174A KR 102441863 B1 KR102441863 B1 KR 102441863B1
Authority
KR
South Korea
Prior art keywords
authentication
score
authentication score
subsequent
signal
Prior art date
Application number
KR1020197000174A
Other languages
English (en)
Other versions
KR20190015488A (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 시러스 로직 인터내셔널 세미컨덕터 리미티드
Publication of KR20190015488A publication Critical patent/KR20190015488A/ko
Application granted granted Critical
Publication of KR102441863B1 publication Critical patent/KR102441863B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/02Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • 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/06Decision making techniques; Pattern matching strategies
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/06Decision making techniques; Pattern matching strategies
    • G10L17/12Score normalisation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Collating Specific Patterns (AREA)
  • Telephonic Communication Services (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Diaphragms For Electromechanical Transducers (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

화자 인증 방법은, 음성 신호를 수신하는 단계; 음성 신호를 세그먼트들로 분할하는 단계; 및 각각의 세그먼트에 후속하여, 상기 세그먼트 및 이전에 수신된 세그먼트들에 기초하여 인증 점수 - 인증 점수는 음성 신호가 특정 등록된 화자로부터 나올 확률을 나타냄 - 를 획득하는 단계를 포함한다. 인증 요청에 응답하여, 인증 결과는 인증 점수에 기초하여 출력된다.

Description

보이스 사용자 인터페이스
본원에서 설명된 실시예들은 보이스 사용자 인터페이스(voice user interface)에서의 이용을 위한, 예를 들어, 사용자가 음성(speech)을 이용하여 디바이스의 동작을 제어하는 것을 허용하기 위한 방법 및 시스템에 관한 것이다.
보이스 사용자 인터페이스들은 사용자가 그 보이스를 이용하여 시스템과 상호작용하는 것을 허용하도록 제공된다. 이것의 하나의 장점은, 예를 들어, 스마트폰들, 태블릿 컴퓨터들 등과 같은 디바이스들에서, 그것이 사용자가 핸즈-프리(hands-free) 방식으로 디바이스를 동작시키는 것을 허용한다는 것이다.
하나의 전형적인 시스템에서, 사용자는 트리거 어구(trigger phrase)를 발화(speak)함으로써 저-전력 대기(low-power standby) 모드로부터 보이스 사용자 인터페이스를 웨이크(wake)한다. 음성 인식(speech recognition) 기법들은 트리거 어구가 발화되었다는 것을 검출하기 위하여 이용되고, 별도로, 화자 인식(speaker recognition) 프로세스는 트리거 어구가 디바이스의 등록된 사용자에 의해 발화되었다는 것을 확인하기 위하여 이용된다.
보이스 사용자 인터페이스는 그 후에, 시스템이 활성인 것을 확인하기 위하여 프롬프트(prompt)를 사용자에게 제공할 수도 있고, 사용자는 그 후에, 음성 인식 기법들을 이용하여 보이스 사용자 인터페이스에 의해 인식될 수 있는 커맨드(command)를 발화할 수도 있다.
보이스 사용자 인터페이스는 그 후에, 그 발화된 커맨드에 따라 작용할 수도 있다. 예를 들어, 발화된 커맨드가 공개적으로 이용가능한 정보를 요청할 경우, 발화된 커맨드가 인식될 수도 있고, 그 정보를 사용자에게 공급할 수 있기 위하여 인터넷 검색 엔진에 대한 질의(query)를 생성하기 위하여 이용될 수도 있다.
그러나, 다른 경우들에는, 예를 들어, 발화된 커맨드가 개인 정보에 관련될 경우, 화자 인식 프로세스에 의해 제공된 인증의 레벨이 보이스 사용자 인터페이스가 그 커맨드에 따라 작용하기에 불충분한 것으로 고려될 수도 있고, 이러한 경우들에는, 사용자가 예를 들어, 디바이스의 키패드(keypad)를 통해 PIN 번호 또는 패스워드(password)를 입력함으로써, 또는 지문 스캔(fingerprint scan)과 같은 추가적인 생체인식 인증(biornetric authentication)을 제공함으로써 인증의 추가적인 형태를 제공하도록 요청받을 수도 있다.
이것은 사용자가 더 이상 핸즈-프리 방식으로 디바이스를 동작시킬 수 없다는 것을 의미한다.
본원에서 설명된 실시예들에 따르면, 위에서 언급된 단점들 중의 하나 이상을 감소시키거나 회피하는 방법 및 시스템이 제공된다.
발명의 제1 양태에 따르면, 화자 인증의 방법이 제공되고, 상기 방법은,
음성 신호를 수신하는 단계;
음성 신호를 세그먼트(segment)들로 분할하는 단계;
각각의 세그먼트에 후속하여, 상기 세그먼트 및 이전에 수신된 세그먼트들에 기초하여 인증 점수 - 인증 점수는 음성 신호가 특정 등록된 화자로부터 나올 확률을 나타냄 - 를 획득하는 단계; 및
인증 요청에 응답하여, 인증 점수에 기초하여 인증 결과를 출력하는 단계를 포함한다.
인증 점수는 음성 신호의 특징들을 등록된 화자의 등재(enrolment) 동안에 생성된 모델과 비교함으로써 획득될 수도 있다.
음성 신호는 음성의 다수의 개별 섹션들을 나타낼 수도 있다.
제1 세그먼트는 트리거 어구를 나타낼 수도 있다. 방법은 그 후에, 인증 점수를 획득하고, 트리거 어구가 발화된 것을 검출하는 것에 응답하여 인증 결과를 출력하는 단계들을 수행하는 단계를 포함할 수도 있다.
방법은 트리거 어구 후에, 음성 신호를 동일한 길이들의 세그먼트들로 분할하는 단계를 포함할 수도 있다. 예를 들어, 방법은 트리거 어구 후에, 음성 신호를 동일한 길이의 시간의 기간(period of time)들을 커버하는 세그먼트들로 분할하는 단계를 포함할 수도 있거나, 트리거 어구 후에, 음성 신호를 순수 음성의 동일한 지속기간(duration)들을 포함하는 세그먼트들로 분할하는 단계를 포함할 수도 있다.
방법은 인증 점수를 제1 문턱 점수(threshold score)와 비교하는 단계, 및 인증 점수가 제1 문턱 점수를 초과할 경우에 긍정적인 인증 결과를 결정하는 단계를 포함할 수도 있다.
제1 문턱 점수는 별도의 프로세스로부터 수신된 신호에 응답하여 설정될 수도 있다.
방법은 별도의 프로세스로부터 신호를 수신하는 단계, 및 복수의 이용가능한 문턱 점수들로부터 제1 문턱 점수를 선택하는 단계를 포함할 수도 있다.
별도의 프로세스로부터 수신된 신호는 요청된 보안성의 레벨을 표시할 수도 있다.
별도의 프로세스는 음성 인식 프로세스일 수도 있다.
방법은 인증 점수를 제2 문턱 점수와 비교하는 단계, 및 인증 점수가 제2 문턱 점수 미만일 경우에 부정적인 인증 결과를 결정하는 단계를 포함할 수도 있다.
제2 문턱 점수는 별도의 프로세스로부터 수신된 신호에 응답하여 설정될 수도 있다.
방법은 별도의 프로세스로부터 신호를 수신하는 단계, 및 복수의 이용가능한 문턱 점수들로부터 제2 문턱 점수를 선택하는 단계를 포함할 수도 있다.
별도의 프로세스로부터 수신된 신호는 요청된 보안성의 레벨을 표시할 수도 있다.
별도의 프로세스는 음성 인식 프로세스일 수도 있다.
방법은 트리거 어구가 발화된 것으로 결정하는 것에 응답하여 방법을 개시하는 단계를 포함할 수도 있다.
방법은 음성 인식 프로세스로부터 인증 요청을 수신하는 단계를 포함할 수도 있다.
인증 요청은 인증 점수가 문턱을 초과할 때에 인증 결과가 출력될 것을 요청할 수도 있거나, 음성 신호가 종료될 때에 인증 결과가 출력될 것을 요청할 수도 있다.
각각의 세그먼트에 후속하여, 상기 세그먼트 및 이전에 수신된 세그먼트들에 기초하여 인증 점수를 획득하는 단계는,
제1 세그먼트에 기초하여 제1 인증 점수를 획득하는 단계;
각각의 후속 세그먼트에 기초하여, 개개의 후속 인증 점수를 획득하는 단계; 및
제1 인증 점수 및 후속 인증 점수 또는 각각의 후속 인증 점수를 병합함으로써, 상기 세그먼트 및 각각의 이전에 수신된 세그먼트들에 기초하여 인증 점수를 획득하는 단계를 포함할 수도 있다.
제1 인증 점수 및 후속 인증 점수 또는 각각의 후속 인증 점수를 병합하는 단계는 제1 인증 점수 및 후속 인증 점수 또는 각각의 후속 인증 점수의 가중화된 합을 형성하는 단계를 포함할 수도 있다.
방법은 개개의 세그먼트들에 적용가능한 개개의 신호-대-잡음 비율(signal-to-noise ratio)들에 종속되는 가중치들을 적용함으로써, 또는 개개의 세그먼트들에서 존재하는 음성의 수량들에 종속되는 가중치들을 적용함으로써 제1 인증 점수 및 후속 인증 점수 또는 각각의 후속 인증 점수의 가중화된 합을 형성하는 단계를 포함할 수도 있다.
방법은 일부 또는 모든 이상치 점수(outlier score)들을 무시함으로써 제1 인증 점수 및 후속 인증 점수 또는 각각의 후속 인증 점수의 가중화된 합을 형성하는 단계를 포함할 수도 있다. 예를 들어, 방법은 높은 이상치 점수들을 유지하면서 낮은 이상치 점수들을 무시함으로써 제1 인증 점수 및 후속 인증 점수 또는 각각의 후속 인증 점수의 가중화된 합을 형성하는 단계를 포함할 수도 있다.
각각의 세그먼트에 후속하여, 상기 세그먼트 및 이전에 수신된 세그먼트들에 기초하여 인증 점수를 획득하는 단계는,
음성 신호의 제1 세그먼트에 기초하여 제1 인증 점수를 획득하는 단계; 및
음성 신호의 각각의 새로운 세그먼트에 후속하여, 새로운 조합된 음성 신호를 형성하기 위하여 음성 신호의 새로운 세그먼트를 음성 신호의 이전에 수신된 세그먼트 또는 각각의 이전에 수신된 세그먼트와 조합하는 단계; 및
상기 새로운 조합된 음성 신호에 기초하여 인증 점수를 획득하는 단계를 포함할 수도 있다.
각각의 세그먼트에 후속하여, 상기 세그먼트 및 이전에 수신된 세그먼트들에 기초하여 인증 점수를 획득하는 단계는,
각각의 세그먼트로부터 특징들을 추출하는 단계;
음성 신호의 제1 세그먼트의 추출된 특징들에 기초하여 제1 인증 점수를 획득하는 단계; 및
음성 신호의 각각의 새로운 세그먼트에 후속하여, 음성 신호의 새로운 세그먼트의 추출된 특징들을 음성 신호의 이전에 수신된 세그먼트 또는 각각의 이전에 수신된 세그먼트의 추출된 특징들과 조합하는 단계; 및
상기 조합된 추출된 특징들에 기초하여 인증 점수를 획득하는 단계를 포함할 수도 있다.
방법은 긍정적인 인증 결과를 결정한 후에,
미리 결정된 시간의 기간 동안에 작동되는 타이머를 시작시키는 단계; 및
특정 등록된 화자를 타이머가 작동하고 있는 한 인증된 것으로서 취급하는 단계를 포함할 수도 있다.
방법은 타이머가 작동하고 있는 동안에 새로운 긍정적인 인증 결과가 결정될 경우, 타이머를 재시작시키는 단계를 포함할 수도 있다.
발명의 양태에 따르면, 화자 인식을 수행하기 위하여, 사용자의 음성을 나타내는 수신된 신호를 프로세싱하기 위한 디바이스가 제공되고, 상기 디바이스는,
음성 신호를 수신하고;
음성 신호를 세그먼트들로 분할하고;
각각의 세그먼트에 후속하여, 상기 세그먼트 및 이전에 수신된 세그먼트들에 기초하여 인증 점수 - 인증 점수는 음성 신호가 특정 등록된 화자로부터 나올 확률을 나타냄 - 를 획득하고; 그리고
인증 요청에 응답하여, 인증 점수에 기초하여 인증 결과를 출력하도록 구성된다.
디바이스는 이동 전화, 오디오 플레이어, 비디오 플레이어, 이동 컴퓨팅 플랫폼, 게임 디바이스, 원격 제어기 디바이스, 장난감, 머신, 또는 홈 자동화 제어기 또는 가정용 기기를 포함할 수도 있다.
디바이스는 수신된 신호의 적어도 일부분에 대한 음성 인식을 수행하도록 추가로 구성될 수도 있다.
디바이스는 수신된 신호의 적어도 일부분을 음성 인식을 위한 원격 디바이스로 전송하도록 추가로 구성될 수도 있고, 이 경우에, 디바이스는 음성 인식의 결과를 수신하도록 추가로 구성될 수도 있다.
발명의 양태에 따르면, 화자 인식을 수행하기 위하여, 사용자의 음성을 나타내는 수신된 신호를 프로세싱하기 위한 집적 회로 디바이스가 제공되고, 상기 집적 회로 디바이스는,
음성 신호를 수신하고;
음성 신호를 세그먼트들로 분할하고;
각각의 세그먼트에 후속하여, 상기 세그먼트 및 이전에 수신된 세그먼트들에 기초하여 인증 점수 - 인증 점수는 음성 신호가 특정 등록된 화자로부터 나올 확률을 나타냄 - 를 획득하고; 그리고
인증 요청에 응답하여, 인증 점수에 기초하여 인증 결과를 출력하도록 구성된다.
인증 점수는 상기 디바이스에서 저장된 적어도 하나의 사용자 또는 배경 모델을 이용하여 획득될 수도 있다.
발명은 프로세서 회로부에 의해 실행될 때, 프로세서 회로부로 하여금, 위에서 기재된 방법들 중의 임의의 것을 수행하게 하는, 컴퓨터-실행가능 명령어들이 저장되어 있는 비-일시적 컴퓨터 판독가능 저장 매체를 또한 제공한다.
발명의 더 양호한 이해를 위하여, 그리고 그것이 어떻게 실시될 수도 있는지를 더 명확하게 보여주기 위하여, 오직 예로서, 동반되는 도면들에 대해 지금부터 참조가 행해질 것이다:
도 1은 전자 디바이스의 개략도이다;
도 2는 전자 디바이스의 추가의 개략도이다;
도 3은 방법을 예시하는 플로우차트이다;
도 4는 프로세싱 시스템을 예시하는 블록도이다; 그리고
도 5는 프로세싱 시스템의 동작을 예시하는 시간 이력이다.
명확함을 위하여, 이 설명은 상이한 의미들을 가지도록 의도되는 화자 인식 및 음성 인식을 지칭한다는 것이 여기에서 주목될 것이다. 화자 인식은 발화하는 사람의 신분에 대한 정보를 제공하는 기법을 지칭한다. 예를 들어, 화자 인식은 이전에 등록된 개인들의 그룹 중으로부터, 화자의 신분을 결정할 수도 있거나, 식별 또는 인증의 목적들을 위하여, 화자가 특정한 개인인지 아닌지 여부를 표시하는 정보를 제공할 수도 있다. 음성 인식은 발화하고 있는 사람을 인식하는 것이 아니라, 발화되는 것의 내용 및/또는 의미를 결정하기 위한 기법을 지칭한다.
도 1은 발명의 하나의 양태에 따라 디바이스를 도시한다. 디바이스는 이동 컴퓨팅 디바이스, 예를 들어, 랩톱 또는 태블릿 컴퓨터, 게임 콘솔, 원격 제어 디바이스, 가정용 온도 또는 조명 제어 시스템을 포함하는 홈 자동화 제어기 또는 가정용 기기, 장난감, 로봇과 같은 머신, 오디오 플레이어, 비디오 플레이어 등과 같은 임의의 적당한 유형의 디바이스일 수도 있지만, 이 예시적인 예에서, 디바이스는 이동 전화, 및 구체적으로 스마트폰(10)이다. 스마트폰(10)은 적당한 소프트웨어에 의해, 임의의 다른 추가의 디바이스 또는 시스템을 제어하기 위한 제어 인터페이스로서 이용될 수도 있다.
스마트폰(10)은 정보를 사용자에게 디스플레이하기 위한 스크린(12), 사운드가 마이크로폰에 의해 검출되는 것을 허용하기 위한 사운드 유입구(sound inlet)(14), 및 액세서리가 디바이스에 접속되는 것을 허용하기 위한 잭 소켓(jack socket)(16), 또는 다른 포트 또는 리셉터클(receptacle)을 포함한다.
도 2는 스마트폰(10)을 도시하는 개략도이다. 이 예에서, 스마트폰(10)은 예를 들어, 도 1에서 도시된 사운드 유입구(14)에 근접하게 위치될 수도 있는 마이크로폰(20)을 포함한다. 마이크로폰(20)에 의해 생성된 전자 신호들은, 예를 들어, 마이크로폰(20)으로부터 수신된 아날로그 신호들을 디지털 신호들로 변환하는, 신호들의 초기 신호 프로세싱을 수행하는 신호 프로세싱 블록(22)으로 전달된다.
스마트폰(10)은 예를 들어, 도 1에서 도시된 잭 소켓(16)에 근접하게 위치될 수도 있는 액세서리 인터페이스(24)를 또한 포함한다. 잭 소켓(16) 및 인터페이스(24)는 헤드셋 액세서리가 그것들에 접속되는 것을 허용하기 위하여 적당할 수도 있고, 이러한 액세서리 상의 마이크로폰으로부터 수신된 신호들은 신호들의 초기 신호 프로세싱을 수행하는 신호 프로세싱 블록(22)으로 또한 전달된다.
신호 프로세싱 블록(22)은, 메모리(28)에서 저장된 데이터 및 프로그램 명령어들에 기초하여 본원에서 설명된 바와 같은 방법들을 수행하는 프로세서(26)에 접속된다. 구체적으로, 본원에서 설명된 방법들은 메모리(28)에서 비-순시적(non-transient) 형태로 저장되는 명령어들을 실행함으로써 프로세서(26) 상에서 수행될 수 있고, 프로그램 명령어들은 디바이스(10)의 제조 동안에, 또는 디바이스(10)가 이용 중인 동안의 업로드(upload)에 의해 중의 어느 하나로 저장된다.
프로세서(26)는, 자체적으로 안테나(32)에 접속되어, 신호들이 외부 네트워크 상에서 원격 디바이스들로 송신되고 수신되는 것을 허용하는 인터페이스(30)에 접속된다.
다른 예들에서, 본원에서 설명된 프로세스들을 수행하는 디바이스는 임의의 이전의 신호 검출을 수행할 필요가 없으면서, 그리고 따라서, 디바이스가 신호 프로세싱 블록(22)을 포함할 것을 요구하지 않으면서, 요구된 입력 신호들을 적당한 형태로 수신할 수도 있다.
일부 예들에서, 이하에서 설명된 프로세싱의 일부는 외부 네트워크, 예를 들어, 원격 컴퓨팅 서버 또는 홈 네트워크에서의 서버를 통해 통신된 외부 디바이스 상에서 수행될 수도 있다. 다른 예들에서, 이하에서 설명된 프로세싱의 전부는 디바이스가 임의의 외부 디바이스 또는 네트워크에 대한 임의의 인터페이스를 포함할 것을 요구하지 않으면서, 단일 디바이스에서 수행될 수도 있다.
도 3은 하나의 실시예에 따라, 보이스 사용자 인터페이스의 동작의 방법을 예시하는 플로우차트이다.
이하에서 더 상세하게 설명된 바와 같이, 도 3에서 도시된 프로세스는 예를 들어, 사용자의 음성의 하나 이상의 모델을 형성하기 위하여 이용될 수 있는 보이스 샘플들의 하나 이상의 세트들을 제공함으로써, 사용자가 시스템에 등록된 후에 수행된다. 전형적으로, 등록 또는 등재 프로세스는 사용자가 음성 입력들을 제공할 것을 요구하고, 그 후에, 이전의 개발 국면에서 정의된 특정한 배경 모델로부터 시작하여, 사용자의 음성의 모델을 형성하기 위하여 이 음성 입력들을 이용한다. 따라서, 배경 모델 및 음성 입력들은 사용자의 음성의 모델을 형성하기 위하여 이용되는 등재 프로세스에 대한 입력들이다. 추후에, 검증 동안, 이하에서 더 상세하게 설명된 바와 같이, 추가의 음성 입력들은 출력을 제공하기 위하여, 사용자의 음성의 모델과, 그리고 배경 모델과 비교된다. 이 비교의 출력은 예를 들어, 검증 국면 동안에 수신된 음성 입력들이 등재 동안에 음성 입력들을 제공하였던 동일한 사용자에 의해 제공되었을 가능성을 표시하는 수치 값일 수도 있다. 가능성을 표시하는 수치 값은 예를 들어, 로그 가능성 비율(log likelihood ratio)(LLR)일 수도 있거나, 일부 더 간접적인 표시, 예를 들어, 일부 1-차원 또는 다-차원 문턱으로부터 음성 샘플의 추출된 특징들의 거리의 메트릭(metric)일 수도 있다.
보이스 사용자 인터페이스는 전력을 절감하기 위하여, 대기 상태에서 그 시간의 대부분을 소비할 수도 있다. 보이스 활성(voice activity) 검출 블록은 마이크로폰에 의해 검출되는 사운드들이 언제 음성을 나타내는지를 결정하기 위하여 제공될 수도 있다. 일부 실시예들에서는, 마이크로폰으로부터 수신되는 신호들이 저장된다. 그 후에, 보이스 활성 블록이 마이크로폰에 의해 검출되는 사운드들이 음성을 나타내는 것으로 결정할 때, 그 저장된 신호들은 이하에서 설명된 바와 같이 분석된다.
음성을 나타내는 것으로 결정되는 신호는 음성의 내용을 결정하기 위하여, 음성 인식 블록으로 전송될 수도 있다. 이하에서 기재된 방법은 미리 결정된 트리거 어구가 발화된 것으로 결정하는 것에 응답하여 개시될 수도 있다.
단계(50)에서, 보이스 사용자 인터페이스는 음성 신호를 수신한다. 음성 신호는 예를 들어, 가상적 보조자와의 상호작용으로부터 기인할 수도 있다. 예를 들어, 하나의 전형적인 상호작용에서, 사용자는 가상적 보조자를 웨이크하기 위한 트리거 어구를 먼저 발화할 수도 있고, 그 후에, 가상적 보조자가 일부 정보를 제공하는 것에 응답하여, 초기 질의를 발화할 수도 있고, 사용자는 그 후에 추가의 커맨드를 발화한다. 음성 신호는 그러므로, 음성의 다수의 개별 섹션들을 나타낼 수도 있다. 다른 경우들에는, 음성 신호가 사용자로부터의 계속적인 음성을 나타낼 수도 있다.
단계(52)에서, 수신된 음성 신호는 세그먼트들로 분할된다. 이 분할은 음성 신호가 수신되고 있을 때에 일어날 수도 있다.
예를 들어, 음성 신호가 트리거 어구에 더하여, 하나 이상의 후속 발화된 커맨드들 또는 질의들을 포함할 때, 트리거 어구는 제1 세그먼트로서 취급될 수도 있다.
트리거 어구 후의 음성 신호의 부분은 동일한 길이들의 세그먼트들로 분할될 수도 있다. 더 구체적으로, 트리거 어구 후의 음성 신호의 부분은 동일한 길이의 시간의 기간들을 커버하는 세그먼트들로 분할될 수도 있다. 대안적으로, 트리거 어구 후의 음성 신호의 부분은 순수 음성의 동일한 지속기간들을 포함하는 세그먼트들로 분할될 수도 있다.
즉, 음성 신호는 수 초의 기간을 커버할 수도 있고, 일부 경우들에는, 사용자가 그 기간의 전체에 대하여 발화하고 있을 것이다. 다른 경우들에는, 가상적 보조자가 출력을 제공하고 있을 때의 기간들이 있을 것이고, 침묵의 기간들이 있을 것이다. 이러한 경우들에는, 상이한 세그먼트들이 사용자의 음성의 상이한 양들을 포함하더라도, 트리거 어구 후의 음성 신호의 부분은 동일한 길이의 시간의 기간들(예를 들어, 1 초)을 커버하는 세그먼트들로 분할될 수도 있다. 대안적으로, 세그먼트들이 그 후에 상이한 지속기간들을 커버할 수도 있더라도, 트리거 어구 후의 음성 신호의 부분은 사용자의 음성의 동일한 지속기간들을 포함하는 세그먼트들로 분할될 수도 있다.
단계(54)에서는, 음성 세그먼트가 완료되었다는 것이 인식된다. 예를 들어, 이것은 동일한 길이의 시간의 기간들 중의 하나가 만료되었을 때, 또는 사용자의 음성의 미리 결정된 지속기간이 수신되었을 때일 수도 있다.
단계(56)에서, 인증 점수는 새롭게 완료된 음성 세그먼트 및 이전에 수신된 세그먼트들에 기초하여 획득된다. 인증 점수는 음성 신호가 특정 등록된 화자로부터 나올 확률을 나타낸다.
단계(58)에서는, 인증 요청에 응답하여, 인증 결과가 인증 점수에 기초하여 출력된다. 인증 요청은 예를 들어, 음성 인식 프로세스로부터 수신될 수도 있다.
인증 결과는 인증 점수를 문턱 점수와 비교함으로써, 그리고 인증 점수가 문턱 점술르 초과할 경우에 긍정적인 인증 결과를 결정함으로써 생성될 수도 있다. 문턱 점수는 수신된 요청된 보안성의 레벨에 따라 설정될 수도 있다. 예를 들어, 시스템은 외부 시스템으로부터 신호를 수신할 수도 있고, 그 후에, 상기 요청된 보안성의 레벨에 응답하여, 복수의 이용가능한 문턱 점수들로부터 문턱 점수를 선택할 수도 있다. 요청된 보안성의 레벨은 음성 인식 프로세스로부터 수신될 수도 있다.
따라서, 예를 들어, 음성 신호는 사용자의 음성의 내용 및 의미를 결정하는 음성 인식 시스템으로 전송될 수도 있다. 문턱 점수는 그 후에, 음성의 내용에 기초하여 결정될 수도 있다. 예를 들어, 문턱 점수는 음성의 내용에 응답하여, 복수의 이용가능한 문턱 점수들로부터 선택될 수도 있다.
예를 들어, 음성 인식 시스템이 사용자의 음성이 커맨드를 포함하는 것으로 인식할 때, 커맨드는 긍정적인 인증 결과가 획득될 경우에만 실행될 수도 있다. 커맨드가 정보에 대한 요청, 예를 들어, 2 개의 장소들 사이의 비행 시간들에 대한 정보에 대한 요청일 경우, 음성을 등재된 사용자로부터인 것으로서 수락하기 위한 잘못된 판정의 결론들이 심각하지 않으므로, 낮은 문턱 점수가 설정될 수도 있다. 그러나, 커맨드가 개인 정보를 공급하기 위한 요청, 또는 예를 들어, 재정적인 거래를 인가(authorize)하기 위한 요청일 경우, 음성을 등재된 사용자로부터인 것으로서 수락하기 위한 잘못된 판정의 결론들은 훨씬 더 심각하고, 따라서, 높은 문턱 점수가 설정될 수도 있어서, 긍정적인 인증 결과는 시스템이 음성 신호가 등재된 사용자의 음성을 나타낸다는 높은 확실성의 정도를 가질 경우에만 출력된다.
위에서 언급된 바와 같이, 인증 결과는 인증 요청에 응답하여 출력된다. 인증 요청은 인증 점수가 문턱 점수를 초과할 때에 인증 결과가 출력될 것을 요청할 수도 있다. 이것은 시간-중단(time-out)으로 될 수도 있어서, 사용자는 거부되고, 사용자가 미리 결정된 시간 제한 내에 인증될 수 없을 경우에는 프로세스가 종료된다.
대안적으로, 인증 요청은 인증 결과가 즉시 출력될 것을 요청할 수도 있다.
대안적으로, 인증 요청은 예를 들어, 음성 신호가 종료될 때, 인증 결과가 약간 미래의 시간에 출력될 것을 요청할 수도 있다.
단계(56) 후에, 예를 들어, 인증 점수가 문턱 점수를 아직 초과하지 않고 음성 신호가 아직 종료되지 않았으므로, 인증 결과를 출력하기 위한 필요성이 없는 것으로 결정될 경우, 프로세스는 단계(54)로 복귀할 수도 있다.
각각의 세그먼트에 후속하여, 상기 세그먼트 및 이전에 수신된 세그먼트들에 기초하여 인증 점수를 획득하는 것을 포함하는 단계(56)는 그 후에:
제1 세그먼트에 기초하여 제1 인증 점수를 획득하는 것; 각각의 후속 세그먼트에 기초하여 개개의 후속 인증 점수를 획득하는 것; 및 제1 인증 점수 및 후속 인증 점수 또는 각각의 후속 인증 점수를 병합함으로써, 상기 세그먼트 및 이전에 수신된 세그먼트들에 기초하여 인증 점수를 획득하는 것을 포함할 수도 있다.
따라서, 별도의 점수가 각각의 세그먼트에 대하여 획득되고, 별도의 점수들은 병합된다. 예를 들어, 제1 인증 점수 및 후속 인증 점수 또는 각각의 후속 인증 점수를 병합하는 단계는 제1 인증 점수 및 후속 인증 점수 또는 각각의 후속 인증 점수의 가중화된 합을 형성하는 것을 포함할 수도 있다. 가중화된 합은 예를 들어, 개개의 세그먼트들에서의 신호/잡음 비율들, 또는 개개의 세그먼트들에서의 사용자의 음성의 양들, 또는 다른 인자들에 기초하여, 상이한 가중치들을 상이한 세그먼트들로부터의 점수들에 부여할 수도 있다.
점수들을 가중화하는 이 프로세스는 명확한 이상치들의 효과를 제거하기 위하여 또한 이용될 수도 있고, 여기서, 하나의 세그먼트에 대한 점수는 이전에 프로세싱된 세그먼트들에 대하여 획득된 점수들과는 매우 명확하게 상이하다. 예를 들어, 모든 이상치들은 제로 가중치를 부여받을 수도 있고, 즉, 인증 점수들을 병합할 때에 효과적으로 폐기될 수도 있다. 대안적으로, 높은 인증 점수들(즉, 긍정적인 인증 판정을 나타냄)은 유지될 수도 있는 반면, 이상치의 낮은 인증 점수들은 제로 가중치를 부여받을 수도 있고, 즉, 인증 점수들을 병합할 때에 효과적으로 폐기될 수도 있다. 이 경우, 예를 들어, 화자의 변경의 경우에는, 낮은 인증 점수가 하나의 세그먼트에 대하여 획득될 수도 있고, 이것은 초기에 이상치 및 폐기된 것으로서 간주될 수도 있지만, 추후에 전형적인 점수로서 간주될 수도 있고 그 후에 완전히 참작될 것이라는 것이 주목되어야 한다.
대안적으로, 중간값 필터(median filter)는 업데이트된 점수에 대한 안정성을 제공하기 위하여 인증 점수들에 적용될 수 있다.
대안적으로, 각각의 세그먼트에 후속하여, 상기 세그먼트 및 이전에 수신된 세그먼트들에 기초하여 인증 점수를 획득하는 것을 포함하는 단계(56)는 그 후에: 음성 신호의 제1 세그먼트에 기초하여 제1 인증 점수를 획득하는 것; 및 음성 신호의 각각의 새로운 세그먼트에 후속하여, 새로운 조합된 음성 신호를 형성하기 위하여 음성 신호의 새로운 세그먼트를 음성 신호의 이전에 수신된 세그먼트 또는 각각의 이전에 수신된 세그먼트와 조합하는 것; 및 상기 새로운 조합된 음성 신호에 기초하여 인증 점수를 획득하는 것을 포함할 수도 있다.
따라서 점수는 제1 세그먼트에 대하여 획득되지만, 각각의 새로운 세그먼트 후에, 그 새로운 세그먼트에 대한 별도의 점수가 아니라, 지금까지의 신호의 전체에 대한 새로운 점수가 오직 있다.
추가의 대안으로서, 제1 점수는 하나 이상의 제1 세그먼트에 대하여 획득될 수도 있다. 그 후에, 별도의 제2 점수는 하나 이상의 제2 세그먼트에 대하여 획득될 수도 있다. 제1 및 제2 점수들은 그 후에, 전체적인 인증 점수를 획득하기 위하여 병합될 수도 있다. 이 대안은 예를 들어, 음성의 제1 세그먼트가 트리거 어구인 반면, 제2 세그먼트가 발화된 커맨드를 나타내는 상황에서 유용할 수도 있다. 트리거 어구가 미리 알려지므로, 사용자가 그 알려진 트리거 어구를 발화함으로써 시스템이 훈련되는 것이 가능하여, 텍스트-종속적 화자 인식 기법들이 제1 인증 점수를 획득하기 위하여 이용되는 것을 허용한다. 그러나, 잠재적으로 큰 수의 가능한 커맨드들이 있을 것이어서, 사용자가 그 커맨드들을 발화함으로써 시스템이 훈련되는 것을 비현실적으로 할 것이다. 따라서, 텍스트-독립적 화자 인식 기법들은 별도의 제2 인증 점수를 획득하기 위하여 이용될 필요가 있을 것이다.
도 4는 하나의 실시예에서, 가상적 보조자 시스템에서의 이용을 위한 화자 인식 시스템(80)의 일반적인 형태를 예시하는 블록도이다. 도 4에서 예시된 기능들은 도 2에서 도시된 바와 같이, 스마트폰(10)의 프로세서(26)에서 수행될 수도 있거나, 그것들은 예를 들어, 클라우드 컴퓨팅 환경에서의 별도의 시스템에서 수행될 수도 있다. 일반적으로, 연산-집중적 태스크들은 유리하게도, 휴대용 디바이스에 전력을 절감하기 위하여 원격으로 수행될 수도 있고, 유사하게, 휴대용 디바이스에 대해 비현실적인 데이터 저장 요건들을 부과할 태스크들은 원격으로 수행될 수도 있는 반면, 덜 연산-집중적인 태스크들, 및 사적 데이터(private data)를 수반하는 태스크들은 유리하게도 사용자의 스마트폰에서 수행될 수도 있다. 예를 들어, 음성 인식은 원격으로 수행될 수도 있는 반면, 화자 인식은 스마트폰 자체에서 수행되지만, 태스크들의 많은 상이한 배정들이 고안될 수 있다.
이 예에서는, 등재 국면 동안에, 시스템을 훈련시키기 위하여, 발화된 입력들을 시스템에 제공함으로써 사용자가 시스템에 등재한 것으로 가정된다. 이 추가의 설명은 그 후에, 검증 국면에 관련되고, 검증 국면 동안에는, 화자가 등재된 사용자인 것으로 취해지는지 여부가 결정된다.
이 예에서, 시스템(80)은 트리거 어구가 검출되었는지 여부를 결정하기 위한 블록(82)을 포함한다. 이 블록은 전형적으로, 음성 신호의 가장 최근에 수신된 부분을 계속적으로 저장하고 있을 버퍼를 포함할 것이다. 버퍼는 이 경우에, 예상된 트리거 어구의 적어도 지속기간의 음성을 저장할 정도로 충분히 길어야 한다. 그 후에, 블록(82)이 트리거 어구가 등재된 사용자에 의해 발화된 것인지 여부에 대한 임의의 결정을 행하지 않으면서, 트리거 어구가 발환된 것으로 결정할 때, 블록(82)은 신호를 분리된 트리거/커맨드 블록(84)으로 전송한다. 이 신호는 버퍼로부터 추출되고, 저장된 트리거 어구를 포함하는 저장된 음성 신호의 부분을 포함한다.
트리거 어구의 검출은 보이스 활성 검출기(voice activity detector)(VAD) 및/또는 음성 인식 프로세스를 이용할 수 있다.
이 예시된 예에서는, 사용자의 음성이 트리거 어구(예를 들어, "OK 전화(OK phone)" 등)와, 그 다음으로 커맨드를 포함하는 것으로 가정된다. 분리된 트리거/커맨드 블록(84)은 언제 트리거 어구가 종료되었고 커맨드가 시작하려고 하는지를 결정한다.
커맨드의 시작은 알려진 트리거를 후행하는 모든 것을 커맨드의 부분인 것으로 고려함으로써 간단하게 식별될 수 있다. 대안적으로, 음성 인식 프로세스는 사용자가 트리거 후에 발성(utterance)을 시작한 것으로 결정하기 위하여 이용될 수 있다.
트리거/커맨드 블록(84)은 트리거 어구를 표현하는 음성 신호의 그 일부분을, 트리거 어구에 대한 화자 인식 프로세스를 수행하는 프로세스 트리거 블록(86)으로 전송한다. 트리거 어구가 미리 알려지므로, 사용자가 그 알려진 트리거 어구를 발화함으로써 화자 인식 시스템이 등재 동안에 훈련되는 것이 가능하다. 이것은 제1 인증 점수를 획득하기 위하여, 텍스트-종속적 또는 텍스트-제약된 화자 인식 기법들이 검증 국면 동안에 프로세스 트리거 블록(86)에 의해 이용되는 것을 허용한다. 제1 인증 점수는 검증 국면 동안에 수신된 음성 입력들이 등재 동안에 음성 입력들을 제공하였던 동일한 사용자에 의해 제공되었을 가능성을 표시한다.
등재된 사용자의 중계된 레코딩들과 같은 공격들 또는 멀웨어(malware) 공격들을 검출하는 것을 시도하는 안티스푸핑(antispoofing) 방법은 제1 인증 점수의 강인성(robustness)에 대한 정보를 제공하기 위하여, 프로세스 트리거 블록(86)에서 포함될 수 있다.
트리거/커맨드 블록(84)은 그 후에, 커맨드 어구를 나타내는 입력 음성 신호의 일부분을 새로운 커맨드 세그먼트 블록(88)으로 스트리밍한다.
시스템은 트리거 어구의 이용을 참조하여 지금까지 설명되었지만, 다른 예들에서는, 트리거 어구가 없을 수도 있고, 시스템은 버튼을 누르는 것 또는 인증의 일부 다른 형태를 수행하는 것과 같은, 사용자의 일부 다른 액션에 의해 활성화될 수도 있다는 것이 주목되어야 한다. 그 경우, 음성 신호의 전체는 새로운 커맨드 세그먼트 블록(88)으로 전달된다.
새로운 커맨드 세그먼트 블록(88)은 가상적 보조자가 언제 발화하고 있는지를 표시하는 정보를 또한 수신한다. 예를 들어, 가상적 보조자는 사용자로부터 추가의 정보를 도출하기 위하여, 커맨드에 응답하여 사용자에게 발화할 수도 있고, 따라서, 사용자의 음성은 그 경우에, 가상적 보조자 발화에 의해 중단될 수도 있다.
새로운 커맨드 세그먼트 블록(88)은 수신된 음성 신호를 사용자의 음성의 세그먼트들로 분할하여, 가상적 보조자에 의해 생성된 임의의 음성을 생략한다.
이 예에서, 트리거 어구 후의 사용자의 음성은 동일한 길이들의 세그먼트들로 분할된다. 더 구체적으로, 이 예에서, 트리거 어구 후의 음성 신호의 부분은 동일한 길이의 시간의 기간들, 예를 들어, 1 초를 커버하는 세그먼트들로 분할된다. 위에서 언급된 바와 같이, 새로운 커맨드 세그먼트 블록(88)은 트리거 어구 후의 수신된 음성 신호를, 동일한 길이의 시간의 기간들을 커버하는 세그먼트들로, 또는 예를 들어, 순수 음성의 동일한 지속기간들을 포함하는 세그먼트들로 분할할 수도 있다.
즉시, 그것은 완전히 수신되고, 커맨드의 각각의 새로운 세그먼트는 프로세스 커맨드 세그먼트 블록(90)으로 전달된다. 이 블록은 커맨드의 내용에 대한 화자 인식을 수행한다. 전형적으로, 화자 인식의 프로세스는 음성 신호의 관련된 특징들, 예를 들어, 멜 주파수 켑스트럼 계수들(Mel Frequency Cepstral Coefficients)(MFCCs)을 추출하는 것, 및 이 특징들을 통계적 화자 인식 프로세스에 대한 기초로서 이용하는 것을 수반한다.
커맨드의 제1 세그먼트가 수신될 때, 화자가 이전에 등재된 화자일 확률을 나타내는 점수를 획득하기 위하여, 제1 세그먼트는 블록(90)에서 보이스 생체인식 시스템(voice biometrics system)에 의해 프로세싱된다. 이 점수는 업데이트 커맨드 점수 블록(92)에서 저장된다.
블록(90)에서의 보이스 생체인식 시스템은 그것이 사용자가 말할 것을 일반적으로 미리 알지 않을 것이므로, 일반적으로 텍스트-독립적 또는 비제약된 시스템일 것이다. 블록(90)에서 수행된 화자 인식 프로세싱은 블록(86)에서 트리거 어구를 프로세싱하기 위하여 이용된 시스템과 정확하게 동일할 수 있거나, 그것은 그 시스템의 일부 양태들을 공유할 수 있거나(예를 들어, 그것은 동일한 알고리즘을 이용할 수 있지만, 상이한 배경 모델들을 이용할 수 있음), 그것은 완전히 상이할 수 있다.
커맨드의 제1 세그먼트가 프로세싱되었을 때, 세그먼트에 관련되는 일부 정보가 추출된다.
추출되는 정보는 누적된 점수화 정보 블록(94)에서 저장된다.
하나의 예에서, 이 정보는 제1 세그먼트에 대한 인증 점수를 오직 포함한다. 그 후에, 커맨드의 제2 세그먼트가 수신될 때, 제2 세그먼트에 대한 인증 점수를 획득하기 위하여, 제2 세그먼트는 제1의 것과 완전히 독립적으로 보이스 생체인식 블록(90)에 의해 프로세싱된다.
업데이트 커맨드 점수 블록(92)은 그 후에, 커맨드에 대한 업데이트된 점수를 획득하기 위하여, 제1 및 제2 세그먼트들로부터의 점수들을 조합한다. 예를 들어, 조합은 개별적인 점수들의 가중화된 합일 수도 있다. 이것의 하나의 예로서, 점수들은 각각의 세그먼트에서의 사용자의 음성의 지속기간에 의해 가중화될 수도 있다. 예를 들어, 제1 세그먼트가 사용자의 음성의 600 밀리초(millisecond)를 포함하고 제2 세그먼트가 사용자의 음성의 300 밀리초를 포함할 경우, 제1 세그먼트의 점수는 조합된 점수에서의 제2 세그먼트의 가중화의 2 배로 부여받을 수도 있다.
이 가중화가 이용되는 것을 허용하기 위하여, 누적된 점수화 정보 블록(94)에서 저장되는 정보는 관련된 정보를 계산할 시에 참작된 사용자의 음성의 지속기간을 포함한다.
그 후에, 커맨드의 제3 세그먼트가 수신될 때, 제3 세그먼트에 대한 인증 점수를 획득하기 위하여, 제3 세그먼트는 제1 및 제2 세그먼트들과 완전히 독립적으로 보이스 생체인식 블록(90)에 의해 또한 프로세싱된다.
업데이트 커맨드 점수 블록(92)은 그 후에, 커맨드에 대한 업데이트된 점수를 획득하기 위하여, 제3 세그먼트로부터의 점수를 제1 및 제2 세그먼트들에 대한 조합된 점수와 조합한다. 다시, 조합은 개별적인 점수들의 가중화된 합일 수도 있고, 점수들은 각각의 점수를 형성할 시에 이용된 사용자의 음성의 지속기간에 의해 가중화될 수도 있다.
상이한 세그먼트들 상에서 획득된 점수들을 융합하기 위한 추가의 기법들은 융합 블록(96)을 참조하여 이하에서 논의된다. 예를 들어, 인증 점수들에 부여된 가중화들은 세그먼트 동안에 측정된 개개의 신호 대 잡음 비율과 같은, 각각의 세그먼트와 연관된 일부 품질 척도에 종속될 수 있다.
또 다른 예로서, 누적된 점수화 정보 블록(94)에서 저장되는 정보는 커맨드에서 수신되는 오디오 신호의 전체를 포함할 수도 있다.
그 경우, 새로운 커맨드 세그먼트가 수신될 때, 프로세스 커맨드 세그먼트 블록(90)은 새롭게 수신된 세그먼트를 포함하는, 커맨드 오디오의 전체에 대한 새로운 인증 프로세스를 수행할 수도 있다. 업데이트 커맨드 점수 블록(92)은 그 후에, 이전에 획득된 인증 점수를 새롭게 계산된 인증 점수에 의해 대체한다.
추가의 예로서, 누적된 점수화 정보 블록(94)에서 저장되는 정보는 이전에 언급된 MFCC들과 같은, 음성 신호의 추출된 관련된 특징들을 포함할 수도 있다.
그 경우, 새로운 커맨드 세그먼트가 수신될 때, 프로세스 커맨드 세그먼트 블록(90)은 새롭게 수신된 세그먼트를 포함하는, 커맨드 오디오의 전체로부터 추출된 특징들에 대한 새로운 인증 프로세스를 수행할 수도 있다. 업데이트 커맨드 점수 블록(92)은 그 후에, 이전에 획득된 인증 점수를 새롭게 계산된 인증 점수에 의해 대체한다.
커맨드에 대한 인증 점수가 업데이트 커맨드 점수 블록(92)에 의해 업데이트될 때마다, 융합 블록(98)은 프로세스 트리거 블록(86) 및 업데이트 커맨드 점수 블록(92)의 출력들에 기초하여 새로운 인증 점수를 계산한다.
이 예에서, 융합 블록(96)은 따라서, 사용자가 등재된 사용자일 가능성을 표시하는 조랍된 인증 점수를 획득하기 위하여, 트리거 및 커맨드에 대해 수행된 화자 인식 프로세스들의 결과들을 조합한다. 가능성을 표시하는 조합된 인증 점수는 예를 들어, 로그 가능성 비율(LLR)일 수도 있거나, 일부 더 간접적인 표시, 예를 들어, 일부 1-차원 또는 다-차원 문턱 또는 명목 포인트(nominal point)로부터 음성 샘플의 추출된 특징들의 거리, 또는 다-차원 음성 파라미터 공간에서의 체적의 메트릭일 수도 있다.
조합된 인증 점수는 별도의 인증 점수들, 즉, 임의의 적당한 방법에 의해 트리거 및 커맨드에 대해 수행된 화자 인식 프로세스들의 결과들로부터 획득될 수도 있다. 예를 들어, 조합된 인증 점수는 각각 트리거 및 커맨드로부터 획득된 인증 점수들 sT 및 sC의 가중화된 합 sF일 수도 있다. 즉, 일반적인 측면들에서:
Figure 112019000680727-pct00001
가중화 인자들
Figure 112019000680727-pct00002
,
Figure 112019000680727-pct00003
, 및
Figure 112019000680727-pct00004
는 상수일 수도 있고 미리 결정될 수도 있다.
대안적으로, 조합된 출력 인증 점수를 획득하기 위하여, 제1 및 제2 보이스 세그먼트들에 대해 수행된 화자 인식 프로세스들의 결과들을 조합하는 단계는 판정의 신뢰성을 개선시키기 위하여, 결과들이 어떻게 조합되어야 하는지를 결정하기 위한 품질 척도들을 이용할 수도 있다. 즉, 별도의 품질 척도들이 트리거 및 커맨드 보이스 세그먼트들에 대하여 획득되고, 이 품질 척도들은 그 후에, 인증 점수들이 조합되게 하는 프로세스에 대한 추가의 입력들로서 이용된다.
이 품질 척도들은 예를 들어, 트리거 어구 및 커맨드의 속성들에 기초할 수도 있다. 어떤 트리거들은 그것들이 지속기간에 있어서 더 길기 때문에, 또는 그것들이 더 많은 표음적 가변성(phonetic variability)을 포함하고, 따라서, 그것들은 화자들을 구별하기 위하여 더 많은 정보를 제공하기 때문에, 다른 것들보다 보이스 생체인식에서의 이용을 위하여 더 적당할 것이다. 어떤 커맨드들은 동일한 이유들로 다른 것들보다 보이스 생체인식에서의 이용을 위하여 더 적당할 것이다. 제1 및 제2 보이스 세그먼트들에서의 비-정적(non-stationary) 잡음의 존재와 같은 다른 양태들은 하나의 보이스 세그먼트를 다른 것보다 더 신뢰성 있게 할 수도 있다.
하나의 실시예에서, 품질 척도들의 세트, 즉, 트리거에 대한 품질 척도들 QT의 세트 및 커맨드에 대한 품질 척도들 QC의 세트가 정의되고, 가중화 인자들
Figure 112019000680727-pct00005
,
Figure 112019000680727-pct00006
, 및
Figure 112019000680727-pct00007
의 값들은 품질 척도들에 기초하여 설정된다. 그 후에, 가중화된 합 SF은 이 품질 척도들의 함수로서 획득될 것이다:
Figure 112019000680727-pct00008
품질 척도들 QT, QC를 가중화 인자들
Figure 112019000680727-pct00009
,
Figure 112019000680727-pct00010
, 및
Figure 112019000680727-pct00011
에 맵핑하는 함수들은 시스템 설계의 부분이고, 따라서, 시스템이 사용자 등재 또는 검증에 대하여 전개되기 전에, 개발 국면 동안에 획득되고 정의된다. 개발 국면 후의 이용 시에 이 함수들에 의해 반환된 값들은 품질 척도들 QT, QC이 샘플마다 변동될 때에 샘플마다 변동될 것이다.
함수들은 품질 척도들의 상이한 값들의 범위를 가지도록 배열된 큰 수의 음성 샘플들로 시스템을 연습시키는 것에 기초하여 개발 국면 동안에 획득될 수도 있다.
함수들의 형태는 개발 국면 전에 정의될 수도 있고, 계수들은 최상의 맞춤(best fit)을 제공하도록 최적화될 수도 있다. 일부 실시예들에서, 함수들은 대수 함수(algebraic function)들이 아닐 수도 있지만, 품질 척도들의 값의 범위들 상에서 최적화된 최적화된 계수들, 또는 품질 척도들의 최적화된 범위들에 적용된 고정된 값들을 포함하는 룩업 테이블(look-up table)의 형태를 포함할 수도 있다. 더 일반적으로, 함수는 일부 계수들에 의해 특징되고 품질 척도들에 종속적인 값을 전달하는 일부 더 복잡한 알고리즘의 결과일 수도 있다.
일부 실시예들에서, 조합된 점수는 예를 들어, 이하의 형태로 나타내어질 수도 있는 점수들 sF 및 sC의 비-선형 조합일 수도 있다.
Figure 112019000680727-pct00012
여기서, 각각의 가중화 인자
Figure 112019000680727-pct00013
또는
Figure 112019000680727-pct00014
는 개개의 점수에 연속적으로 또는 불-연속적으로 종속될 수도 있다.
더 일반적으로, 조합된 점수는 제1 및 제2 보이스 세그먼트들에 대해 수행된 화자 인식 프로세스들로부터 획득되는 점수들 sT 및 sC, 및 그 보이스 세그먼트들에 적용하는 품질 척도들 QT 및 QC의 임의의 함수일 수도 있다. 즉:
Figure 112019000680727-pct00015
여기서, f는 임의의 함수일 수도 있다.
점수들 sT 및 sC, 및 품질 척도들 QT 및 QC의 값들은 조합된 점수 sF에 대한 값을 그 후에 생성하는 신경 네트워크(neural network)에 적용될 수도 있다.
제1 및 제2 화자 인식 프로세스들의 결과들에 부여되어야 할 가중치들을 결정할 때에는, 상이한 품질 척도들이 고려될 수 있다.
하나의 적당한 품질 척도는 예를 들어, 입력 트리거 및 입력 커맨드에서 별도로 측정될 수도 있는 신호 대 잡음 비율(SNR)이다. SNR이 급속하게 변동되는 비-정적 잡음의 경우, 더 높은 가중치가 더 높은 SNR을 가지는 입력 음성 세그먼트로부터 획득된 결과에 부여될 수 있다.
또 다른 적당한 품질 척도는 순수-음성 척도이다. 예시된 실시예와 관련하여 논의된 바와 같이, 커맨드로부터 획득된 점수에 부여되는 가중치는 커맨드에서의 음성의 양에 따라 증가될 수 있다. 즉, 비-음성 세그먼트들을 제외하는, 음성을 실제적으로 포함하는 커맨드에서의 프래그먼트(fragment)들의 총 길이는 예를 들어, 초(second)와 같은 시간 단위들로 측정되고, 이것은 트리거에 적용된 가중치에 대하여, 커맨드에 적용되어야 할 가중치를 형성하기 위하여 이용된다.
오디오 입력의 새로운 세그먼트에 응답하여 융합 블록(96)에 의해 생성된 새로운 인증 점수는 인증 결과를 생성하는 판정 업데이트 블록(98)으로 송신되고, 이 예에서, 인증 결과는 2 개의 가능한 값들, 즉, "사용자 인증됨" 및 "사용자 인증되지 않음"을 가지는 인증 플래그(authentication flag)이다. 인증 결과는 인증 점수를 문턱 값과 비교함으로써 획득된다. 문턱 값은 고정될 수도 있거나, 일부 가변적인 기준에 종속될 수도 있다. 예를 들어, 문턱 값은 보안성 레벨에 의해 결정될 수도 있다. 낮은 보안성 시스템, 또는 시스템 내의 낮은 보안성 커맨드에 대하여, 상대적으로 높은 오수락 레이트(False Acceptance Rate)(FAR)가 용인가능할 수도 있고, 따라서, 낮은 문턱이 설정될 수도 있다. 그 경우, 사용자가 등재된 사용자라는 상대적으로 낮은 신뢰도(degree of confidence)를 나타내는 상대적으로 낮은 인증 점수는 문턱을 여전히 초과할 수도 있다. 높은 보안성 시스템, 또는 시스템 내의 높은 보안성 커맨드에 대하여, 상대적으로 낮은 오수락 레이트(FAR)가 요구될 수도 있고, 따라서, 높은 문턱이 설정될 수도 있어서, 사용자가 등재된 사용자라는 높은 신뢰도를 나타내는 높은 인증 점수가 오직 문턱을 초과할 것이다.
요구된 보안성 레벨을 표시하는 입력은 외부 프로세스로부터, 예를 들어, 사용자의 음성의 내용을 결정하는 음성 인식 프로세스로부터 수신될 수도 있고, 따라서, 이것은 문턱 값을 설정하기 위하여 이용될 수도 있다. 판정 업데이트 블록(98)은 다수의 문턱 값들을 저장할 수도 있고, 이 문턱 값들 중의 하나는 외부 프로세스로부터 수신된 신호에 응답하여 선택될 수도 있고, 인증 결과는 그 후에, 인증 점수를 선택된 문턱 값과 비교함으로써 획득될 수도 있다.
일부 실시예들에서는, 다수의 잠정적인 인증 결과들을 부여하기 위하여, 인증 점수는 다수의 문턱 값들과 비교될 수도 있다. 이 예에서, 시스템은 인증 점수를 개개의 문턱 값들과 비교한 결과들을 표시하는 대응하는 인증 플래그들을 저장하기 위한 다수의 레지스터(register)들을 포함할 수도 있다.
인증 결과는 그 후에, 인증 요청에 응답하여 출력될 수도 있다.
예를 들어, 인증 플래그는 인증이 요구될 때에 외부 프로세스(예를 들어, 이동 디바이스에서의 애플리케이션 프로세서(Applications Processor), AP)에 의해 의뢰될 수도 있거나, 매 세그먼트가 프로세싱된 후, 또는 인증 결과가 변경될 때, 또는 프로세스를 종료시키기 위한 미리 정의된 조건이 충족될 때, 인증 결과는 판정 업데이트 블록(98)에 의해 푸시 업(push up)될 수 있다. 인증 요청은 인증 결과를 출력하기 위한 조건들을 설정할 수도 있다.
판정 업데이트 블록(98)은 그러므로, 융합 블록(96)의 가장 최근의 출력에 오직 기초하여 인증 플래그를 설정할 수도 있다.
일부 예들에서, 판정 업데이트 블록(98)은 제안된 시스템 내에서 추가적인 안정성을 제공하도록 의도된 방식으로 인증 플래그를 설정한다. 이 경우, 인증 점수가 관련된 문턱을 초과할 때마다, 인증 플래그는 "사용자 인증됨"으로 설정된다. 인증 타이머로서 지칭된 타이머가 시작되고, 미리 결정된 시간의 기간에 대해 작동한다. 타이머는 관련된 문턱을 초과하는 새로운 인증 점수가 계산될 경우에 재시작된다.
인증 플래그는 그 후에, 그 기간 동안에 인증 점수에 무슨 일이 일어나든지, 인증 타이머의 지속기간에 대하여, "사용자 인증됨" 상태에서 유지된다. 이것은 사용자가 인증 타이머의 지속기간에 대해 인증된 것으로 유지되는 것과, 커맨드의 종료 후에 발생하는 침묵들 또는 외래 잡음들이 인증 프로세스에 영향을 주지 않는다는 것을 보장한다. 이 타이머의 지속기간은 외부(아마도 원격) 음성 프로세싱 시스템이 커맨드를 해독할 수 있고 관련된 통신 네트워크 상에서 인증 플래그 스테이터스(status)를 요청할 수 있을 정도로 충분히 길기 때문에, 인증 플래그가 커맨드의 종료 후에 "사용자 인증됨"으로 설정되어 유지되도록 충분히 길어야 한다. 그러나, 타이머의 지속기간은 다른 화자들이 등재된 사용자에 의해 발화된 커맨드 후에 커맨드 수정들을 발성할 수 있고 디폴트(default)에 의해 자동적으로 인증된 그 커맨드 수정들을 가지도록, 그렇게 긴 것으로 설정되지 않아야 한다. 타이머 지속기간은 그러므로, 수십 밀리초만큼 짧을 수도 있거나, 수 초만큼 길 수도 있다.
판정 업데이트 블록(98)이 인증 플래그를 설정한 후, 종료 조건 블록(100)은 프로세스가 종료되어야 하는지 또는 계속되어야 하는지 여부를 결정한다.
따라서, 판정이 업데이트될 때마다, 종료 건들의 세트가 체크된다. 가상적 보조자를 제어하는 프로세스는 더 많은 커맨드가 예상되지 않는다는 것, 그리고 따라서, 오디오 프로세스가 종결되어야 한다는 것을 표시할 수도 있다. 이에 응답하여, 입력 오디오의 프로세싱이 종료되고, 시스템은 새로운 트리거를 대기하는 상태로 복귀한다. 이것은 전형적으로, 현재의 인증 플래그 값을 요청하는 주요 프로세스로부터의 인증 요청에 의해 동반된다. 대안적으로, 판정 업데이트 블록(98)은 그 순간에, 현재의 인증 플래그 값을 주요 애플리케이션으로 푸시할 수 있다.
도 5는 하나의 예에서, 시스템(80)의 동작을 예시하는 타이밍도이다.
이 예에서, 사용자는 2 초 트리거 어구(120)("OK 전화")와, 그 다음으로, 6 초 커맨드(122)("Send a text message to John, saying that I will arrive thirty minutes late")를 발성한다. 다른 예들에서, 사용자는 예를 들어, 주문하기 위한 항목을 선택하고, 그 후에, 가상적 보조자로부터의 제1 질의에 응답하여 배달 주소를 표시하고, 그 후에, 가상적 보조자로부터의 제2 질의에 응답하여 지불 방법을 인가하는 음성의 다수의 개별 섹션들로 가상적 보조자 시스템과의 더 복잡한 상호작용을 수행할 수도 있다. 이러한 경우, 시스템은 보이스 생체인식 프로세싱에서의 분석을 위하여 음성 세그먼트들을 형성할 때에 가상적 보조자의 음성을 제외한다.
도 5는 발화된 단어들 아래의 수평 라인을 따라 분 및 초로 된 시간들(00:00, 00:01, 00:02, …, 00:12)을 도시한다.
도 5는 보이스 생체인식 프로세싱을 또한 도시한다.
트리거 어구가 완료되었을 때, 그것은 트리거 검출 시스템에 의해 검출될 수 있다. 일부 경우들에는, 보이스 생체인식 프로세싱 시스템이 트리거가 검출될 때에 오직 활성화될 것이다.
따라서, 이 예에서, 보이스 생체인식 프로세싱 시스템에서의 프로세스 트리거 블록(88)에 의한 트리거 어구의 프로세싱은 시간 00:02에서 시작할 수 있다.
음성의 블록의 프로세싱은 전형적으로 음성의 지속기간보다 더 적은 시간이 걸릴 것이다. 따라서, 이 경우, 트리거 어구가 프로세싱되고, 트리거에 대한 인증 점수는 시간 00:03.2에서 이용가능하다.
도 5는 인증 점수 및 인증 결과의 진화를 또한 도시한다. 이 예에서, 인증 결과는 인증 점수(124)를 적당하게 높은 문턱 값(126)과 비교함으로써 획득된다.
트리거 어구가 프로세싱되었을 때까지, 이용가능한 인증 점수가 없고, 따라서, 시스템은 임의의 인증 결과를 생성할 수 없다.
트리거 어구가 프로세싱되었을 때, 인증 점수는 이용가능할 것이지만, 트리거 어구는 상대적으로 적은 정보를 포함하고, 따라서, 사용자가 시스템의 등재된 사용자라는 이 제한된 정보에 기초한 어떤 것이라는 것이 가능하지 않으므로, 인증 점수는 문턱을 초과할 정도로 충분히 높지 않다.
따라서, 인증 결과는 "사용자 인증되지 않음"으로 설정된다.
도 5는 각각이 1 초의 지속기간을 갖는 6 개의 세그먼트들(128, 130, 132, 134, 136, 138)로 분할된 커맨드 어구(122)를 도시한다.
보이스 생체인식 시스템이 트리거 어구를 프로세싱하는 것을 종결시키자마자, 그것은 커맨드의 제1 세그먼트(128)를 프로세싱한다. 이것은 시간 00:03.8에서 완료되고, 이 시점에서, 인증 점수는 새로운 조합된 인증 점수를 생성하기 위하여 업데이트될 수 있다.
이 예에서, 트리거 및 1 초의 커맨드에 기초한 업데이트된 인증 점수는 문턱 값(126)을 초과하지 않는다. 따라서, 인증 결과는 "사용자 인증되지 않음"으로 설정되어 유지된다.
보이스 생체인식 시스템은 그 후에 커맨드의 제2 세그먼트(130)를 프로세싱한다. 이것은 시간 00:04.7에서 완료되고, 이 시점에서, 인증 점수는 새로운 조합된 인증 점수를 생성하기 위하여 업데이트될 수 있다.
이 예에서, 트리거 및 2 초의 커맨드에 기초한 업데이트된 인증 점수는 문턱 값(126)을 초과하지 않는다. 따라서, 인증 결과는 "사용자 인증되지 않음"으로 설정되어 유지된다.
보이스 생체인식 시스템은 그 후에 커맨드의 제3 세그먼트(132)를 프로세싱한다. 이것은 시간 00:05.7에서 완료되고, 이 시점에서, 인증 점수는 새로운 조합된 인증 점수를 생성하기 위하여 업데이트될 수 있다.
이 예에서, 트리거 및 3 초의 커맨드에 기초한 업데이트된 인증 점수는 문턱 값(126)을 초과한다.
따라서, 인증 결과는 이제 "사용자 인증됨"으로 설정된다. 이 시점에서, 시스템은 인증 결과 "사용자 인증됨"을 출력으로서 푸시할 수 있지만, 이 경우, 설정되었던 종료 조건은 시스템이 인증 요청을 대기해야 한다는 것이다.
보이스 생체인식 시스템은 그 후에 커맨드의 제4 세그먼트(134)를 프로세싱한다. 이것은 시간 00:06.7에서 완료되고, 이 시점에서, 인증 점수는 새로운 조합된 인증 점수를 생성하기 위하여 업데이트될 수 있다.
이 예에서, 트리거 및 4 초의 커맨드에 기초한 업데이트된 인증 점수는 문턱 값(126)을 여전히 초과하고, 따라서, 인증 결과는 "사용자 인증됨"으로 설정되어 유지된다.
보이스 생체인식 시스템은 그 후에 커맨드의 제5 세그먼트(136)를 프로세싱한다. 이것은 시간 00:07.7에서 완료되고, 이 시점에서, 인증 점수는 새로운 조합된 인증 점수를 생성하기 위하여 업데이트될 수 있다.
이 예에서, 트리거 및 5 초의 커맨드에 기초한 업데이트된 인증 점수는 문턱 값(126)을 여전히 초과하고, 따라서, 인증 결과는 "사용자 인증됨"으로 설정되어 유지된다.
도 5는 보이스 생체인식 시스템이 그 후에, 커맨드의 제6 세그먼트(138)를 프로세싱한다는 것을 또한 도시한다. 이것은 시간 00:08.7에서 완료되고, 이 시점에서, 인증 점수는 새로운 조합된 인증 점수를 생성하기 위하여 업데이트될 수 있다.
이 예에서, 트리거 및 전체 6 초의 커맨드에 기초한 업데이트된 인증 점수는 문턱 값(126)을 여전히 초과하고, 따라서, 인증 결과는 "사용자 인증됨"으로 설정되어 유지된다.
그러나, 도 5는 이 예에서, 인증이 시간 00:08.2에서 외부 프로세스에 의해 요청된다는 것을 또한 도시한다. 예를 들어, 이것은 외부 프로세스가 커맨드(122)가 종료되었다는 것을 인식하였기 때문에 일어날 수 있다.
트리거 및 5 초의 커맨드에 기초한 업데이트된 인증 점수는 문턱 값(126)을 초과하므로, 시스템은 결과 "사용자 인증됨"을 시간 00:08.2에서 즉시 응답할 수 있다. 인증 결과는 이전에 컴퓨팅되었고, 커맨드의 전체 대한 보이스 생체인식 프로세싱을 완료할 필요 없이, 이미 이용가능하였으므로, 시스템은 그러므로 매우 적은 지연으로 응답할 수 있다.
도 5는 인증 결과가 "사용자 인증됨" 또는 "사용자 인증되지 않음"의 어느 하나일 수도 있고, "사용자 인증되지 않음" 결과는 시스템이 요구된 확실성의 정도로 사용자를 인증하기 위하여 충분한 정보를 취득하기 전에, 전형적으로 초기에 출력될 수도 있는 예를 도시한다.
다른 예들에서, 인증 점수는 제1 문턱 및 제2 문턱과 비교될 수도 있다. 그 경우, 제1 문턱은, 제1 문턱 값이 초과될 때, 화자가 등재된 사용자라는 높은 확실성의 정도가 있다는 것을 의미하는 레벨로 설정될 수도 있고, 따라서, 인증 결과는 사용자가 인증된다는 것을 표시할 수도 있다. 제2 문턱은, 인증 점수가 제2 문턱 미만일 경우, 화자가 등재된 사용자가 아니라는 높은 확실성의 정도가 있다는 것을 의미하는 레벨로 설정될 수도 있다. 인증 결과는 그 후에 이것을 표시할 수도 있다. 인증 점수가 제1 및 제2 문턱들 사이에 있을 경우, 화자가 등재된 사용자인지 여부에 대한 불확실성이 있고, 인증 결과는 사용자가 아직 인증되지 않는다는 것을 표시할 수도 있다.
따라서, 화자를 인증하는 프로세스는 연속적으로 수행될 수 있다.
통상의 기술자는 전술한 장치 및 방법들의 일부 양태들, 예를 들어, 프로세서에 의해 수행된 계산들이 예를 들어, 디스크, CD- 또는 DVD-ROM, 판독 전용 메모리와 같은 프로그래밍된 메모리(펌웨어)와 같은 비-휘발성 캐리어 매체 상에서, 또는 광학적 또는 전기적 신호 캐리어와 같은 데이터 캐리어 상에서 프로세서 제어 코드로서 구체화될 수도 있다. 많은 애플리케이션들에 대하여, 발명의 실시예들은 DSP(Digital Signal Processor)(디지털 신호 프로세서), ASIC(Application Specific Integrated Circuit)(애플리케이션 특정 집적 회로), 또는 FPGA(Field Programmable Gate Array)(필드 프로그래밍가능 게이트 어레이) 상에서 구현될 것이다. 따라서, 코드는 통상적인 프로그램 코드 또는 마이크로코드, 또는 예를 들어, ASIC 또는 FPGA를 셋업하거나 제어하기 위한 코드를 포함할 수도 있다. 코드는 재-프로그래밍가능 로직 게이트 어레이들과 같은 재-구성가능한 장치를 동적으로 구성하기 위한 코드를 또한 포함할 수도 있다. 유사하게, 코드는 Verilog™ 또는 VHDL(Very high speed integrated circuit Hardware Description Language)(초고속 집적 회로 하드웨어 설명 언어)와 같은 하드웨어 설명 언어를 위한 코드를 포함할 수도 있다. 통상의 기술자가 인식하는 바와 같이, 코드는 서로 통신하는 복수의 결합된 컴포넌트들 사이에서 분산될 수도 있다. 적절할 경우, 실시예들은 아날로그 하드웨어를 구성하기 위하여 필드-(재)프로그래밍가능 아날로그 어레이 또는 유사한 디바이스 상에서 작동하는 코드를 이용하여 또한 구현될 수도 있다.
발명의 실시예들은 오디오 프로세싱 회로, 예를 들어, 호스트 디바이스에서 제공될 수도 있는 오디오 회로의 부분으로서 배열될 수도 있다. 본 발명의 실시예에 따른 회로는 집적 회로로서 구현될 수도 있다.
실시예들은 호스트 디바이스, 특히, 예를 들어, 이동 전화, 오디오 플레이어, 비디오 플레이어, PDA, 랩톱 컴퓨터 또는 태블릿과 같은 이동 컴퓨팅 플랫폼, 및/또는 게임 디바이스와 같은 휴대용 및/또는 배터리 급전된 호스트 디바이스에서 구현될 수도 있다. 발명의 실시예들은 호스트 디바이스에 부착가능한 액세서리들에서, 예를 들어, 액티브 스피커들 또는 헤드셋들 등에서 전체적으로 또는 부분적으로 또한 구현될 수도 있다. 실시예들은 원격 제어기 디바이스, 장난감, 로봇과 같은 머신, 홈 자동화 제어기, 또는 이러한 것과 같은 다른 형태들의 디바이스에서 구현될 수도 있다.
전술한 실시예들은 발명을 제한하는 것이 아니라 예시하고, 본 기술분야의 통상의 기술자들은 첨부된 청구항들의 범위로부터 이탈하지 않으면서 많은 대안적인 실시예들을 설계할 수 있을 것이라는 것이 주목되어야 한다. 단어 "포함하는(comprising)"은 청구항에서 열거된 것들 이외부의 구성요소들 또는 단계들의 존재를 제외하지 않고, "a" 또는 "an"은 복수를 제외하지 않고, 단일의 특징 또는 다른 유닛은 청구항들에서 기재된 몇몇 유닛들의 기능들을 이해할 수도 있다. 청구항들에서의 임의의 참조 부호들은 그 범위를 제한하도록 해석되지 않을 것이다.

Claims (41)

  1. 화자 인증 방법으로서, 화자 인식(speaker recognition)을 위한 디바이스에서,
    음성 신호를 수신하는 단계;
    상기 음성 신호를 수신하는 동안, 상기 음성 신호를 시간 세그먼트들로 분할하는 단계;
    각각의 시간 세그먼트에 후속하여, 상기 시간 세그먼트 및 이전에 수신된 시간 세그먼트들에 기초하여 인증 점수를 획득하는 단계 - 상기 인증 점수는 상기 음성 신호가 특정 등록된 화자로부터 나올 확률을 나타내고, 각각의 시간 세그먼트에 후속하여 상기 인증 점수를 획득하는 단계는 상기 시간 세그먼트들 중 제1 시간 세그먼트에 기초하여 제1 인증 점수를 획득하는 단계 및 상기 제1 시간 세그먼트 이후에 수신된 상기 음성 신호의 각각의 후속 시간 세그먼트의 수신 시에 상기 후속 시간 세그먼트 및 상기 음성 신호의 상기 이전에 수신된 시간 세그먼트들 각각에 기초하여 개개의 후속 인증 점수를 획득하는 단계를 포함함 - ; 및
    인증 요청에 응답하여, 상기 제1 인증 점수 및 각각의 후속 인증 점수에 기초하여 인증 결과를 출력하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 인증 점수는 상기 음성 신호의 특징들을 상기 등록된 화자의 등재 동안에 생성된 모델과 비교함으로써 획득되는 방법.
  3. 제1항 또는 제2항에 있어서, 상기 음성 신호는 음성의 다수의 개별 섹션들을 나타내는 방법.
  4. 제1항 또는 제2항에 있어서, 상기 시간 세그먼트들 중 제1 시간 세그먼트는 트리거 어구(trigger phrase)를 나타내는 방법.
  5. 제4항에 있어서, 상기 인증 점수를 획득하고, 상기 트리거 어구가 발화된 것을 검출하는 것에 응답하여 상기 인증 결과를 출력하는 단계들을 수행하는 단계를 포함하는 방법.
  6. 제4항에 있어서, 상기 트리거 어구 후에, 상기 음성 신호를 동일한 길이들의 시간 세그먼트들로 분할하는 단계를 포함하는 방법.
  7. 제6항에 있어서, 상기 트리거 어구 후에, 상기 음성 신호를 동일한 길이의 시간의 기간들을 커버하는 시간 세그먼트들로 분할하는 단계를 포함하는 방법.
  8. 제6항에 있어서, 상기 트리거 어구 후에, 상기 음성 신호를 순수 음성의 동일한 지속기간들을 포함하는 시간 세그먼트들로 분할하는 단계를 포함하는 방법.
  9. 제1항 또는 제2항에 있어서, 상기 인증 점수를 제1 문턱 점수(threshold score)와 비교하는 단계, 및 상기 인증 점수가 상기 제1 문턱 점수를 초과할 경우에 긍정적인 인증 결과를 결정하는 단계를 포함하는 방법.
  10. 제9항에 있어서, 상기 제1 문턱 점수는 별도의 프로세스로부터 수신된 신호에 응답하여 설정되는 방법.
  11. 제10항에 있어서, 상기 별도의 프로세스로부터 상기 신호를 수신하는 단계, 및 복수의 이용가능한 문턱 점수들로부터 상기 제1 문턱 점수를 선택하는 단계를 포함하는 방법.
  12. 제10항에 있어서, 상기 별도의 프로세스로부터 수신된 상기 신호는 요청된 보안성의 레벨을 표시하는 방법.
  13. 제10항에 있어서, 상기 별도의 프로세스는 음성 인식 프로세스인 방법.
  14. 제1항 또는 제2항에 있어서, 상기 인증 점수를 제2 문턱 점수와 비교하는 단계, 및 상기 인증 점수가 상기 제2 문턱 점수 미만일 경우에 부정적인 인증 결과를 결정하는 단계를 포함하는 방법.
  15. 제14항에 있어서, 상기 제2 문턱 점수는 별도의 프로세스로부터 수신된 신호에 응답하여 설정되는 방법.
  16. 제15항에 있어서, 상기 별도의 프로세스로부터 상기 신호를 수신하는 단계, 및 복수의 이용가능한 문턱 점수들로부터 상기 제2 문턱 점수를 선택하는 단계를 포함하는 방법.
  17. 제15항에 있어서, 상기 별도의 프로세스로부터 수신된 상기 신호는 요청된 보안성의 레벨을 표시하는 방법.
  18. 제15항에 있어서, 상기 별도의 프로세스는 음성 인식 프로세스인 방법.
  19. 제1항 또는 제2항에 있어서, 트리거 어구가 발화된 것으로 결정하는 것에 응답하여 상기 방법을 개시하는 단계를 포함하는 방법.
  20. 제1항 또는 제2항에 있어서, 음성 인식 프로세스로부터 상기 인증 요청을 수신하는 단계를 포함하는 방법.
  21. 제1항 또는 제2항에 있어서, 상기 인증 요청은 상기 인증 점수가 문턱을 초과할 때에 상기 인증 결과가 출력될 것을 요청하는 방법.
  22. 제1항 또는 제2항에 있어서, 상기 인증 요청은 상기 음성 신호가 종료될 때에 상기 인증 결과가 출력될 것을 요청하는 방법.
  23. 제1항 또는 제2항에 있어서, 각각의 시간 세그먼트에 후속하여, 상기 시간 세그먼트 및 이전에 수신된 시간 세그먼트들에 기초하여 인증 점수를 획득하는 단계는,
    상기 제1 인증 점수 및 상기 후속 인증 점수 또는 각각의 후속 인증 점수를 병합함으로써 상기 인증 점수를 획득하는 단계
    를 포함하는 방법.
  24. 제23항에 있어서, 상기 제1 인증 점수 및 상기 후속 인증 점수 또는 각각의 후속 인증 점수를 병합하는 단계는 상기 제1 인증 점수 및 상기 후속 인증 점수 또는 각각의 후속 인증 점수의 가중화된 합을 형성하는 단계를 포함하는 방법.
  25. 제24항에 있어서, 상기 개개의 시간 세그먼트들에 적용가능한 개개의 신호-대-잡음 비율(signal-to-noise ratio)들에 종속되는 가중치들을 적용함으로써 상기 제1 인증 점수 및 상기 후속 인증 점수 또는 각각의 후속 인증 점수의 상기 가중화된 합을 형성하는 단계를 포함하는 방법.
  26. 제24항에 있어서, 상기 개개의 시간 세그먼트들에서 존재하는 음성의 수량들에 종속되는 가중치들을 적용함으로써 상기 제1 인증 점수 및 상기 후속 인증 점수 또는 각각의 후속 인증 점수의 상기 가중화된 합을 형성하는 단계를 포함하는 방법.
  27. 제24항에 있어서, 일부 또는 모든 이상치 점수(outlier score)들을 무시함으로써 상기 제1 인증 점수 및 상기 후속 인증 점수 또는 각각의 후속 인증 점수의 상기 가중화된 합을 형성하는 단계를 포함하는 방법.
  28. 제27항에 있어서, 높은 이상치 점수들을 유지하면서 낮은 이상치 점수들을 무시함으로써 상기 제1 인증 점수 및 상기 후속 인증 점수 또는 각각의 후속 인증 점수의 상기 가중화된 합을 형성하는 단계를 포함하는 방법.
  29. 제1항 또는 제2항에 있어서, 각각의 시간 세그먼트에 후속하여, 상기 시간 세그먼트 및 이전에 수신된 시간 세그먼트들에 기초하여 인증 점수를 획득하는 단계는,
    상기 음성 신호의 각각의 후속 시간 세그먼트에 후속하여, 새로운 조합된 음성 신호를 형성하기 위하여 상기 음성 신호의 상기 후속 시간 세그먼트를 상기 음성 신호의 상기 이전에 수신된 시간 세그먼트 또는 각각의 이전에 수신된 시간 세그먼트와 조합하는 단계; 및
    상기 새로운 조합된 음성 신호에 기초하여 상기 인증 점수를 획득하는 단계
    를 포함하는 방법.
  30. 제1항 또는 제2항에 있어서, 각각의 시간 세그먼트에 후속하여, 상기 시간 세그먼트 및 이전에 수신된 시간 세그먼트들에 기초하여 인증 점수를 획득하는 단계는,
    각각의 시간 세그먼트로부터 특징들을 추출하는 단계;
    상기 음성 신호의 상기 시간 세그먼트들 중 상기 제1 시간 세그먼트의 상기 추출된 특징들에 기초하여 상기 제1 인증 점수를 획득하는 단계; 및
    상기 음성 신호의 각각의 후속하는 시간 세그먼트에 후속하여, 상기 음성 신호의 상기 후속하는 시간 세그먼트의 상기 추출된 특징들을 상기 음성 신호의 상기 이전에 수신된 시간 세그먼트 또는 각각의 이전에 수신된 시간 세그먼트의 상기 추출된 특징들과 조합하는 단계; 및
    상기 조합된 추출된 특징들에 기초하여 상기 인증 점수를 획득하는 단계
    를 포함하는 방법.
  31. 제1항 또는 제2항에 있어서, 긍정적인 인증 결과를 결정한 후에,
    미리 결정된 시간의 기간 동안에 작동되는 타이머를 시작시키는 단계; 및
    상기 특정 등록된 화자를 상기 타이머가 작동하고 있는 한 인증된 것으로서 취급하는 단계
    를 포함하는 방법.
  32. 제31항에 있어서, 상기 타이머가 작동하고 있는 동안에 새로운 긍정적인 인증 결과가 결정될 경우, 상기 타이머를 재시작시키는 단계를 더 포함하는 방법.
  33. 화자 인식을 수행하기 위하여, 사용자의 음성을 나타내는 수신된 신호를 프로세싱하기 위한 디바이스로서,
    음성 신호를 수신하고;
    상기 음성 신호를 수신하는 동안, 상기 음성 신호를 시간 세그먼트들로 분할하고;
    각각의 시간 세그먼트에 후속하여, 상기 시간 세그먼트 및 이전에 수신된 시간 세그먼트들에 기초하여 인증 점수를 획득하고 - 상기 인증 점수는 상기 음성 신호가 특정 등록된 화자로부터 나올 확률을 나타내고, 각각의 시간 세그먼트에 후속하여 상기 인증 점수를 획득하는 것은 상기 시간 세그먼트들 중 제1 시간 세그먼트에 기초하여 제1 인증 점수를 획득하고 상기 제1 시간 세그먼트 이후에 수신된 상기 음성 신호의 각각의 후속 시간 세그먼트의 수신 시에 상기 후속 시간 세그먼트 및 상기 음성 신호의 이전에 수신된 시간 세그먼트들 각각에 기초하여 개개의 후속 인증 점수를 획득하는 것을 포함함 - ;
    인증 요청에 응답하여, 상기 제1 인증 점수 및 각각의 후속 인증 점수에 기초하여 인증 결과를 출력하도록 구성되는 디바이스.
  34. 제33항에 있어서, 상기 디바이스는 이동 전화, 오디오 플레이어, 비디오 플레이어, 이동 컴퓨팅 플랫폼, 게임 디바이스, 원격 제어기 디바이스, 장난감, 머신, 또는 홈 자동화 제어기 또는 가정용 기기(domestic appliance)를 포함하는 디바이스.
  35. 제33항 또는 제34항에 있어서, 상기 수신된 신호의 적어도 일부분에 대한 음성 인식을 수행하도록 추가로 구성되는 디바이스.
  36. 제33항 또는 제34항에 있어서, 상기 수신된 신호의 적어도 일부분을 음성 인식을 위한 원격 디바이스로 전송하도록 추가로 구성되는 디바이스.
  37. 제36항에 있어서, 상기 음성 인식의 결과를 수신하도록 추가로 구성되는 디바이스.
  38. 화자 인식을 수행하기 위하여, 사용자의 음성을 나타내는 수신된 신호를 프로세싱하기 위한 집적 회로 디바이스로서,
    음성 신호를 수신하고;
    상기 음성 신호를 수신하는 동안, 상기 음성 신호를 시간 세그먼트들로 분할하고;
    각각의 시간 세그먼트에 후속하여, 상기 시간 세그먼트 및 이전에 수신된 시간 세그먼트들에 기초하여 인증 점수를 획득하고 - 상기 인증 점수는 상기 음성 신호가 특정 등록된 화자로부터 나올 확률을 나타내고, 각각의 시간 세그먼트에 후속하여 상기 인증 점수를 획득하는 것은 상기 시간 세그먼트들 중 제1 시간 세그먼트에 기초하여 제1 인증 점수를 획득하고 상기 제1 시간 세그먼트 이후에 수신된 상기 음성 신호의 각각의 후속 시간 세그먼트의 수신 시에 상기 후속 시간 세그먼트 및 상기 음성 신호의 상기 이전에 수신된 시간 세그먼트들 각각에 기초하여 개개의 후속 인증 점수를 획득하는 것을 포함함 - ;
    인증 요청에 응답하여, 상기 제1 인증 점수 및 각각의 후속 인증 점수에 기초하여 인증 결과를 출력하도록
    구성되는 집적 회로 디바이스.
  39. 제38항에 있어서, 상기 인증 점수는 상기 디바이스에서 저장된 적어도 하나의 사용자 또는 배경 모델을 이용하여 획득되는 집적 회로 디바이스.
  40. 비-일시적 컴퓨터 판독가능 기록 매체에 저장된 컴퓨터 프로그램으로서, 제1항 또는 제2항에 따른 방법을 수행하기 위한 명령어들을 포함하는, 비-일시적 컴퓨터 판독가능 기록 매체에 저장된 컴퓨터 프로그램.
  41. 컴퓨터-실행가능 명령어들이 저장되어 있는 비-일시적 컴퓨터 판독가능 저장 매체로서, 상기 컴퓨터-실행가능 명령어들은 프로세서 회로부에 의해 실행될 때, 상기 프로세서 회로부로 하여금, 제1항 또는 제2항에 따른 방법을 수행하게 하는 비-일시적 컴퓨터 판독가능 저장 매체.
KR1020197000174A 2016-06-06 2017-06-06 보이스 사용자 인터페이스 KR102441863B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201662346036P 2016-06-06 2016-06-06
US62/346,036 2016-06-06
US201662418453P 2016-11-07 2016-11-07
US62/418,453 2016-11-07
US201662429196P 2016-12-02 2016-12-02
US62/429,196 2016-12-02
US201762486625P 2017-04-18 2017-04-18
US62/486,625 2017-04-18
PCT/GB2017/051621 WO2017212235A1 (en) 2016-06-06 2017-06-06 Voice user interface

Publications (2)

Publication Number Publication Date
KR20190015488A KR20190015488A (ko) 2019-02-13
KR102441863B1 true KR102441863B1 (ko) 2022-09-08

Family

ID=59067696

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197000174A KR102441863B1 (ko) 2016-06-06 2017-06-06 보이스 사용자 인터페이스

Country Status (5)

Country Link
US (1) US11322157B2 (ko)
KR (1) KR102441863B1 (ko)
CN (1) CN109313903A (ko)
GB (2) GB2552082A (ko)
WO (1) WO2017212235A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10373612B2 (en) * 2016-03-21 2019-08-06 Amazon Technologies, Inc. Anchored speech detection and speech recognition
GB2555661A (en) * 2016-11-07 2018-05-09 Cirrus Logic Int Semiconductor Ltd Methods and apparatus for biometric authentication in an electronic device
GB2563952A (en) * 2017-06-29 2019-01-02 Cirrus Logic Int Semiconductor Ltd Speaker identification
CN107945806B (zh) * 2017-11-10 2022-03-08 北京小米移动软件有限公司 基于声音特征的用户识别方法及装置
US11296888B2 (en) * 2018-03-20 2022-04-05 Visa International Service Association Distributed biometric comparison framework
WO2019216499A1 (ko) * 2018-05-08 2019-11-14 엘지전자 주식회사 전자 장치 및 그 제어 방법
JP6996627B2 (ja) * 2018-06-27 2022-01-17 日本電気株式会社 情報処理装置、制御方法、及びプログラム
EP3647993B1 (en) * 2018-10-29 2023-12-13 Onfido Ltd Interactive user verification
WO2020139121A1 (en) * 2018-12-28 2020-07-02 Ringcentral, Inc., (A Delaware Corporation) Systems and methods for recognizing a speech of a speaker
TWI713016B (zh) * 2019-01-03 2020-12-11 瑞昱半導體股份有限公司 語音偵測處理系統與語音偵測方法
GB201906367D0 (en) 2019-02-28 2019-06-19 Cirrus Logic Int Semiconductor Ltd Speaker verification
WO2020213767A1 (ko) * 2019-04-19 2020-10-22 엘지전자 주식회사 다중 디바이스 제어 시스템과 방법 및 이를 실행하기 위한 컴포넌트가 저장된 비 일시적 컴퓨터 판독 가능 매체
US10984086B1 (en) 2019-10-18 2021-04-20 Motorola Mobility Llc Methods and systems for fingerprint sensor triggered voice interaction in an electronic device
US11721346B2 (en) * 2020-06-10 2023-08-08 Cirrus Logic, Inc. Authentication device
US11394698B2 (en) * 2020-07-29 2022-07-19 Nec Corporation Of America Multi-party computation (MPC) based authorization
US11315575B1 (en) 2020-10-13 2022-04-26 Google Llc Automatic generation and/or use of text-dependent speaker verification features
EP4064081B1 (de) * 2021-03-23 2023-05-24 Deutsche Telekom AG Verfahren und system zum identifizieren und authentifizieren eines nutzers in einem ip netz
CN113327617B (zh) * 2021-05-17 2024-04-19 西安讯飞超脑信息科技有限公司 声纹判别方法、装置、计算机设备和存储介质
CN113327618B (zh) * 2021-05-17 2024-04-19 西安讯飞超脑信息科技有限公司 声纹判别方法、装置、计算机设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003098373A2 (en) * 2002-05-22 2003-11-27 Domain Dynamics Limited Voice authentication
US20140249817A1 (en) * 2013-03-04 2014-09-04 Rawles Llc Identification using Audio Signatures and Additional Characteristics

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039951B1 (en) * 2000-06-06 2006-05-02 International Business Machines Corporation System and method for confidence based incremental access authentication
EP1202228A1 (en) * 2000-10-17 2002-05-02 Varette Limited A user authentication system and process
US7212613B2 (en) * 2003-09-18 2007-05-01 International Business Machines Corporation System and method for telephonic voice authentication
WO2007057879A1 (en) 2005-11-17 2007-05-24 Shaul Simhi Personalized voice activity detection
US7822605B2 (en) * 2006-10-19 2010-10-26 Nice Systems Ltd. Method and apparatus for large population speaker identification in telephone interactions
US8560316B2 (en) * 2006-12-19 2013-10-15 Robert Vogt Confidence levels for speaker recognition
US8442824B2 (en) * 2008-11-26 2013-05-14 Nuance Communications, Inc. Device, system, and method of liveness detection utilizing voice biometrics
US8639508B2 (en) * 2011-02-14 2014-01-28 General Motors Llc User-specific confidence thresholds for speech recognition
US8768707B2 (en) * 2011-09-27 2014-07-01 Sensory Incorporated Background speech recognition assistant using speaker verification
US20130144618A1 (en) * 2011-12-02 2013-06-06 Liang-Che Sun Methods and electronic devices for speech recognition
CN102647521B (zh) * 2012-04-05 2013-10-09 福州博远无线网络科技有限公司 基于语音短命令和声纹技术解除手机锁屏的方法
KR20140139982A (ko) * 2013-05-28 2014-12-08 삼성전자주식회사 전자 장치의 음성인식을 수행하는 방법 및 이를 사용하는 전자 장치
US9343068B2 (en) * 2013-09-16 2016-05-17 Qualcomm Incorporated Method and apparatus for controlling access to applications having different security levels
US10540979B2 (en) * 2014-04-17 2020-01-21 Qualcomm Incorporated User interface for secure access to a device using speaker verification
KR102287739B1 (ko) * 2014-10-23 2021-08-09 주식회사 케이티 음성 검색 시 입력된 음성 데이터를 누적하여 화자를 인식하는 시스템, 방법 및 컴퓨팅 장치
US10432622B2 (en) * 2016-05-05 2019-10-01 International Business Machines Corporation Securing biometric data through template distribution

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003098373A2 (en) * 2002-05-22 2003-11-27 Domain Dynamics Limited Voice authentication
US20140249817A1 (en) * 2013-03-04 2014-09-04 Rawles Llc Identification using Audio Signatures and Additional Characteristics

Also Published As

Publication number Publication date
GB201821259D0 (en) 2019-02-13
KR20190015488A (ko) 2019-02-13
GB201708954D0 (en) 2017-07-19
CN109313903A (zh) 2019-02-05
GB2552082A (en) 2018-01-10
US20190214022A1 (en) 2019-07-11
US11322157B2 (en) 2022-05-03
WO2017212235A1 (en) 2017-12-14
GB2566215B (en) 2022-04-06
GB2566215A (en) 2019-03-06

Similar Documents

Publication Publication Date Title
KR102441863B1 (ko) 보이스 사용자 인터페이스
US10877727B2 (en) Combining results from first and second speaker recognition processes
US11056118B2 (en) Speaker identification
JP7362851B2 (ja) 話者検証のためのニューラルネットワーク
US11735189B2 (en) Speaker identification
US11037574B2 (en) Speaker recognition and speaker change detection
US10255922B1 (en) Speaker identification using a text-independent model and a text-dependent model
CN111566729A (zh) 用于远场和近场声音辅助应用的利用超短语音分段进行的说话者标识
GB2608710A (en) Speaker identification
US9530417B2 (en) Methods, systems, and circuits for text independent speaker recognition with automatic learning features
US11437022B2 (en) Performing speaker change detection and speaker recognition on a trigger phrase
CN110544468B (zh) 应用唤醒方法、装置、存储介质及电子设备
US11200903B2 (en) Systems and methods for speaker verification using summarized extracted features
US20200201970A1 (en) Biometric user recognition
US20230419957A1 (en) User profile linking
CN117378006A (zh) 混合多语种的文本相关和文本无关说话者确认
US10818298B2 (en) Audio processing
US11158325B2 (en) Voice biometric system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant