KR102501601B1 - 저-전력, 상시-청취, 음성-커맨드 검출 및 캡처 - Google Patents

저-전력, 상시-청취, 음성-커맨드 검출 및 캡처 Download PDF

Info

Publication number
KR102501601B1
KR102501601B1 KR1020197021179A KR20197021179A KR102501601B1 KR 102501601 B1 KR102501601 B1 KR 102501601B1 KR 1020197021179 A KR1020197021179 A KR 1020197021179A KR 20197021179 A KR20197021179 A KR 20197021179A KR 102501601 B1 KR102501601 B1 KR 102501601B1
Authority
KR
South Korea
Prior art keywords
digital
audio signal
threshold
amplitude
vad
Prior art date
Application number
KR1020197021179A
Other languages
English (en)
Other versions
KR20190100270A (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 KR20190100270A publication Critical patent/KR20190100270A/ko
Application granted granted Critical
Publication of KR102501601B1 publication Critical patent/KR102501601B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L25/84Detection of presence or absence of voice signals for discriminating voice from noise
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L2025/783Detection of presence or absence of voice signals based on threshold decision
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M3/00Conversion of analogue values to or from differential modulation
    • H03M3/30Delta-sigma modulation
    • H03M3/458Analogue/digital converters using delta-sigma modulation as an intermediate step

Abstract

음성 커맨드들을 검출 및 캡처하기 위한 시스템으로서, 시스템은 음성 활동 검출기(voice-activity detector, VAD)를 포함하고, VAD는 VAD-수신 디지털-오디오 신호를 수신하고; VAD-수신 디지털-오디오 신호의 진폭을 결정하고; VAD-수신 디지털-오디오 신호의 진폭을 제1 임계치 및 제2 임계치에 비교하고; VAD-수신 디지털-오디오 신호의 진폭이 제1 임계치 또는 제2 임계치를 초과하지 않을 때 VAD 인터럽트 신호를 보류하고; VAD-수신 디지털-오디오 신호의 진폭이 제1 임계치 및 제2 임계치를 초과할 때 VAD 인터럽트 신호를 생성하고; 그리고 VAD-수신 디지털-오디오 신호의 진폭이 제1 임계치와 제2 임계치 사이일 때 VAD-수신 디지털-오디오 신호의 스펙트럼 분석을 수행하도록 구성된다.

Description

저-전력, 상시-청취, 음성-커맨드 검출 및 캡처
본 개시내용은 음성 검출 및 음성 커맨드들의 캡처를 위한 시스템 및 방법들에 관한 것이다.
많은 소비자 전자 디바이스는 인간 음성에 의해 발령된 음성 커맨드들에 의해 전체적으로 또는 부분적으로 제어되는 기능들을 가진다. 이런 음성 제어는 사용자들이 사용자의 손들의 사용 없이 그리고 디바이스 상에 더 소수의 버튼 또는 스위치로 디바이스들을 동작하도록 허용한다.
그런 디바이스들은, 디바이스가 음성 커맨드들을 "청취" 및 캡처할 수 있도록 상시-청취 모드를 요구할 수 있다. 따라서, 상시 청취 모드에서, 디바이스는 켜지고 음성 커맨드를 기다린다. 상시-청취 기능의 품질은 일반적으로 전체 평균 전류 소비 및 음성-커맨드 오검출률인 2 개의 메트릭스(metrics)에 의해 측정된다.
본 발명의 실시예들은 기존 디바이스들의 단점들을 처리한다.
개시된 청구 대상의 실시예들은 저-전력, 상시-청취, 음성-커맨드 검출 및 캡처 시스템에 관한 것이다. 저-전류 동작 상태를 활용함으로써, 시스템은 시스템의 전체 평균 전류 소비를 감소시킬 수 있다. 최저-전류 동작 상태에서, 시스템은 음성 활동의 징후들을 기다린다. 음성 커맨드가 검출, 인식 및 프로세싱되는 최고-전류 동작 상태 때까지, 각각의 이어지는 상태는 음성 커맨드 검출의 점진적으로 더 높은 신뢰도를 가진다.
따라서, 음성 커맨드들을 검출 및 캡처하기 위한 시스템의 적어도 일부 실시예들은 음성 활동 검출기(voice-activity detector, VAD)를 포함할 수 있고, VAD는 VAD-수신 디지털-오디오 신호를 수신하고; VAD-수신 디지털-오디오 신호의 진폭을 결정하고; VAD-수신 디지털-오디오 신호의 진폭을 제1 임계치 및 제2 임계치에 비교하고; VAD-수신 디지털-오디오 신호의 진폭이 제1 임계치 또는 제2 임계치를 초과하지 않을 때 VAD 인터럽트(interrupt) 신호를 보류하고; VAD-수신 디지털-오디오 신호의 진폭이 제1 임계치 및 제2 임계치를 초과할 때 VAD 인터럽트 신호를 생성하고; 그리고 VAD-수신 디지털-오디오 신호의 진폭이 제1 임계치와 제2 임계치 사이일 때 VAD-수신 디지털-오디오 신호의 스펙트럼 분석을 수행하도록 구성된다.
다른 양상에서, 음성 커맨드들을 검출 및 캡처하는 방법의 적어도 일부 실시예들은 음성 활동 검출기(voice-activity detector, VAD)에 의해, VAD-수신 디지털-오디오 신호를 수신하는 단계; VAD에 의해, VAD-수신 디지털-오디오 신호의 진폭을 결정하는 단계; VAD에 의해, VAD-수신 디지털-오디오 신호의 진폭을 제1 임계치 및 제2 임계치에 비교하는 단계; VAD에 의해, VAD-수신 디지털-오디오 신호의 진폭이 제1 임계치 또는 제2 임계치를 초과하지 않을 때 VAD 인터럽트 신호를 보류하는 단계; VAD에 의해, VAD-수신 디지털-오디오 신호의 진폭이 제1 임계치 및 제2 임계치를 초과할 때 VAD 인터럽트 신호를 생성하는 단계; 및 VAD에 의해, VAD-수신 디지털-오디오 신호의 진폭이 제1 임계치와 제2 임계치 사이일 때 VAD-수신 디지털-오디오 신호의 스펙트럼 분석을 수행하는 단계를 포함할 수 있다.
따라서, 기존 디바이스들과 비교할 때, 설명된 시스템들 및 방법들은 더 낮은 평균 전류 소비로 더 낮은 음성-커맨드 오검출률을 제공할 수 있다.
도 1은 본 발명의 실시예들에 따른, 음성-커맨드 검출 및 캡처 시스템의 기능 블록도이다.
도 2는 도 1에 도시된 음성-인식 모듈에 포함될 수 있는 웨이크업(wakeup) 회로의 회로도이다.
도 3은 인간 스피치(speech)로부터 오디오 신호들의 예시적인 그래프를 도시하고, 여기서 수직 축은 신호 진폭을 나타내고 수평 축은 시간을 나타낸다.
도 4는 도 1에 도시된 음성-인식 모듈의 예시적 프로세스를 도시하는 흐름도이다.
도 5는 음성-커맨드 검출 및 캡처 시스템의 특징에 따른 클록 스위칭 이벤트의 예를 도시한다.
뒤따르는 상세한 설명에서, 패턴(1xx)의 참조 번호들은 일반적으로 도 1 및 도 2에 도시되고, 3xx 참조 번호들은 일반적으로 도 3에 도시된다. 마찬가지로, 4xx 참조 번호들은 일반적으로 도 4에 도시되고 5xx 참조 번호들은 일반적으로 도 5에 도시된다.
본 출원에 설명된 바와 같이, 본 발명의 실시예들은 저-전력, 상시-청취, 음성-커맨드 검출 및 캡처 시스템에 관한 것이다. 개시된 기술은 상이한 양의 전류를 활용하는 다수의 개별 동작 상태를 포함한다. 동작 상태들은 개별 서브시스템들의 집단 상태들에 의해 특징지워진다. 최저-전류 동작 상태에서, 시스템은 음성 활동의 징후들을 기다린다. 음성 커맨드가 검출, 인식 및 프로세싱되는 최고-전류 동작 상태 때까지, 각각의 이어지는 상태는 음성 커맨드 검출의 점진적으로 더 높은 신뢰도를 가진다.
저-전류 동작 상태를 활용함으로써, 시스템은 시스템의 전체 평균 전류 소비를 감소시킬 수 있다. 게다가, 이용가능한 동작 상태들 모두 또는 단지 일부를 선택적으로 사용함으로써, 시스템은 음성-커맨드 오검출률을 감소시킬 수 있다. 예컨대, 시스템은 구문의 시작을 자르기보다 오히려, 캡처하기 위해 슬리핑(sleeping)을 회피할 수 있다. 따라서, 기존 디바이스들과 비교할 때, 설명된 시스템은 더 낮은 평균 전류 소비로 더 낮은 음성-커맨드 오검출률을 제공할 수 있다.
따라서, 개시된 기술은 예컨대, 유선 및 무선 헤드폰들, 웨어러블 제품들, 스피커 바아(bar)들, 게임 제어기들, 및 모바일 디바이스들, 이를테면 폰들 및 테블릿들을 포함하여, 임의의 음성-활성화 및 제어 시스템에 유용할 수 있다. 이들 음성-활성화 및 제어 시스템은 지능형 퍼스널 어시스탄트(personal assistant) 또는 다른 소프트웨어 에이전트를 포함할 수 있다.
도 1은 본 발명의 실시예들에 따른, 저-전력, 상시-청취, 음성-커맨드 검출 및 캡처 시스템의 부분들을 도시하는 기능 블록도이다. 도 1에 예시된 바와 같이, 음성-커맨드 검출 및 캡처 시스템(100)은 아날로그 디지털 컨버터(analog-to-digital converter, ADC)(101), 데시메이션 필터(decimation filter)(102), 음성 RAM(random access memory)(103), 및 디지털 신호 프로세서(digital signal processor, DSP)(106)의 음성-인식 모듈(105)에 출력하는 음성 활동 검출기(voice-activity detector, VAD) 블록(104)을 포함할 수 있다. 데시메이션 필터(102) 및 음성 RAM(103)은 각각 DSP(106)의 일부이거나, 밀접하게 커플링될 수 있다. ADC(101), 데시메이션 필터(102), 음성 RAM(103), VAD 블록(104) 및 DSP(106)는 각각 복수의 클록 생성 메커니즘을 포함하고 아래에서 더 완전히 논의되는 클록 시스템(107)에 의해 제어된다.
VAD 블록(104)은 샘플 결합 블록(108), 진폭 VAD 블록(109), 스펙트럼 분석 블록(110) 및 제어 블록(111)을 포함할 수 있다. 스펙트럼 분석 블록(110)은 VAD RAM(112), FFT(fast Fourier transform) 블록(113), 스펙트럼 LPF(low-pass filter)(114) 및 스펙트럼 VAD 블록(115)을 포함할 수 있다. VAD 블록(104)의 피처(feature)들은 프로그램가능 파라미터들을 통해 구현될 수 있다. VAD 블록(104)이 바람직하게 하드웨어로 구현되기 때문에, 이는 본원에서 하드웨어 VAD로 지칭된다. 그렇기는 하지만, 실시예들에서, VAD 블록(104)은 소프트웨어 또는 펌웨어로 구현될 수 있다.
ADC(101)는 음성 신호를 포함할 수 있는 아날로그 오디오 입력으로부터 예컨대 2 Msps(초당 메가-샘플들)로 디지털-오디오 신호(123)를 생성하는 스테레오 ADC일 수 있다. ADC(101)는 예컨대 PDM(pulse-density modulation), PCM(pulse-code modulation) 또는 아날로그 오디오 입력(122)으로부터 디지털-오디오 신호(123)를 생성하기 위한 다른 기법들을 사용할 수 있다.
ADC(101)는 오디오 활동을 검출하고 ADC(101)의 나머지 및 그러므로 또한 VAD 블록(104)에 대한 활동 기능성을 제공하기 위한 웨이크업 회로(118)를 포함할 수 있다. 따라서, 웨이크업 회로(118)는, 오디오 활동의 개시 레벨이 있는지를 결정하기 위해 아날로그 오디오 입력(122)을 임계치에 비교할 수 있다. 아날로그 오디오 입력(122)이 오디오 활동의 개시 레벨 미만일 때, ADC(101)의 나머지는 활성화되지 않는다. 그러나, 아날로그 오디오 입력(122)이 오디오 활동의 개시 레벨 초과일 때, ADC(101)의 나머지는 활성화된다. 이 임계치는 본원에서 때때로 웨이크업-개시 임계치로 지칭된다.
따라서, ADC(101)는 2 개의 모드를 가질 수 있다. 하나의 모드에서, ADC(101)는 웨이크업 회로(118)를 사용하여 레벨들을 비교하지만 디지털 샘플들을 생성하지 않는다. 따라서, ADC(101)의 컨버터 부분은 이 레벨-비교 모드, 또는 슬립 모드에서 완전히 전원이 꺼지고, 이에 의해 ADC(101)에 저-전력 상태를 제공한다. 바람직하게, 슬립 모드에서, 웨이크업 회로(118)는 저-전력 모드이고, 이는, 웨이크업 회로(118)가, 채널당, 웨이크업 회로(118) 및 ADC(101) 둘 모두가 활성일 때 웨이크업 회로(118) 및 ADC(101)에 의해 소비되는 전력의 약 15 % 미만으로 소비중인 것을 의미한다. 더 바람직하게, 웨이크업 회로(118)는, 채널당, 웨이크업 회로(118) 및 ADC(101) 둘 모두가 활성일 때 웨이크업 회로(118) 및 ADC(101)에 의해 소비되는 전력의 약 12 % 미만으로 소비한다. 훨씬 더 바람직하게, 웨이크업 회로(118)는, 채널당, 웨이크업 회로(118) 및 ADC(101) 둘 모두가 활성일 때 웨이크업 회로(118) 및 ADC(101)에 의해 소비되는 전력의 약 8 %를 소비한다. 제2 모드, 또는 활성 모드에서, ADC(101)는 아날로그 오디오 입력(122)으로부터 디지털 신호들을 생성한다.
도 2는 웨이크업 회로의 부분들을 도시하는 회로도이다. 도 2에 예시된 바와 같이, 웨이크업 회로(118)는 부가적인 이득 스테이지(120) 및 비교기 스테이지(121)를 가진 오디오 전치증폭기(119)를 포함할 수 있다. 비교기 스테이지(121)는 예컨대 슈미트 트리거(Schmitt trigger)일 수 있다. 따라서, 웨이크업 회로는 아날로그 오디오 입력(122)을 취하고, 오디오 전치증폭기(119) 및 부가적인 이득 스테이지(120)를 사용하여 아날로그 오디오 입력(122)을 부스팅(boost)하고, 그리고 비교기 스테이지(121)를 사용하여 컨디셔닝된 아날로그 오디오 입력을 음성-레벨 임계치에 비교할 수 있다. 만약 컨디셔닝된 아날로그 오디오 입력이 음성-레벨 임계치를 초과하면, 웨이크업 회로는 샘플들을 생성하기 위해 ADC(101)의 나머지를 활성화시킨다. 음성-레벨 임계치는 위에서 논의된 웨이크업-개시 임계치일 수 있다.
신호를 부스팅하는 것 외에, 오디오 전치증폭기(119) 및 부가적인 이득 스테이지(120)는 예컨대 공통-모드 거부 또는 전력-공급 거부, 또는 둘 모두를 통해 아날로그 오디오 입력(122)을 컨디셔닝할 수 있다. 바람직하게, 오디오 전치증폭기(119)의 이득 및 부가적인 이득 스테이지(120)의 이득은 각각 프로그램가능하다. 예시로서, 오디오 전치증폭기(119)는 예컨대 +6 dB, +10 dB, +16 dB, 및 +26 dB의 이득을 가지도록 프로그래밍 또는 사전설정될 수 있고, 부가적인 이득 스테이지(120)는 예컨대 +20 dB의 이득을 가지도록 프로그래밍 또는 사전설정될 수 있다. 다른 값들은 또한 프로그래밍 또는 사전설정될 수 있다.
도 1로 돌아가서, 기술 분야에서 이해된 바와 같이, 아날로그 신호로부터 유도된 디지털 신호는 다수의 샘플을 포함하고, 여기서 샘플들의 수는 ADC의 샘플링 레이트(rate)에 의존한다. 데시메이션 필터(102)는 디지털-오디오 신호(123)의 샘플링 레이트를 예컨대 16 ksps(초당 킬로-샘플들)로 감소시킨다.
결과적인 감소된 디지털-오디오 샘플들(124)은 DSP(106)의 음성-인식 모듈(105)에 의한 미래 음성 인식을 위해 음성 RAM(103)에 저장된다. 바람직하게, 음성 RAM(103)은 선입선출(first-in, first-out, FIFO) 포맷으로 감소된 디지털-오디오 샘플들(124)을 연속으로 캡처하기 위한 원형 버퍼로서 구성된다. 음성 RAM(103)이 DSP(106)의 일부이거나, 밀접하게 커플링되는 구성들에서, 구성은, 디지털 신호 프로세서가 음성 RAM(103)을 프로세싱할 필요가 있을 때 시스템 오버헤드(overhead)를 감소시킨다.
부가적으로, 임의의 수의 채널은 음성 RAM(103)에 캡처될 수 있고; 따라서 캡처된 채널들은 VAD 블록(104)으로 라우팅된 채널 또는 채널들로 제한되지 않는다. 다중-채널 캡처는, 음성이 존재하는 것이 의심될 때, VAD 블록(104)이 DSP(106)를 인터럽트하게 하고, DSP(106)가 ASIC 또는 호스트 상에서와 같은 다른 곳에서 음성 인식에 사용하기 위해 다중-채널 오디오를 후-프로세싱하게 한다.
때때로 본원에서 VAD-수신 디지털-오디오 신호로 지칭되는 감소된 디지털-오디오 샘플들(124)은 샘플 결합 블록(108)에서 예컨대 모노포닉(monophonic) 8 ksps 스트림으로 결합된다. 샘플 결합 블록(108)은 예컨대 감소된 디지털-오디오 신호(124)의 하나의 채널을 선택하고 선택된 채널로부터 모든 다른 샘플을 취할 수 있다. 샘플들을 결합하기 위해, 샘플 결합 블록(108)은 그 대신에 또는 또한 지연 엘리먼트들 및 선형 결합 회로를 사용하여 빔형성 능력을 가질 수 있다. 샘플 결합 블록(108)에 의해 사용된 방법에 무관하게, 결과는 데시메이션 필터(102)에 의해 생성된 감소된 디지털-오디오 샘플들(124)보다 더 낮은 샘플링 레이트를 가진 결합된 디지털-오디오 신호(125)이다.
진폭 VAD 블록(109)은 샘플 결합 블록(108)으로부터의 결과를 분석함으로써 결합된 디지털-오디오 신호(125)의 진폭을 결정한다.
제어 블록(111)은, 스펙트럼 분석 블록(110)이 트리거되는지, VAD 인터럽트 신호(116)가 음성 인식을 시작하기 위해 DSP(106)의 음성-인식 모듈(105)에 전송되는지, 둘 다 되지 않는지를 결정한다. 즉, 제어 블록(111)은, 진폭 VAD 블록(109)의 출력에 기반하여 VAD 인터럽트 신호(116)를 올릴 것인지를 결정하기에 충분한 정보를 가지는지를 결정한다. 만약 충분한 정보를 가지지 않으면, 제어 블록(111)은 부가적인 정보를 제공하기 위해 스펙트럼 분석 블록(110)을 트리거한다. 예컨대, 제어 블록(111)은 신호 진폭의 저역-통과 필터 및 2 개의 비교기를 포함할 수 있다. 2 개의 비교기 중 제1 비교기는 비교적 높은 임계치를 가진, 2 개의 비교기 중 제2 비교기에 비해 비교적 낮은 임계치를 가질 수 있다. 진폭 VAD 블록(109)에 의해 결정된 신호 진폭이 하위 임계치를 초과하지만 상위 임계치를 초과하지 않으면, 제어 블록(111)은, 스펙트럼 분석 블록(110)이 활성화되는 것을 결정한다. 신호 진폭이 상위 임계치를 초과하면, 제어 블록(111)은 스펙트럼 분석 블록(110)으로부터의 스펙트럼 VAD 결정에 무관하게 VAD 인터럽트 신호(116)를 생성하는 것을 결정할 수 있다. 대안적으로, 신호 진폭이 상위 임계치를 초과하면, 제어 블록(111)은 VAD 인터럽트 신호(116)를 생성하지만 스펙트럼 분석 블록(110)을 활성화하지 않는 것을 결정할 수 있다. 그러나, 진폭 VAD 블록(109)에 의해 결정된 신호 진폭이 하위 임계치를 초과하지 않으면, 제어 블록(111)은, VAD 인터럽트 신호(116)가 생성되지 않고 스펙트럼 분석 블록(110)을 활성화하지 않는 것을 결정한다.
예컨대, ADC(101)로의 아날로그 오디오 입력(122)이 충분히 낮은 볼륨을 가질 때, (결합된 디지털-오디오 신호(125)로부터 진폭 VAD 블록(109)에 의해 결정된) 이의 신호 진폭은 제어 블록(111)의 하위 임계치를 초과하지 않을 것이다. 따라서, 제어 블록(111)은 스펙트럼 분석 블록(110)을 트리거하지도 VAD 인터럽트 신호(116)를 생성하지도 않을 것이다. 그러나, 아날로그 오디오 입력(122)이 충분히 크면, 결합된 디지털-오디오 신호(125)로부터 결정된 이의 신호 진폭은 제어 블록(111)의 상위 임계치를 초과할 것이다. 따라서, 제어 블록(111)은 도 4에 대해 아래에 설명된 음성-인식 상태(407)에 진입하도록 DSP(106)의 음성-인식 모듈(105)에 신호하기 위한 VAD 인터럽트 신호(116)를 생성할 것이다. 그렇지 않으면, 아날로그 오디오 입력(122)의 신호 진폭이 하위 임계치를 초과하지만 상위 임계치를 초과하지 않으면, 제어 블록(111)은 스펙트럼 분석 블록(110)을 활성화하고 VAD 인터럽트 신호(116)를 생성할지를 결정하기 전에 이들 결과들을 기다린다.
샘플 결합 블록(108)으로부터 결합된 디지털-오디오 신호(125)는 VAD RAM(112)에 저장된다. 이것은 또한 진폭 VAD 블록(109)에 수신된 결합된 디지털-오디오 신호(125)와 본질적으로 동시에 발생할 수 있다. VAD RAM(112)은 예컨대 1024-워드, 20-비트 RAM일 수 있다. 이런 예시적인 구성에서, VAD RAM(112)의 512 워드들은 현재, 256-포인트 FFT를 위한 FFT 작업 메모리로서 사용될 수 있다. 따라서, VAD RAM(112)의 256 워드들은 입력 샘플들의 저장에 사용될 수 있고, VAD RAM(112)의 256 워드들은 256 주파수 빈(bin)들에 대한 스펙트럼 진폭들의 저장에 사용될 수 있다. 그러나, 이것은 단지 하나의 예시적인 구성이고, 다른 구성들이 사용될 수 있다.
FFT 블록(113)은 VAD RAM(112)에 저장된 결합된 디지털-오디오 신호(125)의 고속 푸리에 변환(fast Fourier transform)을 수행한다. 예시적인 구현으로서, FFT는 256-포인트 FFT일 수 있고 8 기수-2 FFT 스테이지들로 이루어진다. FFT 블록(113)은 각각의 주파수 빈에 대한 결과 전력을 VAD RAM(112)에 기록할 수 있다. 8 ksps 샘플들 및 256-포인트 FFT의 예를 유지하면, FFT는 매 32 ms(밀리초)마다 수행될 것이다. 다른 말로, FFT 윈도우 크기는 이 예에서 32 ms이다.
스펙트럼 LPF(114)는
Figure 112019074057692-pct00001
를 계산하고, 여기서 x는 최종-스테이지 FFT 결과의 크기이고; y는 대응하는 주파수 빈에 대한 저장된 스펙트럼 진폭이고; N은 랜덤 잡음의 영향을 감소시킬 수 있는 평활화 인자이고; 그리고 y'은 y에 대한 새롭게 업데이트된 값이다. 스펙트럼 LPF(114)는 또한 평균 진폭을 컴퓨팅하기 위해 스펙트럼 진폭들을 합산하는 누산기를 포함할 수 있다.
스펙트럼 분석 블록(110)은, 제어 블록(111)에 의해 활성화될 때, 제어 블록(111)이 스펙트럼 LPF(114)의 결과들을 사용함으로써 VAD 인터럽트 신호(116)를 생성해야 하는지를 결정한다. 결정은, 아날로그 오디오 입력(122)의 부분인 음성 커맨드들을 포함하는 음성 신호들이 다중 고조파들을 가진 상황을 이용한다. 구체적으로, 결합된 디지털-오디오 신호(125)가 VAD RAM(112)으로부터 FFT 블록(113) 및 스펙트럼 LPF(114)를 통과한 후, 각각의 주파수에 대한 결과적인 스펙트럼 진폭은 FFT로부터 발생하는 모든 주파수 빈들의 평균 진폭에 의해 나뉘어진다. 본 개시내용에 사용된 바와 같이, 모든 주파수 빈들의 평균 진폭에 대한 주어진 주파수의 스펙트럼 진폭의 비율은 상대 진폭으로 칭해진다.
하나의 예시적인 방법으로서, 스펙트럼 VAD 블록(115)은 소정 임계치 초과의 상대적 진폭을 가진 주파수 빈들의 수를 카운트한다. 바람직하게, 이런 높은-진폭 임계치는 평균 진폭의 약 1.5 배 내지 약 5 배이다. 더 바람직하게, 높은-진폭 임계치는 평균 진폭의 약 2 배 내지 약 4 배이다. 훨신 더 바람직하게, 높은-진폭 임계치는 평균 진폭의 약 3 배이다. 높은-진폭 빈 카운트가 본원에서 빈-카운트 임계치로 지칭되는 소정 양을 초과하면, 스펙트럼 VAD 블록(115)은, 제어 블록(111)이 VAD 인터럽트 신호(116)를 생성하여야 하는 것을 결정한다. 바람직하게, 이런 빈-카운트 임계치는 약 2 개 내지 약 15 개 빈이다. 더 바람직하게, 빈-카운트 임계치는 약 3 개 내지 약 12 개 빈이다. 훨씬 더 바람직하게, 빈-카운트 임계치는 약 5개 내지 약 10개 빈들이다.
다른 예시적인 방법으로서, 제어 블록(111)이 VAD 인터럽트 신호(116)를 생성하여야 하는 것을 결정하기 위해, 스펙트럼 VAD 블록(115)은 피크 거리를 평가한다. 이런 맥락에서, 피크 빈은 자신의 이웃들보다 더 높은 진폭을 가진 주파수 빈이고 주파수 빈의 상대적 진폭은 임계치 초과이다. 바람직하게, 이런 상대적-진폭 임계치는 평균 진폭의 약 1.5 배 내지 약 5 배이다. 더 바람직하게, 상대적-진폭 임계치는 평균 진폭의 약 2 배 내지 약 4 배이다. 훨신 더 바람직하게, 상대적-진폭 임계치는 평균 진폭의 약 3 배이다. 제1 피크 빈(즉, 최저 주파수를 가진 피크 빈)과 최종 피크 빈(즉, 최고 주파수를 가진 피크 빈) 사이의 거리가 소정의 값을 초과하면, 스펙트럼 VAD 블록(115)은, 제어 블록(111)이 VAD 인터럽트 신호(116)를 생성하여야 하는 것을 결정한다. 바람직하게, 이런 피크-거리 임계치는 약 0.5 kHz 내지 약 5 kHz이다. 더 바람직하게, 피크-거리 임계치는 약 1 kHz 내지 약 3 kHz이다. 훨씬 더 바람직하게, 피크-거리 임계치는 약 2 kHz이다.
스펙트럼 VAD 블록(115)은 설명된 예시적인 방법들 중 어느 하나 또는 둘 모두를 사용할 수 있다. 다른 유사한 방법들은 또한 사용될 수 있다. 바람직하게, 높은-진폭 임계치, 빈-카운트 임계치, 상대적-진폭 임계치 및 피크-거리 임계치는 이를테면, 예컨대 사용자 인터페이스를 통해 각각 개별적으로 사용자-프로그램가능하다.
스펙트럼 VAD 블록(115)은 또한 주파수 빈들에서 최고 피크 진폭 및 최고 피크 포지션(즉, 주파수 빈이 최고 피크를 가짐)을 결정할 수 있다. 최고 피크 진폭 및 이의 포지션이 소정 시간 간격, 이를테면 2 초 이상에 걸쳐 변화하지 않으면, 아날로그 오디오 입력(122)은 비행기 방 내의 고정된-톤 잡음, 이를테면 배경 잡음을 포함할 공산이 있다. 따라서, 최고 피크 진폭 및 이의 포지션을 결정하는 것은 스펙트럼 VAD가 고정된-톤 잡음을 차단하게 할 수 있다. 차단되는 경우, 고정된-톤 잡음은, 제어 블록(111)이 VAD 인터럽트 신호(116)를 생성하여야 하는지를 결정할 때 스펙트럼 VAD 블록(115)에 의해 포함되지 않는다.
도 3은 인간 스피치로부터 오디오 신호들의 예시적인 그래프이고, 여기서 수직 축은 신호 진폭을 나타내고 수평 축은 시간을 나타낸다. 도 3에 예시된 바와 같이, ADC(101)에 의해 수신된 바와 같은 인입 음성 커맨드(300)는 예컨대 트리거 구문(301), 또는 키 구문, 및 커맨드 구문(302)뿐 아니라, 트리거 구문(301)과 트리거 구문의 종점(303)이라 칭해지는 커맨드 구문(302) 사이의 구역을 포함할 수 있다. 커맨드 구문(302)은 또한 커맨드 구문의 종점(304)을 가질 수 있다. 트리거 구문(301)은 예컨대 지능성 퍼스널 어시스탄트를 활성화하거나 그렇지 않으면 커맨드가 사용자에 의해 주어지려고 하는 것을 호스트에게 경고하도록 의도된 사용자에 의해 발성된 구문일 수 있다. 예들로서 현재 지능형 퍼스널 어시스탄트들을 사용하여, 트리거 구문(301)은 예컨대, "OK Google", "Hey Siri", "Hello Jarvis", 또는 "Hey Cortana"일 수 있다. 커맨드 구문(302)의 예는 "what is today's weather?"이다. 그렇기는 하지만, 음성 커맨드(300)는 트리거 구문(301) 및 커맨드 구문(302) 둘 모두를 포함할 필요가 없다.
도 1로 돌아가서, VAD 인터럽트 신호(116)는 음성-인식 알고리즘을 실행하기 위해 DSP(106)의 음성-인식 모듈(105)을 트리거한다. 예로서, DSP(106)에 의한 3 개의 스테이지의 음성-인식이 있을 수 있다: 무음 검출을 갖는 VAD 히스테리시스(hysteresis); 무음 검출을 가진 음성-인식 키-구문 파싱(parsing) 1x; 및 키-구문 파싱>1x, 호스트 송신 및 무음 검출을 갖는 소프트웨어 활동 검출.
무음 검출을 갖는 VAD 히스테리시스에서, 음성-인식 모듈(105)은 VAD 블록(104)에 의한 하드웨어 VAD 결정의 장기간 히스테리시스를 구축한다. 예컨대, 히스테리시스는 FFT 윈도우 크기를 초과하는 기간에 걸쳐 구축될 수 있다. 하나의 가능한 구현의 예로서, FFT 윈도우 크기는 8 ksps 샘플들 및 256-포인트 FFT의 위의 예에서 32 ms이다. 따라서, 하드웨어 VAD 결정의 히스테리시스는 32-ms 윈도우보다 몇 배 긴 기간에 걸쳐 구축될 수 있다. 예컨대, 히스테리시스는 FFT 윈도우 크기보다 적어도 2 배 긴 기간 동안 구축될 수 있다. 바람직하게, 기간은 FFT 윈도우 크기의 5 내지 10 배이다. 무음 검출로, 음성-인식 모듈(105)은, 분석된 프레임이 음성 신호를 포함하는지를 결정한다. 포함하지 않으면, 프레임은 무음 프레임인 것으로 여겨진다.
무음 검출을 갖는 음성-인식 키-구문 파싱 1x에서, 음성-인식 모듈(105)은 트리거 구문(301)에 대해 분석된 프레임을 파싱하지만, 음성-인식 모듈(105)은 또한 위에서 설명된 바와 같은 무음 검출을 수행한다.
키-구문 파싱>1x, 호스트 송신, 및 무음 검출을 갖는 소프트웨어 활동 검출에서, 음성-인식 모듈(105)은 트리거 구문(301)에 대해 분석된 프레임을 파싱하지만, 음성-인식 모듈(105)은 또한 위에서 설명된 바와 같은 무음 검출을 수행한다. 게다가, 트리거 구문(301)이 검출 또는 인식될 때, 음성-인식 모듈(105)은 음성-커맨드 정보를 호스트에 송신할 수 있다. 음성-커맨드 정보는 예컨대 트리거 구문(301) 또는 트리거 구문(301)에 대응하는 신호, 커맨드 구문(302) 또는 커맨드 구문(302)에 대응하는 신호, 또는 검출된 트리거 구문(301)에 응답하여 활동하는 호스트에 대한 일부 다른 커맨드, 또는 이들의 임의의 조합일 수 있다.
키-구문 파싱>1x는 일반적으로 키-구문 파싱 1x보다 더 빠른 프로세싱 속도로 수행된다. 예컨대, 키-구문 파싱 1x는 12 MHz에서 동작하는 DSP(106)에 의해 수행될 수 있지만, 키-구문 파싱>1x는 12 MHz보다 더 빠른 속도, 이를테면 최대 98 MHz로 동작하는 DSP(106)에 의해 수행될 수 있다. 이것은 클록 시스템(107)에 관하여 아래에서 설명된다. 더 빠른 프로세싱 속도는 예컨대 파싱 프로세스가 음성 RAM(103)의 원형 버퍼의 포인터에 제 시간에 포착할 수 있게 한다.
도 4는 음성-인식 모듈, 이를테면 도 1에 예시된 DSP(106)의 음성-인식 모듈(105)의 예시적인 프로세스(400)를 도시하는 흐름도이다. 음성-인식 모듈은 소프트웨어 VAD 상태(401)에서 시작된다. 다음으로, 음성-인식 모듈은, 분석된 프레임이, 프레임이 아무런 음성 신호도 포함하지 않는 것을 의미하는 무음 프레임인지를 결정한다(402). 프레임이 무음 프레임이 아니면, 프로세스는 아래에서 추가로 설명되는 음성 인식 상태로 넘어간다. 프레임이 무음 프레임이면, 프로세스는, 무음 타임아웃이 있는지를 결정한다(403). 무음 타임아웃은 예컨대, 원형 버퍼가 무음 프레임들로 채워지거나 무음 히스테리시스 임계치가 충족되면 발생할 수 있다. 바람직하게, 무음 히스테리시스 임계치는 사용자 프로그램가능하다. 어떠한 무음 타임아웃도 없다면, 프로세스는 소프트웨어 VAD 상태(401)로 돌아간다. 무음 타임아웃이 있다면, 프로세스는, DSP가 VAD 블록(104)으로부터 VAD 인터럽트 신호(116)를 수신할 때까지 계속 유휴 상태로 있는 유예 상태(404)로 진행된다. 음성-인식 모듈이 VAD 블록(104)으로부터 VAD 인터럽트 신호(116)를 수신할 때(405), DSP는 유휴 상태를 떠나서 활성 모드(406), 이를테면 12 MHz 모드로 진입한다. 이어서, 프로세스는 완전한, 음성-인식 상태(407)로 이동한다.
음성-인식 상태(407)에서, DSP(106)의 음성-인식 모듈(105)은 트리거 구문(301)에 대해 분석된 프레임을 파싱한다(408). 따라서, 블록(408)은 소프트웨어 VAD 결정을 나타낸다. 트리거 구문이 인식되면, 프로세스는 추가 프로세싱을 위해 음성-커맨드 정보를 호스트에 송신하거나 트리거 구문(301)에 응답하여 활동하도록 호스트로의 음성-연결 링크를 개방한다(409). 위에서 주목된 바와 같이, 음성-커맨드 정보는 호스트에 전송된 커맨드 구문(302)일 수 있다. 트리거 구문이 인식되지 않으면, 프로세스는 소프트웨어 VAD 상태(401)로 돌아가고 위에서 논의된 바를 계속한다. 즉, 음성-인식 모듈은, 분석된 프레임이 위에서 주목된 바와 같이 무음 프레임인지를 결정한다(402). 무음 타임아웃이 발생한 것을 프로세스가 결정하면(403), 음성-인식 상태(407) 동안 시작된 음성 인식은, 프로세스가 위에서 설명된 바와 같이 VAD 블록(104)으로부터 VAD 인터럽트 신호(116)를 기다리기 위해 유예 상태(404)로 진행함에 따라 실행을 중지할 것이다.
따라서, 소프트웨어 VAD 상태(401)는 VAD 블록(104)에 의한 하드웨어 VAD 결정의 장기간 히스테리시스를 구축한다. 설명된 구현은 다수결 결정 시스템일 수 있고, 그리고 도 1의 VAD 블록(104)에 대해 위에서 설명된 바와 같이, 단지 하드웨어 VAD 결정으로만 작업할 수 있거나, 또는 구현은 소프트웨어에 다른 프레임-기반 검출들을 통합할 수 있다.
시스템이 청취중일 때, 음성 샘플들은 원형 버퍼, 또는 FIFO, 이를테면 도 1에 대해 위에서 논의된 음성 RAM(103)에 저장된다. FIFO, 또는 히스토리 버퍼는 소프트웨어에서 프레임 기반으로 판독된다. 모드에 의존하여, FIFO의 깊이는 가변할 수 있다. 소프트웨어는 가능한 한 많은 데이터를 소비하도록 구성되고, 때때로 상태에 동적으로 기반하여 DSP(106)를 스로틀링(throttle)할 것이다. 예컨대, 소프트웨어 VAD 이벤트를 기다리는 동안, DSP 속도는, 사용 중인 알고리즘이 다수의 사이클을 요구하지 않기 때문에 매우 느릴 수 있다. 그러나 완전한 음성-인식 상태(407)를 실행하는 것을 정당화하기에 충분한 음성 활동이 검출될 때, DSP 속도는 증가될 수 있다.
소프트웨어에서 이루어진 프레임-기반 결정은 ADC(101)로부터 오는 실시간 샘플들에 비해 적은 양의 지연을 도입할 수 있다. 소프트웨어는 FIFO에 입력되어야 하고 음성 커맨드(300)가 처음 검출된 포인트로부터 음성 인식 알고리즘을 소급적으로 실행하여야 한다. DSP 속도는 또한 실시간으로 "포착하기" 위해 증가될 수 있고, DSP 속도는, 처리되지 않은 프레임들의 수가 정의된 임계치 미만이면 감소된다. 예컨대, DSP는, 처리되지 않은 프레임들의 수가 다시 1이될 때 실시간으로 "포착되는 것"으로 고려될 수 있다.
음성 인식 상태(407) 및 파싱 상태(408)가 트리거 구문을 인식할 때, 시스템은 트리거 구문의 종점, 이를테면 도 3에 도시된 종점(303)을 검출하기 위해 종점 알고리즘을 실행하고 이어서 트리거 구문의 종료 전, 또는 종료까지 그리고 종료를 포함하여 모든 데이터를 폐기할 수 있다. 이것은 시스템이 FIFO의 소정 양을 플러싱(flush)하게 하고 이어서 아래에 설명된 원-샷(one-shot) 검출을 위해 FIFO 메모리의 용도를 변경하게 한다. 시스템은, FIFO에 샘플들을 버퍼링하는 동안, 첫 번째 음성 인식 이후 사용자가 계속 말하는지를 결정하기 위해 소프트웨어 VAD 결정을 계속 사용한다.
원-샷 검출이라 칭해지는 특징에서, 연속적인 스피치 파싱은, 사용자가 트리거 구문(301)을 발성한 이후 계속 말하는지를 결정하는 데 사용된다. 따라서, 원-샷 검출을 위해, 시스템은, 트리거 구문(301)이 검출된 이후 호스트에 대한 음성 연결을 개방할 때 지연을 설명하기 위해 데이터를 버퍼링한다. 소프트웨어 VAD 결정은, 사용자가 원-샷 타임아웃 - 트리거 구문의 검출 이후 특정된 시간 기간 -내에서 말했는지를 시스템이 결정하게 하고 또한 트리거 구문(301)이 검출된 이후 소정 양의 선행 무음을 폐기하는 데 사용될 수 있다. 이런 방식으로, 지연은 흡수될 수 있다. 또한, 원-샷 구문의 종점이 검출되면, 음성 RAM(103)에서 임의의 관련 없는 샘플들은 폐기되거나 무음인 것으로 가정될 것이다. 이런 맥락에서, 원-샷 구문은 검출된 트리거 구문(301)과, 원-샷 타임아웃, 이를테면 예컨대 커맨드 구문(302) 내의 임의의 부가적인 스피치를 의미한다. 따라서, 호스트, 이를테면 지능형 퍼스널 어시스탄트와 상호작용을 위한 임의의 후속적인 음성 패킷들은 실질적으로 실시간으로 포착되고, 이는 상호작용을 더 대화식으로 만든다.
위에서 주목된 바와 같이, 클록 시스템(107)은 복수의 클록 생성 메커니즘을 포함한다. 클록 생성 메커니즘은 바람직하게 클록을 생성하기 위해 상이한 양의 전류를 소비하고 비동기식이다. 예로써, 제1 클록 생성 메커니즘, 또는 슬립-모드 클록 메커니즘은 예컨대 12.288 MHz에서 클록을 생성하기 위해 수정 발진기 실행 없이 PLL(phase-locked loop) 회로를 활용할 수 있다. 다른 예로써, 제2 클록 생성 메커니즘, 또는 저-전력 클록 메커니즘은 예컨대 12.288 MHz에서 클록을 생성하기 위해 수정 발진기 실행과 함께 PLL(phase-locked loop) 회로를 활용할 수 있다. 제3 클록 생성 메커니즘, 또는 고-전력 클록 메커니즘은 예컨대 최대 98 MHz에서 클록을 유도하기 위해 제2 클록 생성 메커니즘을 활용할 수 있다. 본원에서 설명된 바와 같이, 제1 클록 생성 메커니즘은 제2 클록 생성 메커니즘보다 더 낮은 전류 소비를 가지며, 제2 클록 생성 메커니즘은 제3 클록 생성 메커니즘보다 더 낮은 전류 소비를 가진다. 마찬가지로, 제3 클록 생성 메커니즘은 제2 클록 생성 메커니즘보다 더 빠르고, 제2 클록 생성 메커니즘은 제1 클록 생성 메커니즘보다 더 강건하다.
클록 시스템(107)은 이용가능한 클록 생성 메커니즘들 사이에서 스위칭하도록 구성된다. 따라서, 전류 소비를 낮추기 위해, 제1 클록 생성 메커니즘은 제2 클록 생성 메커니즘 또는 제3 클록 생성 메커니즘 대신 사용될 수 있다. 마찬가지로, 제2 클록 생성 메커니즘은 전류 소비를 낮추기 위해 제3 클록 생성 메커니즘 대신 사용될 수 있다. 따라서, 제1 클록 생성 메커니즘은, 예컨대 VAD 블록(104)이 활성이지만, DSP(106)가 음성-인식 알고리즘을 실행하지 못할 때 사용될 수 있다. 제2 클록 생성 메커니즘은, 예컨대 VAD 블록(104)으로부터 VAD 인터럽트 신호(116)를 수신한 이후 DSP(106)가 음성-인식 알고리즘을 실행할 때 사용될 수 있다. 그리고 제3 클록 생성 메커니즘은, 예컨대 더 높은 프로세싱 속도들이 필요하거나 원해질 때 사용될 수 있다. 이것은, 예컨대 프로세스가 >1x 키-구문 파싱 모드에서 실행하도록 호스트로의 음성-연결 링크를 개방할 때, 또는 음성-인식 알고리즘이 1x 키-구문 파싱 모드에서 실행하도록 더 많은 사이클들을 필요로 할 때 존재할 수 있다. 다른 구성들이 또한 사용될 수 있다. 디지털 오디오 로직이 통상적으로 12 MHz에서 실행되기 때문에, 이들 예시적인 클록들 중 임의의 클록을 사용할 수 있다.
클록 시스템(107)이 클록 생성 메커니즘들 사이에서 스위칭할 때, 바람직하게 DSP(106), 음성 RAM(103), VAD 블록(104), 데시메이션 필터(102) 및 ADC(101)를 포함하는, 전체 음성-커맨드 검출 및 캡처 시스템(100)에 대해 동시에 스위칭한다. ADC(101) 데이터가 12.288 MHz 소스의 분율들이기 때문에, 12.288 MHz 소스는 분율 클록들의 특정 위상에서 스위칭한다.
클록 스위칭 이벤트의 예는 도 5에 도시되고, 여기서 예시적인 스위칭 이벤트는 화살표(517)에 의해 마킹된다. 도 5에 예시된 바와 같이, 현재 비동기식 클록 소스와 새로운 비동기식 클록 소스 사이에서 스위칭할 때, 클록 시스템, 이를테면 클록 시스템(107)은 특정 위상에서 현재 클록 소스를 효과적으로 멈출 수 있고 새로운 클록 소스의 에지들을 기다릴 수 있다. 이것은 클록 시스템이 클록 생성 메커니즘의 특정 위상에서 클록 소스들 사이에서 스위칭하게 한다. 따라서, 클록 시스템은 상이한 클록 레이트들 사이에서 클록 에지 정렬을 제공한다.
비동기식 클록 소스들 사이에서 스위칭은 비교적 더 낮은-전력 클록들이 시스템의 일부 피처들 또는 일부 상황들에 사용되게 하고 더 높은-품질 클록들이 다른 피처들 또는 다른 상황들에 사용되게 한다. 게다가, 시스템의 모든 양상들에 대해 클록 소스들을 동시에 스위칭하는 것은 클록 스위칭 순간에 놓친 샘플 시간에 의해서만 도입된 불연속성들로 연속적인 샘플 캡처를 허용한다.
위에서 주목된 바와 같이, 저-전력, 상시-청취, 음성-커맨드 검출 및 캡처 시스템(100)은 다수의 개별 동작 상태를 포함한다. 도 1을 다시 참조하면, 하나의 예시적인 구현으로서, 6 개의 예시적인 동작 상태들은 증가하는 전류 소비의 순서로 아래에서 설명된 바와 같을 수 있다.
예시적인 동작 상태들
예시적인 동작 상태 1: 하드웨어 진폭 트리거를 기다리는 슬립 모드
이 상태에서, ADC(101)는 레벨들을 비교하지만 VAD 블록(104) 또는 음성 RAM(103)에 대한 샘플들을 생성하지 않는다. 오디오 활동 레벨이 특정 최소 레벨을 초과할 때, 웨이크업 회로(118)는 샘플들을 생성하기 위해 ADC(101)의 나머지를 트리거한다. 위에서 설명된 바와 같이, ADC(101)의 컨버터 부분은, ADC(101)가 이런 레벨-비교 모드에 있는 동안 어떠한 전력도 끌어내지 못할 수 있다. 따라서, VAD 블록(104) 및 음성 RAM(103)은 비활성이다. 클록은 슬립 모드이고, DSP(106)는 유휴이다.
예시적인 동작 상태 2: 하드웨어 진폭 음성 트리거를 기다리는 상시-청취 상태
이 상태에서, ADC(101)는 아날로그 오디오 입력(122)으로부터 VAD 블록(104) 및 음성 RAM(103)에 대한 샘플들을 생성한다. 음성 RAM(103)은 샘플들을 자신의 원형 버퍼에 기록한다. 클록은 저-전력 모드이고, DSP(106)는 유휴이다. VAD 블록(104)은, 진폭 VAD 블록(109)이 활성인 것을 의미하는 진폭 검출 모드이다. 따라서, 제어 블록(111)의 동작에 대해 위에서 설명된 예로 돌아가서, ADC(101)에 대한 아날로그 오디오 입력(122)의 신호 진폭은 제어 블록(111)의 하위 임계치를 초과하지 않는다. 따라서, 제어 블록(111)은 스펙트럼 분석 블록(110)을 트리거하지도 VAD 인터럽트 신호(116)를 생성하지도 않을 것이다.
예시적인 동작 상태 3: 하드웨어 스펙트럼 음성 트리거를 기다리는 상시-청취 상태
이 상태에서, ADC(101)는 아날로그 오디오 입력(122)으로부터 VAD 블록(104) 및 음성 RAM(103)에 대한 샘플들을 생성한다. 음성 RAM(103)은 샘플들을 자신의 원형 버퍼에 기록한다. 클록은 저-전력 모드이고, DSP(106)는 유휴이다. VAD 블록(104)은, 스펙트럼 분석 블록(110)이 활성인 것을 의미하는 스펙트럼 검출 모드이다. 따라서, 제어 블록(111)의 동작에 대해 위에서 설명된 예로 돌아가서, ADC(101)에 대한 아날로그 오디오 입력(122)의 신호 진폭은 제어 블록(111)의 하위 임계치를 초과하지만 상위 임계치를 초과하지 않는다. 따라서, 제어 블록(111)은 스펙트럼 분석 블록(110)을 활성화하고 이들 결과들을 기다린다.
예시적인 동작 상태 4: 저-전류 음성 검출
이 상태에서, ADC(101)는 아날로그 오디오 입력(122)으로부터 VAD 블록(104) 및 음성 RAM(103)에 대한 샘플들을 생성한다. 음성 RAM(103)은 샘플들을 자신의 원형 버퍼에 기록하고, 클록은 저-전력 모드이다. VAD 블록(104)은 스펙트럼 검출 모드 또는 진폭 검출 모드이다. 따라서, 제어 블록(111)의 동작에 대해 위에서 설명된 예로 돌아가서, ADC(101)에 대한 아날로그 오디오 입력(122)의 신호 진폭은 제어 블록(111)의 하위 임계치 및 상위 임계치를 초과한다. 따라서, 제어 블록(111)은 스펙트럼 분석 블록(110)으로부터의 스펙트럼 VAD 결정에 무관하게 VAD 인터럽트 신호(116)를 생성한다. DSP(106)는 예컨대, DSP(106)가 도 4에 도시된 엘리먼트들(401-405)로 표시된 프로세스를 통해 진행하는 것을 의미하는 무음 검출을 갖는 VAD 히스테리시스 모드이다.
예시적인 동작 상태 5: 저-전류 음성 인식
이 상태에서, ADC(101)는 아날로그 오디오 입력(122)으로부터 VAD 블록(104) 및 음성 RAM(103)에 대한 샘플들을 생성한다. 음성 RAM(103)은 샘플들을 자신의 원형 버퍼에 기록하고, 버퍼는 DSP(106)에 의해 판독된다. 클록은 저-전력 모드이다. VAD 블록(104)은 위에서 설명된 바와 같이 스펙트럼 검출 모드 또는 진폭 검출 모드이고, VAD 블록(104)은 VAD 인터럽트 신호(116)를 생성한다. DSP(106)는 음성 인식 상태(407)이고, 이 상태에서 DSP(106)의 음성-인식 알고리즘은 트리거 구문(301)에 대해 분석된 프레임을 파싱한다. 따라서, 예컨대, DSP(106)는 엘리먼트(408)에서 "아니오" 결정 결과인 무음 검출을 포함하여, 도 4에 도시된 엘리먼트들(401-408)에 의해 표시된 프로세스를 통해 진행된다.
예시적인 동작 상태 6: 저-전류 음성-커맨드 프로세싱
이 상태에서, ADC(101)는 아날로그 오디오 입력(122)으로부터 VAD 블록(104) 및 음성 RAM(103)에 대한 샘플들을 생성한다. 음성 RAM(103)은 샘플들을 자신의 원형 버퍼에 기록하고, 버퍼는 DSP(106)에 의해 판독된다. 클록은 고-전력 모드이다. VAD 블록(104)은 위에서 설명된 바와 같이, 스펙트럼 검출 모드 또는 진폭 검출 모드이다. DSP(106)의 음성-인식 알고리즘은 트리거 구문(301)에 대해 분석된 프레임을 파싱하고, 이때 "예" 결정 결과가 도 4의 엘리먼트(408)에서 발생한다. 따라서, 예컨대, DSP(106)는 무음 검출을 포함하여, 도 4에 도시된 엘리먼트들(401-409)에 의해 표시된 프로세스를 통해 진행된다.
실시예들에서, 이들 동작 상태들은 독립적으로 인에이블되거나 디스에이블될 수 있다. 따라서, 시스템은, 그런 실시예들에서, 이용가능한 동작 상태들 모두 또는 단지 일부만을 사용하도록 선택할 수 있다. 예컨대, 잡음 환경에서 잘못된 진폭 트리거들을 감소시키기 위해, 시스템은 비교적 더 높은 상태, 이를테면 위에서 설명된 동작 상태(3, 4, 5 또는 6)를 선택하고, 비교적 더 낮은 동작 상태, 이를테면 위에서 설명된 동작 상태(1 또는 2)를 회피할 수 있다. 또한, 슬리핑을 회피하고 트리거 구문(301)의 시작이 캡처되고 잘려지지 않는 것을 보장하기 위해, 시스템은 비교적 더 낮은 동작 상태, 이를테면 위에서 설명된 동작 상태(1)를 회피할 수 있다. 다른 한편, 전류 소비를 감소시키기 위해, 시스템은 비교적 더 높은 동작 상태에 비해 비교적 더 낮은 상태, 이를테면 위에서 설명된 동작 상태(1, 2, 3, 4 또는 5)를 선택할 수 있다.
예시적인 예들
개시된 기술들의 예시적인 예들이 아래에 제공된다. 기술들의 실시예는 아래에 설명된 예들 중 하나 이상, 및 이들의 임의의 조합을 포함할 수 있다.
예 1은 음성 커맨드들을 검출 및 캡처하기 위한 시스템을 포함하고, 시스템은 음성 활동 검출기(voice-activity detector, VAD)를 포함하고, VAD는 VAD-수신 디지털-오디오 신호를 수신하고; VAD-수신 디지털-오디오 신호의 진폭을 결정하고; VAD-수신 디지털-오디오 신호의 진폭을 제1 임계치 및 제2 임계치에 비교하고; VAD-수신 디지털-오디오 신호의 진폭이 제1 임계치 또는 제2 임계치를 초과하지 않을 때 VAD 인터럽트 신호를 보류하고; VAD-수신 디지털-오디오 신호의 진폭이 제1 임계치 및 제2 임계치를 초과할 때 VAD 인터럽트 신호를 생성하고; 그리고 VAD-수신 디지털-오디오 신호의 진폭이 제1 임계치와 제2 임계치 사이일 때 VAD-수신 디지털-오디오 신호의 스펙트럼 분석을 수행하도록 구성된다.
예 2는 예 1의 시스템을 포함하고, 아날로그 오디오 입력을 수신하도록 구성된 아날로그 디지털 컨버터(analog-to-digital converter, ADC)를 더 포함하고, ADC는 아날로그 오디오 입력으로부터, ADC 샘플링 레이트로 디지털-오디오 신호를 생성하도록 구성된 컨버터 부분을 가진다.
예 3은 예 2의 시스템을 포함하고, ADC는 웨이크업 회로를 포함하고, 웨이크업 회로는 아날로그 오디오 입력이 오디오 활동의 개시 레벨을 갖는지를 결정하고; 아날로그 오디오 입력이 오디오 활동의 개시 레벨을 가지지 않을 때, ADC의 컨버터 부분이 디지털-오디오 신호를 생성하지 않는 슬립 모드에 ADC를 배치하고; 아날로그 오디오 입력이 오디오 활동의 개시 레벨을 가질 때, ADC의 컨버터 부분이 디지털-오디오 신호를 생성하는 활성 모드에 ADC를 배치하도록 구성된다.
예 4는 예 3의 시스템을 포함하고, 아날로그 오디오 입력이 오디오 활동의 개시 레벨을 갖는지를 결정하기 위해, 웨이크업 회로는 아날로그 오디오 입력을 웨이크업-개시 임계치에 비교하도록 구성된다.
예 5는 예 3 또는 예 4의 시스템을 포함하고, 웨이크업 회로는 아날로그 오디오 입력을 부스팅하도록 구성된 오디오 전치증폭기 및 이득 스테이지; 및 부스팅된 아날로그 오디오 입력을 오디오 활동의 개시 레벨을 표시하는 웨이크업-개시 임계치에 비교하도록 구성된 비교기 스테이지를 포함한다.
예 6은 예 3 내지 예 5 중 임의의 예의 시스템을 포함하고, ADC의 컨버터 부분은, ADC가 슬립 모드일 때 전력이 공급되지 않고, ADC의 컨버터 부분은, ADC가 활성 모드일 때 전력을 공급받는다.
예 7은 예 2 내지 예 6 중 임의의 예의 시스템을 포함하고, ADC와 VAD 사이에 데시메이션 필터를 더 포함하고, 데시메이션 필터는 디지털-오디오 신호를 수신하고 감소된 샘플링 레이트를 가진 감소된 디지털-오디오 샘플들을 생성하기 위해 디지털-오디오 신호를 프로세싱하도록 구성되고, 감소된 샘플링 레이트는 ADC 샘플링 레이트보다 더 낮다.
예 8은 예 1 내지 예 7 중 어느 한 예의 시스템을 포함하고, VAD는 샘플링 레이트를 가진 VAD-수신 디지털-오디오 신호를 입력으로 수신하고 진폭을 가진 결합된 디지털-오디오 신호를 생성하기 위해 VAD-수신 디지털-오디오 신호를 프로세싱하도록 구성된 샘플 결합 블록 - 결합된 디지털-오디오 신호는 VAD-수신 디지털-오디오 신호의 샘플링 레이트보다 더 낮은 샘플링 레이트를 가짐 -; 결합된 디지털-오디오 신호의 진폭을 결정하도록 구성된 진폭 VAD 블록; VAD-수신 디지털-오디오 신호의 스펙트럼 분석을 수행하도록 구성된 스펙트럼 분석 블록; 및 2 개의 비교기를 포함하는 제어 블록을 포함하고, 제어 블록은: VAD-수신 디지털-오디오 신호의 진폭을 제1 임계치 및 제2 임계치에 비교하고, VAD-수신 디지털-오디오 신호의 진폭이 제1 임계치 또는 제2 임계치를 초과하지 않을 때 VAD 인터럽트 신호를 보류하고 스펙트럼 분석 블록을 활성화하고, 그리고 VAD-수신 디지털-오디오 신호의 진폭이 제1 임계치 및 제2 임계치를 초과할 때 VAD 인터럽트 신호를 생성하도록 구성된다.
예 9는 예 8의 시스템을 포함하고, 스펙트럼 분석 블록은: 결합된 디지털-오디오 신호를 샘플 결합 블록으로부터 수신하여 저장하도록 구성된 VAD 랜덤 액세스 메모리(random-access memory, RAM); VAD RAM에 저장된 결합된 디지털-오디오 신호의 FFT(fast Fourier transform)를 수행하고 FFT 결과들을 출력하도록 구성된 FFT 블록; FFT 결과들의 평균 진폭을 결정하도록 구성된 스펙트럼 LPF(low-pass filter); 및 스펙트럼 LPF의 결과들을 평가하고 그리고 스펙트럼 LPF의 결과들의 평가에 기반하여, VAD 인터럽트 신호를 생성하거나 VAD 인터럽트 신호를 계속 보류하기 위해 제어 블록에 신호하도록 구성된 스펙트럼 VAD 블록을 포함한다.
예 10은 예 1 내지 예 9 중 임의의 예의 시스템을 포함하고, VAD로부터 VAD 인터럽트 신호를 수신하고 트리거 구문 동안 VAD-수신 디지털-오디오 신호를 분석하도록 구성된 디지털 신호 프로세서(digital signal processor, DSP)를 더 포함한다.
예 11은 예 10의 시스템을 포함하고, 선입선출(first-in, first-out, FIFO) 포맷으로 VAD-수신 디지털-오디오 신호를 수신 및 저장하도록 구성된 음성 랜덤 액세스 메모리(random-access memory, RAM)를 더 포함하고, 음성 RAM은 DSP에 의해 액세스되도록 구성된다.
예 12는 예 10 또는 예 11의 시스템을 포함하고, 복수의 비동기식 클록 생성 메커니즘을 포함하는 클록 시스템을 더 포함하고, 비동기식 클록 생성 메커니즘들 각각은 상이한 전류 소비를 가지며, 클록 시스템은 비동기식 클록 생성 메커니즘들 사이에서 스위칭하도록 구성된다.
예 13은 음성 커맨드들을 검출 및 캡처하는 방법을 포함하고, 방법은: 음성 활동 검출기(voice-activity detector, VAD)에 의해, VAD-수신 디지털-오디오 신호를 수신하는 단계; VAD에 의해, VAD-수신 디지털-오디오 신호의 진폭을 결정하는 단계; VAD에 의해, VAD-수신 디지털-오디오 신호의 진폭을 제1 임계치 및 제2 임계치에 비교하는 단계; VAD에 의해, VAD-수신 디지털-오디오 신호의 진폭이 제1 임계치 또는 제2 임계치를 초과하지 않을 때 VAD 인터럽트 신호를 보류하는 단계; VAD에 의해, VAD-수신 디지털-오디오 신호의 진폭이 제1 임계치 및 제2 임계치를 초과할 때 VAD 인터럽트 신호를 생성하는 단계; 및 VAD에 의해, VAD-수신 디지털-오디오 신호의 진폭이 제1 임계치와 제2 임계치 사이일 때 VAD-수신 디지털-오디오 신호의 스펙트럼 분석을 수행하는 단계를 포함한다.
예 14는 예 13의 방법을 포함하고, 아날로그 디지털 컨버터(analog-to-digital converter, ADC)에 의해, 아날로그 오디오 입력을 수신하는 단계; 웨이크업 회로에 의해, 아날로그 오디오 입력이 오디오 활동의 개시 레벨을 갖는지를 결정하는 단계; 및 아날로그 오디오 입력이 오디오 활동의 개시 레벨을 가지지 않을 때, ADC의 컨버터 부분이 디지털-오디오 신호를 생성하지 않는 슬립 모드에 ADC를 배치하는 단계; 및 아날로그 오디오 입력이 오디오 활동의 개시 레벨을 가질 때, ADC의 컨버터 부분이 ADC 샘플링 레이트에서 아날로그 오디오 입력으로부터 디지털-오디오 신호를 생성하는 활성 모드에 ADC를 배치하는 단계를 더 포함한다.
예 15는 예 14의 방법을 포함하고, 웨이크업 회로에 의해, 아날로그 오디오 입력이 오디오 활동의 개시 레벨을 갖는지를 결정하는 단계는 아날로그 오디오 입력을 웨이크업-개시 임계치에 비교하는 단계를 포함한다.
예 16은 예 14 또는 예 15의 방법을 포함하고, ADC가 슬립 모드일 때 ADC의 컨버터 부분에 전력을 공급하지 않는 단계; 및 ADC가 활성 모드일 때, ADC의 컨버터 부분에 전력을 공급하는 단계를 더 포함한다.
예 17은 예 14 내지 예 16 중 임의의 예의 방법을 포함하고, 디지털 신호 프로세서(digital signal processor, DSP)에 의해, VAD로부터 VAD 인터럽트 신호를 수신하는 단계; 및 DSP에 의해, 트리거 구문을 검출하기 위해 VAD-수신 디지털-오디오 신호를 분석하는 단계를 더 포함한다.
예 18은 예 13 내지 예 17 중 임의의 예의 방법을 포함하고, 음성 랜덤 액세스 메모리(random-access memory, RAM)에 의해, 선입선출(first-in, first-out, FIFO) 포맷으로 VAD-수신 디지털-오디오 신호를 수신 및 저장하는 단계를 더 포함한다.
예 19는 예 18의 방법을 포함하고, 트리거 구문이 DSP에 의해 검출될 때, 트리거 구문의 종점 전에 음성 RAM 상의 모든 데이터를 폐기하는 단계를 더 포함한다.
예 20은 예 17 내지 예19 중 임의의 예의 방법을 포함하고, 트리거 구문이 DSP에 의해 검출될 때, 트리거 구문 이후 미리특정된 타임아웃 기간 동안 사용자가 말했는지를 결정하는 단계를 더 포함한다.
개시된 청구 대상의 이미 설명된 버전들은 통상의 기술자에게 설명되었거나 자명할 많은 장점들을 가진다. 그렇기는 하지만, 이들 장점들 또는 특징들 모두는 개시된 장치, 시스템들 또는 방법들의 모든 버전들에 요구되지 않는다. 부가적으로, 이런 기재된 설명은 특정 특징들을 참조한다. 본 명세서의 개시내용이 이들 특정 특징의 모든 가능한 조합들을 포함하는 것이 이해되어야 한다. 예컨대, 특정 특징이 특정 양상 또는 실시예의 맥락에서 개시되는 경우, 그 특징은 또한 가능한 범위까지, 다른 양상들 및 실시예들의 맥락에서 사용될 수 있다.
게다가, 본 발명의 실시예들은 특정하게 생성된 하드웨어, 펌웨어, 디지털 신호 프로세서들, 또는 프로그래밍된 명령들에 따라 동작하는 프로세서를 포함하는 구체적으로 프로그래밍된 범용 컴퓨터 상에서 동작할 수 있다. 본원에 사용된 바와 같은 "프로세서"라는 용어는 마이크로프로세서들, 마이크로컴퓨터들, ASIC들 및 전용 하드웨어 제어기들을 포함하는 것으로 의도된다. 본 발명의 하나 이상의 양상은 하나 이상의 컴퓨터(모니터링 모듈들을 포함함), 또는 다른 디바이스들에 의해 실행되는 컴퓨터-사용가능 데이터 및 컴퓨터-실행가능 명령들, 이를테면 하나 이상의 프로그램 모듈로 구현될 수 있다. 일반적으로, 프로그램 모듈들은 컴퓨터 또는 다른 디바이스의 프로세서에 의해 실행될 때 특정 태스크들을 수행하거나 특정 추상 데이터 타입들을 구현하는 루틴들, 프로그램들, 객체들, 컴포넌트들, 데이터 구조들 등을 포함한다. 컴퓨터 실행가능 명령들은 비-일시적 컴퓨터 판독가능 매체, 이를테면 하드 디스크, 광학 디스크, 탈착가능 저장 매체들, 고체 상태 메모리, RAM 등에 저장될 수 있다. 통상의 기술자에 의해 인식될 바와 같이, 프로그램 모듈들의 기능성은 다양한 실시예들에서 원하는 대로 결합 또는 분산될 수 있다. 게다가, 기능성은 전체적으로 또는 부분적으로 펌웨어 또는 하드웨어 등가물들, 이를테면 집적 회로들, FPGA(field programmable gate array)들 등으로 구현될 수 있다. 특정 데이터 구조들은 본 발명의 하나 이상의 양상을 더 효과적으로 구현하는 데 사용될 수 있고, 그런 데이터 구조들은 본원에 설명된 컴퓨터 실행가능 명령들 및 컴퓨터-사용가능 데이터의 범위 내에서 고려된다.
게다가, "포함하다"라는 용어 및 이의 문법적 등가물들은 본 출원에서, 다른 컴포넌트들, 피처들, 단계들, 프로세스들, 동작들 등이 선택적으로 존재하는 것을 의미하기 위해 사용된다. 예컨대, 컴포넌트들 A, B 및 C를 "포함하는" 또는 "포함하는 것"은 컴포넌트들 A, B 및 C만을 포함할 수 있거나, 또는 하나 이상의 다른 컴포넌트와 함께 컴포넌트들 A, B 및 C를 포함할 수 있다. 또한, 본 명세서에서 2 개 이상의 정의된 단계 또는 동작을 가진 방법이 참조될 때, 정의된 단계들 또는 동작들은, 맥락이 이들 가능성들을 배제하지 않으면, 임의의 순서 또는 동시에 수행될 수 있다.
부가적으로, 본 발명의 특정 실시예들이 예시의 목적들을 위해 예시 및 설명되었지만, 다양한 수정들이 본 발명의 사상 및 범위에서 벗어나지 않고 이루어질 수 있다는 것이 이해될 것이다. 따라서, 본 발명은 첨부된 청구항들을 제외하고 제한되지 않아야 한다.

Claims (20)

  1. 음성 커맨드들을 검출 및 캡처하기 위한 시스템으로서,
    오디오 신호를 수신하도록 구성된 입력;
    상기 오디오 신호를 디지털-오디오 신호로 변환하도록 구성된 아날로그 디지털 컨버터(analog to digital converter);
    상기 디지털-오디오 신호의 진폭을 결정하도록 구성된 진폭 검출기;
    상기 디지털-오디오 신호의 진폭을 제1 임계치 및 제2 임계치에 비교하고, 상기 디지털-오디오 신호의 진폭이 상기 제1 임계치 또는 상기 제2 임계치를 초과하지 않을 때 인터럽트(interrupt) 신호를 보류하고, 상기 디지털-오디오 신호의 진폭이 상기 제1 임계치 및 상기 제2 임계치를 초과할 때 상기 인터럽트 신호를 생성하고, 상기 디지털-오디오 신호의 진폭이 상기 제1 임계치와 상기 제2 임계치 사이일 때 상기 디지털-오디오 신호의 스펙트럼 분석을 트리거링하도록 구성된 제어기
    를 포함하는 시스템.
  2. 제1항에 있어서, 상기 아날로그 디지털 컨버터는 웨이크업(wakeup) 회로를 포함하고, 상기 웨이크업 회로는:
    상기 오디오 신호가 오디오 활동의 개시 레벨을 갖는지를 결정하고;
    상기 오디오 신호가 상기 오디오 활동의 개시 레벨을 가지지 않을 때, 상기 아날로그 디지털 컨버터의 컨버터 부분이 상기 디지털-오디오 신호를 생성하지 않는 슬립(sleep) 모드에 상기 아날로그 디지털 컨버터를 배치하고;
    상기 오디오 신호가 상기 오디오 활동의 개시 레벨을 가질 때, 상기 아날로그 디지털 컨버터의 컨버터 부분이 상기 디지털-오디오 신호를 생성하는 활성 모드에 상기 아날로그 디지털 컨버터를 배치하도록 구성되는, 시스템.
  3. 제2항에 있어서, 상기 오디오 신호가 오디오 활동의 개시 레벨을 갖는지를 결정하기 위해, 상기 웨이크업 회로는 상기 오디오 신호를 웨이크업-개시 임계치에 비교하도록 구성되는, 시스템.
  4. 제2항에 있어서, 상기 웨이크업 회로는:
    상기 오디오 신호를 부스팅(boost)하도록 구성된 오디오 전치증폭기 이득 스테이지; 및
    부스팅된 오디오 신호를 상기 오디오 활동의 개시 레벨을 표시하는 웨이크업-개시 임계치에 비교하도록 구성된 비교기 스테이지를 포함하는, 시스템.
  5. 제2항에 있어서, 상기 아날로그 디지털 컨버터의 컨버터 부분은, 상기 아날로그 디지털 컨버터가 슬립 모드일 때 전력이 공급되지 않고, 상기 아날로그 디지털 컨버터의 컨버터 부분은, 상기 아날로그 디지털 컨버터가 활성 모드일 때 전력을 공급받는, 시스템.
  6. 제2항에 있어서, 상기 아날로그 디지털 컨버터와 상기 진폭 검출기 사이에 데시메이션(decimation) 필터를 더 포함하고, 상기 데시메이션 필터는 상기 디지털-오디오 신호를 수신하고 감소된 샘플링 레이트를 가진 감소된 디지털-오디오 샘플들을 생성하기 위해 상기 디지털-오디오 신호를 프로세싱하도록 구성되고, 상기 감소된 샘플링 레이트는 상기 아날로그 디지털 컨버터의 샘플링 레이트보다 더 낮은, 시스템.
  7. 제1항에 있어서, 샘플링 레이트를 가진 상기 디지털-오디오 신호를 입력으로 수신하고 진폭을 가진 결합된 디지털-오디오 신호를 생성하기 위해 상기 디지털-오디오 신호를 프로세싱하도록 구성된 샘플 결합 블록을 더 포함하고, 상기 결합된 디지털-오디오 신호는 상기 디지털-오디오 신호의 샘플링 레이트보다 더 낮은 샘플링 레이트를 갖는, 시스템.
  8. 제1항에 있어서, 상기 인터럽트 신호를 수신하고 트리거 구문(trigger phrase)을 위해 상기 디지털-오디오 신호를 분석하도록 구성된 디지털 신호 프로세서를 더 포함하는, 시스템.
  9. 제8항에 있어서, 선입선출(first-in, first-out) 포맷으로 상기 디지털-오디오 신호를 수신 및 저장하도록 구성된 음성 랜덤 액세스 메모리를 더 포함하고, 상기 음성 랜덤 액세스 메모리는 상기 디지털 신호 프로세서에 의해 액세스되도록 구성되는, 시스템.
  10. 제8항에 있어서, 복수의 비동기식 클록(clock) 생성 메커니즘을 포함하는 클록 시스템을 더 포함하고, 상기 비동기식 클록 생성 메커니즘들 각각은 상이한 전류 소비를 가지며, 상기 클록 시스템은 상기 비동기식 클록 생성 메커니즘들 사이에서 스위칭하도록 구성되는, 시스템.
  11. 음성 커맨드들을 검출 및 캡처하는 방법으로서,
    음성 활동 검출기(voice-activity detector)에 의해, 디지털-오디오 신호를 수신하는 단계;
    상기 음성 활동 검출기에 의해, 상기 디지털-오디오 신호의 진폭을 결정하는 단계;
    상기 음성 활동 검출기에 의해, 상기 디지털-오디오 신호의 진폭을 제1 임계치 및 제2 임계치에 비교하는 단계;
    상기 음성 활동 검출기에 의해, 상기 디지털-오디오 신호의 진폭이 상기 제1 임계치 또는 상기 제2 임계치를 초과하지 않을 때 인터럽트 신호를 보류하는 단계;
    상기 음성 활동 검출기에 의해, 상기 디지털-오디오 신호의 진폭이 상기 제1 임계치 및 상기 제2 임계치를 초과할 때 상기 인터럽트 신호를 생성하는 단계; 및
    상기 음성 활동 검출기에 의해, 상기 디지털-오디오 신호의 진폭이 상기 제1 임계치와 상기 제2 임계치 사이일 때 상기 디지털-오디오 신호의 스펙트럼 분석을 수행하는 단계
    를 포함하는 방법.
  12. 제11항에 있어서,
    아날로그 디지털 컨버터에 의해, 오디오 신호를 수신하는 단계;
    웨이크업 회로에 의해, 상기 오디오 신호가 오디오 활동의 개시 레벨을 갖는지를 결정하는 단계;
    상기 오디오 신호가 상기 오디오 활동의 개시 레벨을 가지지 않을 때, 상기 아날로그 디지털 컨버터의 컨버터 부분이 디지털-오디오 신호를 생성하지 않는 슬립 모드에 상기 아날로그 디지털 컨버터를 배치하는 단계; 및
    상기 오디오 신호가 상기 오디오 활동의 개시 레벨을 가질 때, 상기 아날로그 디지털 컨버터의 컨버터 부분이 아날로그 디지털 컨버터 샘플링 레이트에서 상기 오디오 신호로부터 디지털-오디오 신호를 생성하는 활성 모드에 상기 아날로그 디지털 컨버터를 배치하는 단계
    를 더 포함하는 방법.
  13. 제12항에 있어서, 웨이크업 회로에 의해, 상기 오디오 신호가 오디오 활동의 개시 레벨을 갖는지를 결정하는 단계는 상기 오디오 신호를 웨이크업-개시 임계치에 비교하는 단계를 포함하는, 방법.
  14. 제12항에 있어서,
    상기 아날로그 디지털 컨버터가 슬립 모드일 때 상기 아날로그 디지털 컨버터의 컨버터 부분에 전력을 공급하지 않는 단계; 및
    상기 아날로그 디지털 컨버터가 활성 모드일 때 상기 아날로그 디지털 컨버터의 컨버터 부분에 전력을 공급하는 단계
    를 더 포함하는 방법.
  15. 제12항에 있어서,
    디지털 신호 프로세서에 의해, 상기 음성 활동 검출기로부터 상기 인터럽트 신호를 수신하는 단계; 및
    상기 디지털 신호 프로세서에 의해, 트리거 구문을 검출하기 위해 상기 디지털-오디오 신호를 분석하는 단계
    를 더 포함하는 방법.
  16. 제15항에 있어서, 음성 랜덤 액세스 메모리에 의해, 선입선출(first-in, first-out) 포맷으로 상기 디지털-오디오 신호를 수신 및 저장하는 단계; 및 트리거 구문이 상기 디지털 신호 프로세서에 의해 검출될 때, 상기 트리거 구문의 종점 전에 상기 음성 랜덤 액세스 메모리 상의 모든 데이터를 폐기하는 단계를 더 포함하는 방법.
  17. 제15항에 있어서, 트리거 구문이 상기 디지털 신호 프로세서에 의해 검출될 때, 상기 트리거 구문 이후 미리특정된 타임아웃 기간 동안 사용자가 말했는지를 결정하는 단계를 더 포함하는 방법.
  18. 음성 활동 검출기로서,
    디지털-오디오 신호를 수신하도록 구성된 입력;
    상기 디지털-오디오 신호의 진폭을 결정하도록 구성된 진폭 검출기;
    상기 디지털-오디오 신호의 진폭이 제1 임계치 또는 제2 임계치를 초과하지 않을 때 인터럽트 신호를 보류하고, 상기 디지털-오디오 신호의 진폭이 상기 제1 임계치 및 상기 제2 임계치를 초과할 때 상기 인터럽트 신호를 생성하고, 상기 디지털-오디오 신호의 진폭이 상기 제1 임계치와 상기 제2 임계치 사이일 때 상기 디지털-오디오 신호의 스펙트럼 분석을 트리거링하도록 구성된 제어기; 및
    상기 디지털-오디오 신호의 스펙트럼 분석을 수행하여 상기 인터럽트 신호를 생성할지 여부를 상기 제어기에 지시하도록 구성된 스펙트럼 분석기
    를 포함하는 음성 활동 검출기.
  19. 제18항에 있어서, 샘플링 레이트를 가진 상기 디지털-오디오 신호를 입력으로 수신하고 진폭을 가진 결합된 디지털-오디오 신호를 생성하기 위해 상기 디지털-오디오 신호를 프로세싱하도록 구성된 샘플 결합기를 더 포함하고, 상기 결합된 디지털-오디오 신호는 상기 디지털-오디오 신호의 샘플링 레이트보다 더 낮은 샘플링 레이트를 갖는, 음성 활동 검출기.
  20. 제18항에 있어서, 상기 스펙트럼 분석기는:
    샘플 결합 블록으로부터 결합된 디지털-오디오 신호를 수신하고 상기 결합된 디지털-오디오 신호를 저장하도록 구성된 음성 활동 검출기 랜덤 액세스 메모리;
    상기 음성 활동 검출기 랜덤 액세스 메모리에 저장된 상기 결합된 디지털-오디오 신호의 고속 푸리에 변환을 수행하여 고속 푸리에 변환 결과들을 출력하도록 구성된 고속 푸리에 변환 블록;
    상기 고속 푸리에 변환 결과들의 평균 진폭을 결정하도록 구성된 스펙트럼 저역-통과 필터; 및
    상기 스펙트럼 저역-통과 필터의 결과들을 평가하고, 상기 스펙트럼 저역-통과 필터의 결과들의 평가에 기초하여, 제어 블록에 신호하여 상기 인터럽트 신호를 생성하거나 또는 상기 인터럽트 신호를 계속해서 보류하도록 구성된 스펙트럼 제어기
    를 포함하는, 음성 활동 검출기.
KR1020197021179A 2016-12-21 2017-12-20 저-전력, 상시-청취, 음성-커맨드 검출 및 캡처 KR102501601B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662437598P 2016-12-21 2016-12-21
US62/437,598 2016-12-21
US15/706,178 US10403279B2 (en) 2016-12-21 2017-09-15 Low-power, always-listening, voice command detection and capture
US15/706,178 2017-09-15
PCT/US2017/067712 WO2018119138A1 (en) 2016-12-21 2017-12-20 Low-power, always-listening, voice-command detection and capture

Publications (2)

Publication Number Publication Date
KR20190100270A KR20190100270A (ko) 2019-08-28
KR102501601B1 true KR102501601B1 (ko) 2023-02-17

Family

ID=62562629

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197021179A KR102501601B1 (ko) 2016-12-21 2017-12-20 저-전력, 상시-청취, 음성-커맨드 검출 및 캡처

Country Status (8)

Country Link
US (1) US10403279B2 (ko)
JP (1) JP7129422B2 (ko)
KR (1) KR102501601B1 (ko)
CN (1) CN110520927A (ko)
DE (1) DE112017006411T5 (ko)
GB (1) GB2573424B (ko)
TW (1) TW201835895A (ko)
WO (1) WO2018119138A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7337699B2 (ja) 2017-03-23 2023-09-04 ジョイソン セイフティ システムズ アクイジション エルエルシー 口の画像を入力コマンドと相互に関連付けるシステム及び方法
US11189273B2 (en) * 2017-06-29 2021-11-30 Amazon Technologies, Inc. Hands free always on near field wakeword solution
WO2019079974A1 (en) * 2017-10-24 2019-05-02 Beijing Didi Infinity Technology And Development Co., Ltd. SYSTEM AND METHOD FOR UNINTERRUPTED APPLICATION REVIEW AND VOICE RECOGNITION
CN107808670B (zh) * 2017-10-25 2021-05-14 百度在线网络技术(北京)有限公司 语音数据处理方法、装置、设备及存储介质
US10916252B2 (en) * 2017-11-10 2021-02-09 Nvidia Corporation Accelerated data transfer for latency reduction and real-time processing
US20190237067A1 (en) * 2018-01-31 2019-08-01 Toyota Motor Engineering & Manufacturing North America, Inc. Multi-channel voice recognition for a vehicle environment
US10332543B1 (en) * 2018-03-12 2019-06-25 Cypress Semiconductor Corporation Systems and methods for capturing noise for pattern recognition processing
DE102018212902A1 (de) * 2018-08-02 2020-02-06 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Bestimmen eines digitalen Assistenten zum Ausführen einer Fahrzeugfunktion aus einer Vielzahl von digitalen Assistenten in einem Fahrzeug, computerlesbares Medium, System, und Fahrzeug
US10861457B2 (en) * 2018-10-26 2020-12-08 Ford Global Technologies, Llc Vehicle digital assistant authentication
CN112740321A (zh) * 2018-11-20 2021-04-30 深圳市欢太科技有限公司 唤醒设备的方法、装置、存储介质及电子设备
CN111261143B (zh) * 2018-12-03 2024-03-22 嘉楠明芯(北京)科技有限公司 一种语音唤醒方法、装置及计算机可读存储介质
TWI713016B (zh) * 2019-01-03 2020-12-11 瑞昱半導體股份有限公司 語音偵測處理系統與語音偵測方法
CN111414071B (zh) * 2019-01-07 2021-11-02 瑞昱半导体股份有限公司 处理系统与语音检测方法
TWI684912B (zh) * 2019-01-08 2020-02-11 瑞昱半導體股份有限公司 語音喚醒裝置及方法
US11650625B1 (en) * 2019-06-28 2023-05-16 Amazon Technologies, Inc. Multi-sensor wearable device with audio processing
CN110196914B (zh) * 2019-07-29 2019-12-27 上海肇观电子科技有限公司 一种将人脸信息录入数据库的方法和装置
US11380321B2 (en) 2019-08-01 2022-07-05 Semiconductor Components Industries, Llc Methods and apparatus for a voice detector
CN110890104B (zh) * 2019-11-26 2022-05-03 思必驰科技股份有限公司 语音端点检测方法及系统
KR20210112726A (ko) * 2020-03-06 2021-09-15 엘지전자 주식회사 차량의 좌석별로 대화형 비서를 제공하는 방법
CN111816216A (zh) * 2020-08-25 2020-10-23 苏州思必驰信息科技有限公司 语音活性检测方法和装置
KR20220059629A (ko) * 2020-11-03 2022-05-10 현대자동차주식회사 차량 및 그의 제어방법
US20220179615A1 (en) * 2020-12-09 2022-06-09 Cerence Operating Company Automotive infotainment system with spatially-cognizant applications that interact with a speech interface
CN113470660A (zh) * 2021-05-31 2021-10-01 翱捷科技(深圳)有限公司 一种基于路由器流量的语音唤醒阈值调整方法及系统
CN115547312B (zh) * 2022-11-30 2023-03-21 深圳时识科技有限公司 带活动检测的预处理器、芯片和电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130339028A1 (en) * 2012-06-15 2013-12-19 Spansion Llc Power-Efficient Voice Activation

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61156298A (ja) * 1984-12-28 1986-07-15 日本電気株式会社 時定数を変動させる可変閾値型音声検出器
JP3674990B2 (ja) * 1995-08-21 2005-07-27 セイコーエプソン株式会社 音声認識対話装置および音声認識対話処理方法
US7031916B2 (en) 2001-06-01 2006-04-18 Texas Instruments Incorporated Method for converging a G.729 Annex B compliant voice activity detection circuit
US7606330B2 (en) * 2002-09-27 2009-10-20 Broadcom Corporation Dual-rate single band communication system
CN100548060C (zh) 2006-02-06 2009-10-07 海信集团有限公司 Tetra集群手机语音处理方法
US8311814B2 (en) * 2006-09-19 2012-11-13 Avaya Inc. Efficient voice activity detector to detect fixed power signals
US20120010890A1 (en) * 2008-12-30 2012-01-12 Raymond Clement Koverzin Power-optimized wireless communications device
WO2013085507A1 (en) * 2011-12-07 2013-06-13 Hewlett-Packard Development Company, L.P. Low power integrated circuit to analyze a digitized audio stream
CN103578470B (zh) * 2012-08-09 2019-10-18 科大讯飞股份有限公司 一种电话录音数据的处理方法及系统
CN104969289B (zh) * 2013-02-07 2021-05-28 苹果公司 数字助理的语音触发器
US9697831B2 (en) 2013-06-26 2017-07-04 Cirrus Logic, Inc. Speech recognition
WO2015048254A1 (en) * 2013-09-25 2015-04-02 Robert Bosch Gmbh Speech detection circuit and method
CN106062661B (zh) * 2014-03-31 2021-09-07 英特尔公司 用于常开常听的语音识别系统的位置感知功率管理方案
TWI569263B (zh) 2015-04-30 2017-02-01 智原科技股份有限公司 聲頻訊號的訊號擷取方法與裝置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130339028A1 (en) * 2012-06-15 2013-12-19 Spansion Llc Power-Efficient Voice Activation

Also Published As

Publication number Publication date
US20180174583A1 (en) 2018-06-21
DE112017006411T5 (de) 2019-09-05
TW201835895A (zh) 2018-10-01
GB2573424A (en) 2019-11-06
KR20190100270A (ko) 2019-08-28
GB2573424B (en) 2022-06-29
GB201909295D0 (en) 2019-08-14
CN110520927A (zh) 2019-11-29
JP7129422B2 (ja) 2022-09-01
JP2020502593A (ja) 2020-01-23
US10403279B2 (en) 2019-09-03
WO2018119138A1 (en) 2018-06-28

Similar Documents

Publication Publication Date Title
KR102501601B1 (ko) 저-전력, 상시-청취, 음성-커맨드 검출 및 캡처
US10535365B2 (en) Analog voice activity detection
US20140358552A1 (en) Low-power voice gate for device wake-up
US10824391B2 (en) Audio user interface apparatus and method
US9406313B2 (en) Adaptive microphone sampling rate techniques
US9775113B2 (en) Voice wakeup detecting device with digital microphone and associated method
US9959865B2 (en) Information processing method with voice recognition
TW201519222A (zh) 聲音活動偵測裝置和方法
TWI474317B (zh) 訊號處理裝置以及訊號處理方法
CN105261368B (zh) 一种语音唤醒方法及装置
US9613626B2 (en) Audio device for recognizing key phrases and method thereof
EP2973548B1 (en) Apparatus and method for power efficient signal conditioning for a voice recognition system
JP2020502593A5 (ja) 音声コマンドを検出及びキャプチャするシステムと方法
KR20140031790A (ko) 잡음 환경에서 강인한 음성 구간 검출 방법 및 장치
US10115399B2 (en) Audio classifier that includes analog signal voice activity detection and digital signal voice activity detection
US10332543B1 (en) Systems and methods for capturing noise for pattern recognition processing
JP5375423B2 (ja) 音声認識システム、音声認識方法および音声認識プログラム
CN110310635B (zh) 语音处理电路及电子设备
CN106409312B (zh) 音频分类器
CN116830191A (zh) 基于热词属性调配自动语音识别参数

Legal Events

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