KR20220151660A - 노이즈에 강건한 키워드 스포팅을 위한 캐스케이드 아키텍처 - Google Patents

노이즈에 강건한 키워드 스포팅을 위한 캐스케이드 아키텍처 Download PDF

Info

Publication number
KR20220151660A
KR20220151660A KR1020227034668A KR20227034668A KR20220151660A KR 20220151660 A KR20220151660 A KR 20220151660A KR 1020227034668 A KR1020227034668 A KR 1020227034668A KR 20227034668 A KR20227034668 A KR 20227034668A KR 20220151660 A KR20220151660 A KR 20220151660A
Authority
KR
South Korea
Prior art keywords
channel
audio
hotword
processor
stage
Prior art date
Application number
KR1020227034668A
Other languages
English (en)
Inventor
이텅 황
알렉산더 에이치. 그루엔슈타인
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20220151660A publication Critical patent/KR20220151660A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • G10L15/05Word boundary detection
    • 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
    • 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
    • G10L15/10Speech classification or search using distance or distortion measures between unknown speech and reference templates
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • 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
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • G10L2021/02161Number of inputs available containing the signal or the noise to be suppressed
    • G10L2021/02166Microphone arrays; Beamforming

Abstract

방법(400)은 사용자 디바이스(102)의 제1 프로세서(110)에서, 마이크로폰(107) 어레이에 의해 캡처된 스트리밍 다중-채널 오디오(118)를 수신하는 단계를 포함하며, 각 채널(119)은 개별 오디오 특징을 포함한다. 각각의 채널에 대해, 방법은 또한 제1 프로세서(110)에 의해, 제1단 핫워드 검출기(210)를 사용하여, 핫워드가 검출되는지 여부를 결정하기 위해 개별 오디오 특징을 처리하는 단계를 포함한다. 제1단 핫워드 검출기가 핫워드를 검출할 때, 방법은 또한 제1 노이즈 클리닝 알고리즘(250)을 사용하여, 클린 모노포닉 오디오 촘프(260)를 생성하기 위해 제1 프로세서가 촘프된 원시 오디오 데이터를 처리하는 제2 프로세서에 촘프된 원시 오디오 데이터(212)를 제공하는 단계를 포함한다. 방법은 또한 제2 프로세서에 의해 제2단 핫워드 검출기(220)를 사용하여, 핫워드를 검출하기 위해 클린 모노포닉 오디오 촘프를 처리하는 단계를 포함한다.

Description

노이즈에 강건한 키워드 스포팅을 위한 캐스케이드 아키텍처
본 개시는 노이즈에 강건한 키워드 스포팅(spotting: 검출)을 위한 캐스케이드 아키텍처에 관한 것이다.
음성 지원 환경(예를 들어, 가정, 직장, 학교, 자동차 등)은 사용자가 질의 또는 커맨드를 컴퓨터 기반 시스템에 소리내어 말하여 질의를 입력하고 응답하며 및/또는 커맨드에 기초하여 기능을 수행할 수 있게 한다. 음성 지원 환경은 환경의 다양한 방 또는 영역에 분산된 연결형 마이크로폰 디바이스의 네트워크를 사용하여 구현될 수 있다. 이러한 디바이스는 핫워드를 사용하여 환경에 있는 다른 개인을 대상으로 하는 발언과 달리 주어진 발언이 시스템을 대상으로 하는 때를 식별하는데 도움을 줄 수 있다. 따라서, 디바이스는 수면 상태 또는 최대 절전 모드 상태에서 동작할 수 있고 검출된 발언에 핫워드가 포함된 경우에만 깨어날 수 있다. 이러한 디바이스에는 다중 채널 오디오를 녹음하기 위한 2개 이상의 마이크로폰이 포함될 수 있다. 신경망은 최근 스트리밍 오디오에서 사용자에 의해 발화된 핫워드를 검출하는 트레이닝 모델을 위한 매력적인 솔루션으로 부상했다. 일반적으로, 스트리밍 오디오에서 핫워드를 검출하는데 사용되는 신경망은 단일 채널의 스트리밍 오디오를 수신한다.
본 개시의 일 양태는 캐스케이드 핫워드 검출 아키텍처에서 노이즈에 강건한 키워드/핫워드 스포팅(검출)을 위한 방법을 제공한다. 방법은 사용자 디바이스의 제1 프로세서에서, 제1 프로세서와 통신하는 마이크로폰 어레이에 의해 캡처된 스트리밍 다중-채널 오디오를 수신하는 단계를 포함하고, 스트리밍 다중-채널 오디오의 각 채널은 마이크로폰 어레이 내의 별도의 전용 마이크로폰에 의해 캡처된 개별 오디오 특징을 포함한다. 방법은 또한 제1 프로세서에 의해, 제1단 핫워드 검출기를 사용하여, 핫워드가 스트리밍 다중-채널 오디오에서 제1단 핫워드 검출기에 의해 검출되는지 여부를 결정하기 위해 스트리밍 다중-채널 오디오의 적어도 하나의 채널의 개별 오디오 특징을 처리하는 단계를 포함한다. 방법은 제1단 핫워드 검출기가 스트리밍 다중-채널 오디오에서 핫워드를 검출하는 경우, 제1 프로세서에 의해, 촘프된(chomped, 잘린) 다중-채널 원시 오디오 데이터를 사용자 디바이스의 제2 프로세서에 제공하는 단계를 더 포함하고, 촘프된 다중-채널 원시 오디오 데이터의 각 채널은 스트리밍 다중-채널 오디오의 각 채널에 대응하고 스트리밍 다중-채널 오디오의 개별 채널로부터 촘프된 개별 원시 오디오 데이터를 포함한다. 방법은 또한 제2 프로세서에 의해, 제1 노이즈 클리닝 알고리즘을 사용하여, 클린 모노포닉(monophonic) 오디오 촘프를 생성하기 위해 상기 촘프된 다중-채널 원시 오디오 데이터의 각 채널을 처리하는 단계와, 그리고 제2단 핫워드 검출기를 사용하여, 핫워드가 클린 모노포닉 오디오 촘프에서 제2단 핫워드 검출기에 의해 검출되는지 여부를 결정하기 위해 클린 모노포닉 오디오 촘프를 처리하는 단계를 포함한다. 핫 워드가 클린 모노포닉 오디오 촘프에서 제2단 핫워드 검출기에 의해 검출되는 경우, 방법은 제2 프로세서에 의해, 스트리밍 다중-채널 오디오에서 핫워드 및/또는 그 핫워드 다음에 오는 하나 이상의 다른 용어를 처리하기 위해 사용자 디바이스에서 웨이크-업 프로세스를 개시하는 단계를 포함한다.
본 개시의 구현은 다음의 선택적 특징들 중 하나 이상을 포함할 수 있다. 일부 구현에서, 촘프된 다중-채널 원시 오디오 데이터의 각 채널의 개별 원시 오디오 데이터는 스트리밍 다중-채널 오디오에서 제1단 핫워드 검출기에 의해 검출된 핫워드를 특징짓는 오디오 세그먼트를 포함한다. 이러한 구현에서, 촘프된 다중-채널 원시 오디오 데이터의 각 채널의 개별 원시 오디오 데이터는 제1단 핫워드 검출기가 스트리밍 다중-채널 오디오에서 핫워드를 검출하는 시점 바로 직전의 오디오 지속 시간을 포함하는 프리픽스(prefix) 세그먼트를 더 포함한다.
일부 예에서, 제2 프로세서(120)는 스트리밍 다중-채널 오디오가 제1 프로세서에서 수신되고 스트리밍 다중-채널 오디오의 적어도 하나의 채널의 개별 오디오 특징이 제1 프로세서에 의해 처리될 때 슬립(수면) 모드에서 동작한다. 이러한 예에서, 촘프된 다중-채널 오디오 원시 데이터를 제2 프로세서에 제공하는 단계는 슬립 모드에서 핫워드 검출 모드로 전환하도록 제2 프로세서를 호출한다. 핫워드 검출 모드에 있는 동안, 제2 프로세서는 제1 노이즈 클리닝 알고리즘과 제2단 핫워드 검출기를 실행할 수 있다.
일부 구현에서, 방법은 클린 모노포닉 오디오 촘프를 병렬로 처리하는 동안 제2 프로세서에 의해, 제2단 핫워드 검출기를 사용하여, 핫워드가 개별 원시 오디오 데이터에서 제2단 핫워드 검출기에 의해 검출되는지 여부를 결정하기 위해 상기 촘프된 다중-채널 원시 오디오 데이터의 한 채널의 개별 원시 오디오 데이터를 처리하는 단계를 더 포함한다. 여기서 핫워드가 클린 모노포닉 오디오 촘프 또는 개별 원시 오디오 데이터 중 하나에서 제2단 핫워드 검출기에 의해 검출되는 경우, 방법은 제2 프로세서에 의해, 스트리밍 다중-채널 오디오에서 핫워드 및/또는 그 핫워드 다음에 오는 하나 이상의 다른 용어를 처리하기 위해 사용자 디바이스에서 웨이크-업 프로세스를 개시하는 단계를 포함한다. 이러한 구현에서, 방법은 핫워드가 클린 모노포닉 오디오 촘프 또는 개별 원시 오디오 데이터 중 어느 하나에서 제2단 핫워드 검출기에 의해 검출되지 않는 경우, 제2 프로세서에 의해, 사용자 디바이스ㅇ에서 웨이크-업 프로세스의 개시를 방지하는 단계를 더 포함할 수 있다.
일부 예에서, 핫워드가 스트리밍 다중-채널 오디오에서 제1단 핫워드에 의해 검출되는지 여부를 결정하기 위해 스트리밍 다중-채널 오디오의 적어도 하나의 채널의 개별 오디오 특징을 처리하는 단계는 개별 오디오 특징으로부터 노이즈를 제거하지 않고 스트리밍 다중-채널 오디오의 하나의 채널의 개별 오디오 특징을 처리하는 단계를 포함한다. 일부 구현에서, 방법은 제1 프로세서에 의해, 다중-채널 교차 상관 매트릭스를 생성하기 위해 스트리밍 다중-채널 오디오의 각 채널의 개별 오디오 특징을 처리하는 단계를 포함한다. 제1단 핫워드 검출기가 스트리밍 다중-채널 오디오에서 핫워드를 검출하는 경우, 이 구현은 스트리밍 다중-채널 오디오의 각 채널에 대해, 제1 프로세서에 의해, 다중-채널 교차 상관 매트릭스를 사용하여, 스트리밍 다중-채널 오디오의 각각의 채널의 개별 오디오 특징으로부터 개별 원시 오디오 데어터를 촘프하는 단계와, 그리고 제1 프로세서에 의해, 다중-채널 교차 상관 매트릭스를 제2 프로세서에 제공하는 단계를 더 포함한다. 이러한 구현에서, 클린 모노포닉 오디오 촘프를 생성하기 위해 촘프된 다중-채널 원시 오디오 데이터의 각 채널을 처리하는 단계는, 제1 프로세서로부터 제공된 다중-채널 교차 상관 매트릭스를 사용하여, 제1 노이즈 클리닝 알고리즘에 대한 클리너 필터 계수를 계산하는 단계와; 그리고 계산된 클리너 필터 계수를 갖는 제1 노이즈 클리닝 알고리즘에 의해, 클린 모노포닉 오디오 촘프를 생성하기 위해 제1 프로세서에 의해 제공된 상기 촘프된 다중-채널 원시 오디오 데이터의 각 채널을 처리하는 단계를 포함한다. 이러한 구현에서, 핫워드가 스트리밍 다중-채널 오디오에서 제1단 핫워드 검출기에 의해 검출되는지 여부를 결정하기 위해 스트리밍 다중-채널 오디오의 적어도 하나의 채널의 개별 오디오 특징을 처리하는 단계는, 다중-채널 교차 상관 매트릭스를 사용하여, 제1 프로세서에서 실행되는 제2 노이즈 클리닝 알고리즘에 대한 클리너 계수를 계산하는 단계와, 처리되는 동안, 계산된 필터 계수를 갖는 제2 노이즈 클리닝 알고리즘에 의해, 모노포닉 클린 오디오 스트림을 생성하기 위해 스트리밍 다중-채널 오디오의 각 채널을 처리하는 단계를 포함할 수 있다. 이러한 구현에서, 방법은 제1단 핫워드 검출기를 사용하여, 모노포닉 클린 오디오 스트림을 처리하여 핫워드가 스트리밍 다중-채널 오디오에서 제1단 핫워드 검출기에 의해 검출되는지 여부를 결정하는 단계를 더 포함한다. 제1 노이즈 클리닝 알고리즘은 촘프된 다중-채널 원시 오디오 데이터의 각 채널에 제1 필터 길이를 포함하는 제1 유한 임펄스 응답(FIR)을 적용하여 촘프된 모노포닉 클린 오디오 데이터를 생성하고, 제2 노이즈 클리닝 알고리즘은 스트리밍 다중-채널 오디오의 각 채널에 제2 필터 길이를 포함하는 제2 FIR을 적용하여 모노포닉 클린 오디오 스트림을 생성할 수 있으며, 제2 필터 길이는 제1 필터 길이보다 짧다.
일부 예에서, 제1 프로세서는 디지털 신호 프로세서를 포함하고, 제2 프로세서는 시스템 온 칩(SoC) 프로세서를 포함한다. 추가적인 예에서, 사용자 디바이스는 재충전 가능한 유한 전원을 포함하고, 유한 전원은 제1 프로세서 및 제2 프로세서에 전력을 공급한다.
본 개시의 다른 양태는 캐스케이드 아키텍처에서 노이즈에 강건한 키워드 스포팅을 위한 시스템을 제공한다. 시스템은 제1 프로세서 및 제2 프로세서를 포함하는 데이터 처리 하드웨어와, 그리고 데이터 처리 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 메모리 하드웨어는 데이터 처리 하드웨어에 의해 실행될 때 데이터 처리 하드웨어로 하여금 동작들을 수행하게 하는 명령들을 저장하고, 동작들은 사용자 디바이스의 제1 프로세서에서, 제1 프로세서와 통신하는 마이크로폰 어레이에 의해 캡처된 스트리밍 다중-채널 오디오를 수신하는 동작을 포함하고, 스트리밍 다중-채널 오디오의 각 채널은 마이크로폰 어레이 내의 별도의 전용 마이크로폰에 의해 캡처된 개별 오디오 특징을 포함한다. 동작들은 또한 제1 프로세서에 의해, 제1단 핫워드 검출기를 사용하여, 핫워드가 스트리밍 다중-채널 오디오에서 제1단 핫워드 검출기에 의해 검출되는지 여부를 결정하기 위해 스트리밍 다중-채널 오디오의 적어도 하나의 채널의 개별 오디오 특징을 처리하는 동작을 포함한다. 동작들은 제1단 핫워드 검출기가 스트리밍 다중-채널 오디오에서 핫워드를 검출하는 경우, 제1 프로세서에 의해, 촘프된 다중-채널 원시 오디오 데이터를 제2 프로세서에 제공하는 동작을 더 포함하고, 상기 촘프된 다중-채널 원시 오디오 데이터의 각 채널은 스트리밍 다중-채널 오디오의 각 채널에 대응하고 스트리밍 다중-채널 오디오의 개별 채널로부터 촘프된 개별 원시 오디오 데이터를 포함한다. 동작들은 제2 프로세서에 의해, 제1 노이즈 클리닝 알고리즘을 사용하여, 클린 모노포닉 오디오 촘프(260)를 생성하기 위해 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널을 처리하는 동작과; 그리고 제2단 핫워드 검출기를 사용하여, 핫워드가 클린 모노포닉 오디오 촘프에서 제2단 핫워드 검출기에 의해 검출되는지 여부를 결정하기 위해 클린 모노포닉 오디오 촘프를 처리하는 동작을 더 포함한다. 핫 워드가 클린 모노포닉 오디오 촘프에서 제2단 핫워드 검출기에 의해 검출되는 경우, 동작들은 제2 프로세서에 의해, 스트리밍 다중-채널 오디오에서 핫워드 및/또는 그 핫워드 다음에 오는 하나 이상의 다른 용어를 처리하기 위해 사용자 디바이스에서 웨이크-업 프로세스를 개시하는 동작을 포함한다.
본 개시의 구현은 다음의 선택적인 특징들 중 하나 이상을 포함할 수 있다. 일부 구현에서, 촘프된 다중-채널 원시 오디오 데이터의 각 채널의 개별 원시 오디오 데이터는 스트리밍 다중-채널 오디오에서 제1단 핫워드 검출기에 의해 검출된 핫워드를 특징짓는 오디오 세그먼트를 포함한다. 이러한 구현에서, 촘프된 다중-채널 원시 오디오 데이터의 각 채널의 개별 원시 오디오 데이터는 제1단 핫워드 검출기가 스트리밍 다중-채널 오디오에서 핫워드를 검출하는 시점 바로 직전의 오디오 지속 시간을 포함하는 프리픽스 세그먼트를 더 포함한다.
일부 예에서, 제2 프로세서는 스트리밍 다중-채널 오디오가 제1 프로세서에서 수신되고 스트리밍 다중-채널 오디오의 적어도 하나의 채널의 개별 오디오 특징이 제1 프로세서에 의해 처리될 때 슬립 모드에서 동작한다. 이러한 예에서, 촘프된 다중-채널 오디오 원시 데이터를 제2 프로세서에 제공하는 동작은 슬립 모드에서 핫워드 검출 모드로 전환하도록 제2 프로세서를 호출한다. 핫워드 검출 모드에 있는 동안, 제2 프로세서는 제1 노이즈 클리닝 알고리즘과 제2단 핫워드 검출기를 실행할 수 있다.
일부 구현에서, 동작들은 클린 모노포닉 오디오 촘프를 병렬로 처리하는 동안 제2 프로세서에 의해, 제2단 핫워드 검출기를 사용하여, 핫워드가 개별 원시 오디오 데이터에서 제2단 핫워드 검출기에 의해 검출되는지 여부를 결정하기 위해 상기 촘프된 다중-채널 원시 오디오 데이터의 하나의 채널의 개별 원시 오디오 데이터를 처리하는 동작을 더 포함한다. 핫워드가 클린 모노포닉 오디오 촘프 또는 개별 원시 오디오 데이터 중 하나에서 제2단 핫워드 검출기에 의해 검출되는 경우, 동작들은 제2 프로세서에 의해, 스트리밍 다중-채널 오디오에서 핫워드 및/또는 그 핫워드 다음에 오는 하나 이상의 다른 용어를 처리하기 위해 사용자 디바이스에서 웨이크-업 프로세스를 개시하는 동작을 포함한다. 이러한 구현에서, 동작들은 핫워드가 클린 모노포닉 오디오 촘프 또는 개별 원시 오디오 데이터 중 어느 하나에서 제2단 핫워드 검출기에 의해 검출되지 않는 경우, 제2 프로세서에 의해, 사용자 디바이스에서 웨이크-업 프로세스의 개시를 방지하는 동작을 더 포함할 수 있다.
일부 예에서, 핫워드가 스트리밍 다중-채널 오디오에서 제1단 핫워드 검출기에 의해 검출되는지 여부를 결정하기 위해 스트리밍 다중-채널 오디오의 적어도 하나의 채널의 개별 오디오 특징을 처리하는 동작은 개별 오디오 특징으로부터 노이즈를 제거하지 않고 스트리밍 다중-채널 오디오의 하나의 채널의 개별 오디오 특징을 처리하는 동작을 포함한다. 일부 구현에서, 동작들은 제1 프로세서에 의해, 다중-채널 교차 상관 매트릭스를 생성하기 위해 스트리밍 다중-채널 오디오의 각 채널의 개별 오디오 특징을 처리하는 동작을 더 포함한다. 제1단 핫워드 검출기가 스트리밍 다중-채널 오디오에서 핫워드를 검출하는 경우, 동작들은 스트리밍 다중-채널 오디오의 각 채널에 대해, 제1 프로세서에 의해, 다중-채널 교차 상관 매트릭스를 사용하여, 스트리밍 다중-채널 오디오의 각각의 채널의 개별 오디오 특징을 촘프하는 동작과; 그리고 제1 프로세서에 의해, 다중-채널 교차 상관 매트릭스를 제2 프로세서에 제공하는 동작을 더 포함한다. 이러한 구현에서, 클린 모노포닉 오디오 촘프를 생성하기 위해 촘프된 다중-채널 원시 오디오 데이터의 각 채널을 처리하는 동작은, 제1 프로세서로부터 제공된 다중-채널 교차 상관 매트릭스를 사용하여, 제1 노이즈 클리닝 알고리즘에 대한 클리너 필터 계수를 계산하는 동작과; 그리고 계산된 클리너 필터 계수를 갖는 제1 노이즈 클리닝 알고리즘에 의해, 클린 모노포닉 오디오 촘프를 생성하기 위해 제1 프로세서에 의해 제공된 상기 촘프된 다중-채널 원시 오디오 데이터의 각 채널을 처리하는 동작을 포함한다. 이러한 구현에서, 핫워드가 스트리밍 다중-채널 오디오에서 제1단 핫워드 검출기에 의해 검출되는지 여부를 결정하기 위해 스트리밍 다중-채널 오디오의 적어도 하나의 채널의 개별 오디오 특징을 처리하는 동작은, 다중-채널 교차 상관 매트릭스를 사용하여, 제1 프로세서에서 실행되는 제2 노이즈 클리닝 알고리즘에 대한 클리너 계수를 계산하는 동작과; 처리하는 동안 계산된 필터 계수를 갖는 제2 노이즈 클리닝 알고리즘에 의해, 모노포닉 클린 오디오 스트림을 생성하기 위해 스트리밍 다중-채널 오디오의 각 채널을 처리하는 동작을 포함한다. 이러한 구현에서, 동작들은 제1단 핫워드 검출기를 사용하여, 핫워드가 스트리밍 다중-채널 오디오에서 제1단 핫워드 검출기에 의해 검출되는지 여부를 결정하기 위해 모노포닉 클린 오디오 스트림을 처리하는 동작을 더 포함한다. 제1 노이즈 클리닝 알고리즘은 촘프된 다중-채널 원시 오디오 데이터의 각 채널에 제1 필터 길이를 포함하는 제1 유한 임펄스 응답(FIR)을 적용하여 촘프된 모노포닉 클린 오디오 데이터를 생성하고, 제2 노이즈 클리닝 알고리즘은 스트리밍 다중-채널 오디오의 각 채널에 제2 필터 길이를 포함하는 제2 FIR을 적용하여 모노포닉 클린 오디오 스트림을 생성할 수 있다. 여기서, 제2 필터 길이는 제1 필터 길이보다 짧다.
일부 예에서, 제1 프로세서는 디지털 신호 프로세서를 포함하고 제2 프로세서는 시스템 온 칩(SoC) 프로세서를 포함한다. 추가적인 예에서, 사용자 디바이스는 재충전가능한 유한 전원을 포함하고, 유한 전원은 제1 프로세서 및 제2 프로세서에 전력을 공급한다.
본 개시의 하나 이상의 구현의 세부 사항은 첨부 도면 및 아래의 설명에 기재되어 있다. 다른 측면, 특징 및 이점은 설명 및 도면, 그리고 청구범위로부터 명백할 것이다.
도 1은 노이즈에 강건한 키워드 스포팅을 위한 캐스케이드 핫워드 검출 아키텍처를 포함하는 예시적인 시스템의 개략도이다.
도 2a-2c는 예시적인 캐스케이드 핫워드 검출 아키텍처의 개략도이다.
도 3은도 2b 및 2c의 캐스케이드 검출 아키텍처에 대한 클리너 태스크 분할의 개략도이다.
도 4는 노이즈에 강건한 캐스케이드 핫워드 검출 아키텍처를 사용하여 다중 채널 오디오를 스트리밍할 때 핫워드를 검출하는 방법에 대한 예시적인 동작 배열의 흐름도이다.
도 5는 본 명세서에 설명된 시스템 및 방법을 구현하는데 사용될 수 있는 예제 컴퓨팅 디바이스의 개략도이다.
다양한 도면에서 참조 부호는 동일한 요소를 나타낸다.
음성 지원(voice-enabled) 디바이스(예를 들어, 음성 어시스턴트를 실행하는 사용자 디바이스)는 사용자가 질의 또는 커맨드를 소리내어 말하여 그 질의를 입력하고 응답하며 및/또는 커멘트에 기초하여 기능을 수행할 수 있도록 한다. 음성 지원 디바이스에 대한 주의를 환기시키기 위해 말하는 시전 결정된 용어/문구를 예약하는 "핫워드"("키워드", "주의 단어", "웨이크-업 문구/단어", "트리거 문구", "호출 문구" 또는 "음성 액션 시작 명령"이라고도 함)의 사용을 통해, 음성 지원 디바이스는 시스템을 대상으로 한 발언(즉, 발언에서 핫워드 다음에 오는 하나 이상의 용어를 처리하기 위한 웨이크-업 프로세스를 개시하기 위해)과 환경 내의 개인을 대상으로 한 발언을 식별할 수 있다. 일반적으로, 음성 지원 디바이스는 수면 상태에서 작동하여 배터리 전원을 절약하고 입력 오디오 데이터가 발화된 핫워드 다음에 오지 않는 한 입력 오디오 데이터를 처리하지 않는다. 예를 들어, 수면 상태에 있는 동안, 음성 지원 디바이스는 다수의 마이크로폰를 통해 스트리밍 입력 오디오를 캡처하고 트레이닝된 핫워드 검출기를 사용하여 입력 오디오에서 핫워드의 존재를 검출한다. 입력 오디오에서 핫워드가 검출되면, 음성 지원 디바이스는 입력 오디오에서 핫워드 및/또는 그 핫워드 다음에 오는 임의의 기타 용어를 처리하기 위한 웨이크-업 프로세스를 시작한다.
핫워드 검출은 핫워드 검출기가 스트리밍 오디오를 지속적으로 듣고 스트리밍 오디오에서 핫워드의 존재가 검출될 때 정확하고 즉각적으로 트리거해야하기 때문에 건초 더미에서 바늘을 찾는 것과 유사하다. 다시 말해, 핫워드 검출기는 핫워드의 존재가 검출되지 않는 한 스트리밍 오디오를 무시하는 작업을 수행한다. 신경망은 일반적으로 핫워드 감지기에 의해 사용되어 연속적인 오디오 스트림에서 핫워드의 존재를 검출하는 복잡성을 해결한다.
사용자 디바이스(예를 들어, 컴퓨팅 디바이스), 특히 특히 충전식 유한 전원(예를 들어, 배터리)으로 구동되는 스마트 폰, 태블릿, 스마트 워치 및 스마트 헤드폰과 같은 모바일 사용자 디바이스는 일반적으로 배터리 수명이 제한되고 계산 용량이 제한된 임베디드 시스템이다. 즉, 배터리 구동 디바이스가 음성 지원 애플리케이션(예를 들어, 디지털 어시스턴트)에 대한 액세스를 제공할 때, 에너지 자원은 디바이스가 음성 지원 애플리케이션을 호출하기 위한 핫워드 신호의 검출을 위해 지속적으로 오디오 데이터 및/또는 기타 데이터를 처리하는 경우 더 제한 될 수 있다. 배터리로 구동되는 음성 지원 사용자 디바이스에 디바이스 시스템 온 칩(SOC)(예를 들어, 애플리케이션 프로세서(AP))이 포함된 경우, 디바이스 SOC는 사용자가 음성을 통해 사용자 디바이스와 상호 작용할 때 다른 서브 시스템(예를 들어, 네트워크 프로세서, 디지털 신호 프로세서(DSP) 등)에 비해 상당한 양의 에너지를 소비할 수 있다.
음성 지원 사용자 디바이스에 대한 하나의 설계 목표는 핫워드를 정확하게 검출하기 위한 노이즈 강건성을 확보하는 것이다. 2개 이상의 마이크로폰을 포함하는 사용자 디바이스의 경우, 통계적 음성 향상 알고리즘은 다중- 미크로폰 노이즈 신호에 대해 작동하여 향상된 신호 대 잡은 비율(SNR)로 모노포닉(monophonic) 오디오 스트림을 생성할 수 있다. 이와 같이, 2개 이상의 마이크로폰를 포함하는 사용자 디바이스는 통계적 음성 향상 알고리즘을 사용하는 핫워드 클리너(정리) 알고리즘을 사용하여 SNR을 개선함으로써 노이즈 환경에서 핫워드 검출 정확도를 높일 수 있다. 일반적으로, 사용자 디바이스는 핫워드 클리너 알고리즘을 사용하여 깨끗한(clean) 모노포닉 오디오 스트림을 획득하여, 동일한 모델을 사용하지만 2개의 상이한 입력인 원시 마이크로폰 신호와 클린 모노포닉 오디오 스트림에 대해 독립적으로 두 브랜치(branch, 분기)에서 핫워드 검출을 수행하는 병렬 핫워드 검출 아키텍처를 사용할 것이다. 여기서, 핫워드가 검출되었는지 여부를 나타내는 두 브랜치에 의해 만들어진 이진 예/아니오 결정은 논리적 OR 연산과 결합된다. 병렬 핫워드 검출 아키텍처와 함께 핫워드 클리너 알고리즘을 사용하면 깨끗하고 시끄러운 음향 환경 모두에서 희생되지 않은 핫워드 검출 정확도를 제공하지만, 병렬 핫워드 검출 아키텍처는 일반적으로 배터리 구동 디바이스(예를 들어, 모바일 디바이스)에서 사용하기에 적합하지 않은데, 그 이유는 병렬 핫워드 검출이 배터리 수명을 빠르게 고갈시키는 증가된 전력 소비를 필요로 하는 큰 계산 부하를 사용하기 때문이다.
배터리로 구동되는 사용자 디바이스에 의해 사용되는 핫워드 검출기는 핫워드를 어느 정도 정확하게 감지할 뿐만 아니라 낮은 대기 시간, 작은 메모리 공간(footprint), 가벼운 계산 부하라는 상충되는 목적을 달성해야 하는 핫워드 검출 알고리즘을 구현해야 한다. 이러한 목적을 달성하기 위해, 사용자 디바이스는 2개의 핫워드 검출기, 즉 제1단(first-stage) 핫워드 검출기와 제22단 핫워드 검출기를 포함하는 캐스케이드 핫워드 검출 아키텍처를 사용할 수 있다. 여기서, 제1단 핫워드 검출기는 특수 DSP(예를 들어, 제1 프로세서)에 상주하고, 작은 모델 크기를 포함하며, 핫워드 후보들에 대한 입력 오디오 스트림을 대략적으로 스크리닝(screening)하는데 계산적으로 효율적이다. 제1단 핫워드 검출기에 의한 입력 오디오 스트림에서의 핫워드 후보의 검출은 핫워드를 안전하게 포함하기에 적합한 지속 시간의 오디오 데이터의 작은 버퍼/초프를 디바이스 SoC 상에서 상주/실행되는 제2단 핫워드 검출기에 전달/제공하도록 DSP를 트리거한다. 그런 다음, 디바이스 SOC(예를 들어, 메인 AP)의 제2단 핫워드 검출기는 더 큰 모델 크기를 포함하고 핫워드의 보다 정확한 검출을 제공하기 위해 제11단 핫워드 검출기보다 더 많은 계산 출력을 제공하므로 입력 오디오 스트림이 실제로 핫워드를 포함하는지 여부를 결정하기 위한 최종 중재자 역할을 한다. 이 캐스케이드 아키텍처는 DSP상에서 구동/실행되는 제1단 핫워드 검출기가 스트리밍 입력 오디오에서 후보 핫워드를 검출할 때까지 더 많은 전력을 소비하는 디바이스 SoC가 슬립 모드에서 작동하도록 하여 배터리 수명을 보존할 수 있다. 후보 핫워드가 검출된 경우에만 DSP가 슬립 모드로부터 제2단 핫워드 검출기를 실행하기 위한 핫워드 검출 모드로 전환하도록 디바이스 SOC를 트리거한다. 2개 이상의 마이크로폰을 갖는 사용자 디바이스에 상주하는 이러한 기존의 핫워드 검출 캐스케이드 아키텍처는 핫워드 검출 정확도를 높이기 위한 노이즈 견고성(예를 들어, 적응형 노이즈 제거)을 획득하기 위해 2개 이상의 마이크로폰으로부터 스트리밍 다중-채널 오디오 입력을 활용하지 않는다.
본 명세서의 구현은 음성 지원 사용자 디바이스에서 핫워드 검출을 위한 캐스케이드 아키텍처에 핫워드 클리닝 알고리즘을 통합하는 것에 관한 것이다. 일부 예에서, 음성 지원 사용자 디바이스는 제한된 배터리 수명 및 제한된 계산 용량에 의해 제약을 받는 배터리 구동식 사용자 디바이스(예를 들어, 모바일 디바이스)이다. 명백해지는 바와 같이, 사용자 디바이스의 DSP(즉, 제1 프로세서)와 사용자 디바이스의 애플리케이션 프로세서(AP)(즉, 제2 프로세서)에 클리너를 사용하여 핫워드 검출을 위한 워크로드(작업 부하)를 분할 및 할당함으로써 전력 소비, 대기 시간 및 노이즈 강건성을 공동으로 최적화하기 위한 다양한 아키텍처가 개시되어 있다.
도 1을 참조하면, 일부 구현에서, 예시적인 시스템(100)은 개별 사용자(10)와 관련된 하나 이상의 사용자 디바이스들(102)을 포함한다. 하나 이상의 사용자 디바이스(102) 각각은 모바일 폰, 컴퓨터, 웨어러블 디바이스, 스마트 기기, 오디오 인포테인먼트 시스템, 스마트 스피커 등과 같은 컴퓨팅 디바이스에 대응할 수 있고, 메모리 하드웨어(105) 및 제1 프로세서(110)(예를 들어, 디지털 신호 프로세서(DSP))와 제2 프로세서(120)(예를 들어, 애플리케이션 프로세서(AP))를 집합적으로 포함하는 데이터 처리 하드웨어가 장착되어 있다. 제1 프로세서(110)는 제2 프로세서(120)가 동작하면서 소모하는 전력보다 동작하는 동안 더 적은 전력을 소모한다. 본 명세서에서 사용된 바와 같이, 제1 프로세서(110)는 DSP로 상호 교환가능하게 지칭될 수 있고, 제2 프로세서(120)는 "AP" 또는 "디바이스 SoC"로 상호 교환 가능하게 지칭될 수 있다. 제1 및 제2 프로세서(110, 120)는 전력 소비, 대기 시간 및 노이즈 강건성을 최적화하는 방식으로 스트리밍 다중 채널 오디오(118)에서 핫워드의 존재를 협력적으로 검출하기 위해 제1단 핫워드 검출기(210)가 제1 프로세서(110)에서 실행되고 제2단 핫워드 검출기(220)가 제2 프로세서(120)에서 실행되는 캐스케이드 핫워드 검출 아키텍처(200)를 제공한다. 다중-채널 스트리밍 오디오(118)는 오디오의 2개 이상의 채널(119, 119a-n)을 포함한다.
일반적으로, 제1단 핫워드 검출기(210)은 특수 DSP(110)에 상주하고, 제2단 핫워드 검출기(220)와 관련된 모델보다 더 작은 모델 크기를 포함하며, 핫워드 후보에 대한 입력 스트리밍 다중-채널 오디오(118)를 대략적으로 스크리닝하는데 계산상 효율적이다. 따라서, 특수 DSP(110)(예를 들어, 제1 프로세서)는 "상시-온(always-on)"일 수 있으므로 제1단 핫워드 검출기(210)는 항상 실행되어 다중-채널 오디오(118)에서 핫워드 후보를 대략적으로(coarsely) 스크리닝하는 반면, 메인 AP(120)(예를 들어, 제2 프로세서)를 포함하는 사용자 디바이스(102)의 다른 컴포넌트는 디바이스(102)는 배터리 수명을 보존하기 위해 수면 상태/모드에 있다. 반면에, 제2단 핫워드 검출기(220)는 메인 AP(120)에 상주하고, 제1단 핫워드 검출기(210)에 의해 초기에 검출된 핫워드의 보다 정확한 검출을 제공하기 위해 제1단 핫워드 검출기(210)보다 더 큰 모델 크기를 포함하고 더 많은 계산 출력을 제공한다. 따라서, 제2단 핫워드 검출기(220)는 핫워드가 오디오(118)에 존재하는지 여부를 결정하는데 더 엄격할 수 있다. DSP(110)가 "상시-온" 상태인 동안, 더 많은 전력을 소비하는 메인 AP(120)는 DSP(110)에 있는 제1단 핫워드 검출기(210)가 스트리밍 다중-채널 오디오(118)에서 후보 핫워드를 검출할 때까지 배터리 수명을 보존하기 위해 슬립 모드에서 동작한다. 따라서, 후보 핫워드가 검출된 경우에만, DSP(110)는 메인 AP(120)가 슬립 모드로부터 제2단 핫워드 검출기(220)를 실행하기 위한 핫워드 검출 모드로 전환하도록 트리거한다.
도시된 예에서, 사용자(10)가 핫워드(예를 들어, "Hey Google")를 포함하는 발언(104)을 말할 때, 이 발언(104)은 사용자 디바이스(102)에 의해 다중-채널 스트리밍 오디오(118)로서 캡처된다. 사용자 디바이스(102)에 상주하는 캐스케이드 핫워드 검출 아키텍처(200)는 발언(104)에서 핫워드의 존재를 검출하여 그 핫워드 및/또는 발언(104)에서 핫워드 다음에 오는 하나 이상의 용어(예를 들어, 질의 또는 커맨드)를 처리하기 위해 사용자 디바이스(102)상의 웨이크-업 프로세스를 개시/트리거하도록 구성된다. 예를 들어, 웨이크-업 프로세스는 사용자 디바이스(102)가 핫워드 및/또는 그 핫워드 다음에 오는 하나 이상의 용어를 인식(예를 들어, 전사)하기 위한 자동 음성 인식(ASR) 시스템을 국부적으로 실행하는 것을 포함하거나, 또는 웨이크-업 프로세스는 사용자 디바이스(102)가 핫워드 및/또는 하나 이상의 다른 용어를 포함하는 오디오 데이터를 오디오 데이터에 대한 음성 인식을 수행하기 위한 ASR 시스템을 포함하는 원격 컴퓨팅 디바이스(예를 들어, 서버 또는 클라우드 컴퓨팅 환경)로 전송하는 것을 포함할 수 있다.
하나 이상의 사용자 디바이스(102)는 사용자(10)로부터의 발언(104)을 캡처하기 위해 2개 이상의 마이크로폰(107, 107a-n)을 포함할 수 있다(또는 이와 통신할 수 있다). 각각의 마이크로폰(107)은 다중-채널 스트리밍 오디오(118)의 별도의 전용 채널(119)에 발언(104)를 별도로 녹음할 수 있다. 예를 들어, 사용자 디바이스(102)는 발언(104)을 각각 녹음하는 2개의 마이크로폰(107)을 포함할 수 있고, 2개의 마이크로폰으로부터의 녹음은 2-채널 스트리밍 오디오(118)(즉, 스테레오 오디오 또는 스테레오)로 결합될 수 있다. 일부 예에서, 사용자 디바이스(102)는 2개보다 많은 마이크로폰을 포함한다. 즉, 2개 이상의 마이크로폰이 사용자 디바이스(102)에 상주한다. 추가적으로 또는 대안적으로, 사용자 디바이스(102)는 사용자 디바이스(102)로부터 분리된/원격인 2개 이상의 마이크로폰과 통신할 수 있다. 예를 들어, 사용자 디바이스는 차량 내에 배치되고 차량의 2개 이상의 마이크로폰과 유선 또는 무선 통신(예를 들어, 블루투스)되는 모바일 디바이스일 수 있다. 일부 구성에서, 사용자 디바이스(102)는 별도의 디바이스에 상주하는 적어도 하나의 마이크로폰(107)과 통신한다. 이러한 구성에서, 사용자 디바이스(102)는 또한 사용자 디바이스(102)에 상주하는 하나 이상의 마이크로폰(107)과 통신할 수 있다.
다중-채널 스트리밍 오디오(118)가 수신되면, 상시-온 DSP(110)는 스트리밍 다중-채널 오디오(118)의 적어도 하나의 채널(119)의 개별 오디오 특징에서 핫워드가 검출되는지 여부를 결정하기 위해 제1단 핫워드 검출기(210)를 실행/구동한다. 일부 예에서, 제1단 핫워드 검출기(210)는 스트리밍 다중-채널 오디오(118)의 단일 채널(119)로부터 개별 오디오 특징 내의 핫워드의 존재를 나타내는 확률 스코어를 계산한다. 일부 예에서, 개별 오디오 특징의 확률 스코어가 핫워드 임계값을 충족한다는 결정(예를 들어, 확률 스코어가 핫워드 임계값이상일 때)은 핫워드가 스트리밍 다중-채널 오디오(118)내에 존재한다는 것을 나타낸다. 특히, AP(120)는 다중-채널 오디오가 DSP(110)에서 수신되고 그 DSP(110)가 스트리밍 다중-채널 오디오(118)의 적어도 하나의 채널(119)의 개별 오디오 특징을 처리하는 동안 슬립 모드에서 동작할 수 있다. 일부 예에서, DSP(110)에 의한 개별 오디오 특징의 "처리"는 스트리밍 다중-채널 오디오(118)의 각 채널(119)의 개별 오디오 특징을 처리하여 모노포닉 클린 오디오 스트림(255)을 생성하는 클리너(250)를 실행하는 것, 및 이어서 후보 핫워드가 모노포닉 클린 오디오 스트림(255)에서 검출되는지 여부를 결정하기 위해 제1단 핫워드 검출기(210)를 실행/구동하는 것을 포함한다. 아래에서 더 상세히 설명되는 바와 같이, 클리너(250)는 노이즈 클리닝 알고리즘을 사용하여 다중-채널 노이즈 오디오에 적응형 노이즈 제거를 제공한다. 다른 예에서, DSP(110)에 의한 개별 오디오 특징의 "처리"는 클리너(250)의 사용을 생략하고, 단순히 개별 오디오 특징으로부터 노이즈를 제거하지 않고 스트리밍 다중-채널 오디오(118)의 하나의 채널(119)의 개별 오디오 특징을 처리하는 것을 포함한다. 이러한 예에서, 개별 오디오 특징이 처리되는 채널(119)은 임의로 선택될 수 있다.
제1단 핫워드 검출기(210)가 스트리밍 다중-채널 오디오(118)에서 핫워드를 검출하면, DSP(110)는 다중-채널 원시 오디오 데이터(212, 212a-n)를 AP(120)에 제공한다. 일부 예에서, 다중-채널 원시 오디오 데이터(212)를 AP(120)에 제공하는 DSP(110)는 슬립 모드로부터 핫워드 검출 모드로 전환하기 위해 AP(120)를 트리거/호출한다. 선택적으로, DSP(110)는 슬립 모드로부터 핫워드 검출 모드로 전환하기 위해 AP(120)를 트리거/호출하는 다른 신호 또는 명령을 제공할 수 있다. 촘프된(chomped: 잘린) 다중-채널 원시 오디오 데이터(212a-n)의 각 채널은 스트리밍 다중-채널 오디오(118)의 개별 채널(119a-n)에 해당하고, 스트리밍 다중-채널 오디오(118)의 각 채널(119)의 개별 오디오 특징으로부터 촘프된 원시 오디오 데이터를 포함한다. 일부 구현에서, 다중-채널 원시 오디오 데이터(212)의 각 채널은 스트리밍 다중-채널 오디오(118)에서 제1단 핫워드 검출기(210)에 의해 검출된 핫워드를 특성화하는 오디오 세그먼트를 포함한다. 즉, 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널과 관련된 오디오 세그먼트는 검출된 핫워드를 안전하게 포함하기에 충분한 지속 시간을 포함한다. 추가적으로, 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널은 제1단 핫워드 검출기(210)가 스트리밍 다중-채널 오디오(118)에서 핫워드를 검출한 시점 직전의 오디오 지속 시간을 포함하는 프리픽스(prefix: 접두어) 세그먼트(214)를 포함한다. 촘프된 다중-채널 원시 오디오 데이터(212)에 대한 각 채널의 일부는 또한 검출된 핫워드를 포함하는 오디오 세그먼트(213)에 후속하는 오디오의 지속 시간을 포함하는 서픽스(suffix: 접미어) 세그먼트를 포함할 수 있다.
일단 핫워드 검출 모드로 동작하면, AP(120)는 2개 이상의 마이크로폰(107)으로부터 입력된 스트리밍 다중-채널 오디오(118)를 활용하여, 핫워드 검출 정확도를 증가시키기 위한 노이즈 강건성(예를 들어, 적응형 노이즈 제거)을 획득하기 위해 클리너(250)를 실행/구동한다. 구체적으로, 클리너(250)는 AP(120)가 클린 모노포닉 오디오 촘프(260)를 생성하기 위해 상기 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널을 처리하는데 사용하는 제1 노이즈 클리닝 알고리즘을 포함한다. 중요하게도, 클리너(250)는 적응형 노이즈 제거를 충분히 적용하기 위해 상기 검출된 핫워드 직전에 버퍼링된 오디오 샘플의 프리픽스 세그먼트(214)를 포함하도록 상기 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널을 요구한다. 프리픽스 세그먼트(214)의 길이는 아키텍처가 클리너(250)를 포함하지 않는 구성에서보다 클리너(250)가 사용될 때 더 길어야 한다. 예를 들어, 프리픽스 세그먼트(214)의 길이는 클리너 없이는 약 2초만 있으면 된다. 일반적으로, 더 긴 프리픽스 세그먼트(214)(예를 들어, 버퍼링된 오디오 샘플의 더 긴 지속 시간)은 제2단 핫워드 검출기(220)가 궁극적으로 핫워드의 실시간 검출을 따라잡기 위해 프리픽스 세그먼트(214)를 처리하기 때문에 클리너(250)의 성능을 증가시키는 동시에 레이턴시(latency: 대기시간)도 증가시킨다. 따라서, 캐스케이드 핫워드 검출 아키텍처(200)는 레이턴시와 클린 성능의 균형을 맞추는 프리픽스 세그먼트(214)의 길이를 선택할 수 있다. 다음으로, AP(120)는 제2단 핫워드 검출기(220)를 실행하여 클린 모노포닉 오디오 촘프(260)를 처리하여, 핫워드가 클린 모노포닉 오디오 촘프(chomp)(260)에 존재하는지 여부를 결정한다.
제2단 핫워드 검출기(220)에서 핫워드가 검출되면, AP(120)는 스트리밍 다중-채널 오디오(118)에서 핫워드 및/또는 그 핫워드 다음에 오는 하나 이상의 다른 용어를 처리하기 위해 사용자 디바이스(102)에서 웨이크-업 프로세스를 시작한다. 제1단 핫워드 검출기(210)와 마찬가지로, 제2단 핫워드 검출기(220)는 개별 클린 모노포닉 오디오 촘프(260) 또는 개별 원시 오디오 데이터(212)와 관련된 확률 스코어가 확률 스코어 임계값을 만족할 때 핫워드의 존재를 검출할 수 있다. 제2단 핫워드 검출기(220)에 의해 사용되는 확률 스코어 임계값의 값은 제1단 핫워드 검출기(210)에 의해 사용되는 확률 스코어 임계값의 값과 동일하거나 상이할 수 있다.
위에서 언급한 바와 같이, DSP(110)는 제1단 핫워드 검출기(210)의 핫워드 검출 정확도를 증가시키기 위한 노이즈 강건성(예를 들어, 적응형 노이즈 소거)을 획득하기 위해 제1단 핫워드 검출기(210)를 실행하기 전에 제2 노이즈 클리닝 알고리즘을 실행하는 클리너(250)를 사용할 수 있다. 제1 및 제2 노이즈 클리닝 알고리즘에 대한 필터 모델은 동일할 수 있지만, 제2 노이즈 클리닝 알고리즘은 DSP(110)가 AP(120)의 연산 능력보다 더 낮은 연산 능력을 포함하기 때문에 더 짧은 길이(예를 들어, 더 적은 필터링 파라미터)를 포함할 수 있다. 따라서, DSP(110)에 의해 사용되는 클리너(250)는 AP(120)에 의해 사용되는 클리너에 비해 일부 성능(예: 신호 대 잡음비(SNR) 성능)을 희생하지만 여전히 제1단 핫워드 검출기(210)의 정확도를 개선하기 위해 적절한 노이즈 강건성을 제공한다.
AP(120)는 핫워드가 제2단 핫워드 검출기(220)에 의해 검출되는지 여부를 결정하기 위해 촘프된 다중-채널 원시 오디오 데이터(212)의 한 채널의 개별 원시 오디오 데이터(212a)를 처리하는 것과 병렬로 클린 모노포닉 오디오 촘프(260)를 처리할 수 있다. 여기서, 제2단 핫워드 검출기(220)가 클린 모노포닉 오디오 촘프(260) 또는 개별 원시 오디오 데이터(212a)에서 핫워드를 검출할 때, AP는 스트리밍 다중-채널 오디오(118)에서 핫워드 및/또는 그 핫워드 다음에 오는 하나 이상의 다른 용어를 처리하기 위해 사용자 디바이스(102)에서 웨이크-업 프로세스를 개시/트리거한다. 제2단 핫워드 검출기(220)가 클린 모노포닉 오디오 촘프(260) 또는 개별 원시 오디오 데이터(212a)에서 핫워드를 검출하지 않으면, AP(120)는 사용자 디바이스(102)에서 웨이크-업 프로세스를 방지한다. 웨이크-업 프로세스는 사용자 디바이스(102)가 핫워드 및/또는 하나 이상의 다른 용어에 대해 국부적으로 음성 인식을 수행하는 것을 포함할 수 있거나, 웨이크-업 프로세스는 사용자 디바이스(102)가 음성 인식을 수행하기 위해 핫워드 및/또는 하나 이상의 용어를 포함하는 오디오 데이터를 원격 서버로 전송하는 것을 포함할 수 있다. 일부 예에서, 사용자 디바이스(102)는 핫워드가 존재하는지 검증(확인)하기 위해 AP(120)에 의해 검출된 핫워드를 포함하는 오디오 데이터를 송신할 수 있고, 따라서 제3단 핫워드 검출기 역할을 할 수 있다.
도 2a 내지 도 2c는 발언(104)에서 핫워드의 존재를 검출하기 위해 도 1의 사용자 디바이스(102) 상에 상주할 수 있는 캐스케이드 핫워드 검출 아키텍처(200, 200a-c)의 예를 도시한다. 도 2a를 참조하면, 예시적인 캐스케이드 아키텍처(200a)는 제1단 핫워드 검출기(210)가 임의의 노이즈 클리닝 알고리즘으로부터 이익을 얻지 않도록 제2단 핫워드 검출기(220)에 의한 사용을 위해 AP(120)에 상주하는 단일 클리너(250, 250a)만을 포함한다.
도시된 예에서, 단순화를 위해, 스트리밍 다중-채널 오디오(118)는 2개의 마이크로폰(107) 어레이에서 별도의 전용 마이크로폰(107a-b)에 의해 캡처된 개별 오디오 특징을 각각 포함하는 2개의 채널(119a, 119b)을 포함한다. 그러나, 스트리밍 다중-채널 오디오(118)는 본 개시의 범위를 벗어나지 않고 2개보다 많은 채널을 포함할 수 있다.
도 2a는 제1단 핫워드 검출기(210) 및 오디오 촘퍼(chomper)(215)를 포함/실행하는 상시-온 DSP(110)(예를 들어, 제1 프로세서)를 도시한다. 제1단 핫워드 검출기(210)는 스트리밍 다중-채널 오디오(118)의 단일 채널(119a)로부터 오디오 특징만을 입력으로 수신하며, 제1단 핫워드 검출기(210)에 의해 수신된 채널(119a)은 임의적일 수 있다. 여기서, DSP(110)는 채널(119a)의 개별 오디오 특징을 처리하기 위해 제1단 핫워드 검출기(210)를 사용/실행하여 핫워드가 스트리밍 다중-채널 오디오(118)에서 제1단 핫워드 검출기(210)에 의해 검출되는지 여부를 결정한다. 제1단 핫워드 검출기(210)는 스트리밍 다중-채널 오디오(118)의 단일 채널(119a)로부터의 개별 오디오 특징에서 핫워드의 존재를 나타내는 확률 스코어를 계산할 수 있다. 일부 예에서, 개별 오디오 특징의 확률 스코어가 핫워드 임계값을 충족한다는 결정(예를 들어, 확률 스코어가 핫워드 임계값이상일 때)은 핫워드가 스트리밍 다중-채널 오디오(118)에 존재한다는 것을 나타낸다. .
제1단 핫워드 검출기(210)가 스트리밍 다중-채널 오디오(118)(예를 들어, 제1 채널(119a)에서)에서 핫워드를 검출할 때, DSP(110)는 촘프된 다중-채널 원시 오디오 데이터(212, 212a-b)를 생성하고 AP(120)에 제공하기 위해 오디오 촘퍼(215)를 트리거/파이어(fire)한다. 여기서, 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널은 스트리밍 다중-채널 오디오(118)의 개별 채널(119a-b)에 해당하고, 제1단 핫워드 검출기(210)에 의해 검출된 핫워드를 포함하는 개별 채널(119a-b)로부터 촘프된 개별 원시 오디오 데이터를 포함한다. DSP(110)로부터 AP(120)로의 촘프된 다중-채널 원시 오디오 데이터(212)의 제공은 AP(120)가 클리너 엔진(250a) 및 제2단 핫워드 검출기(220) 상에서 제1 노이즈 클리닝 알고리즘을 실행하는 슬립 모드로부터 핫워드 검출 모드로 전환하기 위해 AP(120)를 호출할 수 있다. 특히, 도 2a의 캐스케이드 핫워드 검출 아키텍처(200a)에서, DSP(110)는 스트리밍 다중-채널 오디오(118)에 대해 노이즈 클리닝 알고리즘을 사용하지 않으므로, 제1단 핫워드 검출기(210)는 핫워드의 존재가 단일 채널(119a)의 노이즈가 있는 개별 오디오 특징에서 검출되는지 여부를 결정할 때 적응형 노이즈 제거의 이익을 얻지 못한다. 다시 말해서, 스트리밍 다중-채널 오디오(118)의 하나의 채널(119a)의 개별 오디오를 처리하는 것은 개별 오디오 특징으로부터 노이즈을 제거하지 않고 발생한다.
도 2a의 캐스케이드 핫워드 검출 아키텍처(200a)에서, 전체 클리너(250)는 클린 모노포닉 오디오 촘프(260)를 생성하기 위해 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널을 처리하기 위해 제1 노이즈 클리닝 알고리즘을 사용하는 클리너 엔진(250a)으로서 AP(220)에서 실행한다. 도 3을 참조하여 아래에 더 상세히 설명되는 바와 같이, 클리너 엔진(250a)에 의해 수행되는 클리닝 동작들은 상대적으로 계산적으로 복잡하고 클리닝 알고리즘이 적용되지 않은 경우 촘프에 있는 프리픽스 세그먼트의 지속 기간보다 긴 지속 시간의 프리픽스 세그먼트(214)를 촘프된 다중-채널 원시 오디오 데이터(212a, 212b)의 각 채널에 포함하도록 요구한다. 예를 들어, 클리닝 알고리즘이 AP(120)에서 적용되지 않아 원시 오디오 데이터 촘프만이 제2단 핫워드 검출기(220)로 전달되는 경우, 각 촘프의 프리픽스 세그먼트(214)는 약 2초의 지속 시간을 포함할 수 있다. 그러나, 클리닝 엔진(250a)이 다중-채널 원시 오디오 데이터(212)의 각 채널을 처리하기 위해 사용되는 경우, 클리닝 엔진(250a)은 클린 모노포닉 오디오 촘프(260)를 생성하기 위한 효과적인 노이즈 제거 필터를 추정하기 위해 노이즈만을 포함하는 핫워드 이전의 오디오 지속 시간을 볼 필요가 있다. 따라서, 클리닝 엔진(250a)의 성능(예를 들어, SNR)은 검출된 핫워드를 포함하는 오디오 세그먼트(213) 이전에 노이즈가 있는 오디오를 포함하는 프리픽스 세그먼트(214)의 지속 시간을 더 길게 증가시킨다. 그러나, 더 긴 프리픽스 세그먼트(214)는 다중-채널 원시 오디오 데이터(212)에서 더 긴 프리픽스 세그먼트(214)를 처리해야 하는 클리닝 엔진(250a) 및 제2단 핫워드 검출기(220)로 인해 레이턴시 비용을 증가시킨다. 이러한 증가된 레이턴시는 오디오 세그먼트(213)에 포함된 핫워드의 실시간 검출을 따라잡기 위해 더 긴 프리픽스 세그먼트(214)를 처리할 필요가 있는 제2단 핫워드 검출기(220)로 인한 것이다. 일 예에서, DSP의 오디오 촘퍼(215)는 더 깨끗한 성능과 레이턴시의 균형을 맞추기 위해 약 3.5초와 동일한 지속 시간/길이를 갖는 프리픽스 세그먼트(214)를 생성한다. 촘프된 다중-채널 원시 오디오 데이터(212)에 대한 각 채널의 일부는 또한 검출된 핫워드를 포함하는 오디오 세그먼트(213)에 후속하는 오디오의 지속 시간을 포함하는 서픽스 세그먼트를 포함할 수 있다.
핫워드 검출 모드에 있는 동안, AP(120) 상에서 실행되는 제2단 핫워드 검출기(220)는 클린 모노포닉 오디오 촘프(260)에서 핫워드가 검출되는지 여부를 결정하기 위해 클리너 엔진(250a)으로부터 출력된 클린 모노포닉 오디오 촘프(260)를 처리하도록 구성된다. 일부 예에서, 제2단 핫워드 검출기(220)는 동일한 모델을 사용하지만 2개의 상이한 입력, 즉 촘프된 다중-채널 원시 오디오 데이터(212)의 한 채널의 개별 원시 오디오 데이터(212a), 및 클린 모노포닉 오디오 촘프(260)에 대해 독립적으로 두 개의 브랜치(분기)(220a, 220b)에서 핫워드 검출을 수행하는 병렬 핫워드 검출 아키텍처에 대응한다. 제2단 핫워드 검출기(220)의 제2 브랜치(220b)에 대한 입력으로서 제공되는 개별 원시 오디오 데이터(212a)와 관련된 채널은 임의적일 수 있다. 따라서, AP(120)는 제2단 핫워드 검출기(220)의 제2 브랜치(220b)에서 상기 촘프된 다중-채널 원시 오디오 데이터(212)의 한 채널의 개별 원시 오디오 데이터(212a)를 처리하는 것과 병렬로 제2단 핫워드 검출기(220)의 제1 브랜치(220a)에서 클린 모노포닉 오디오 촘프(260)를 처리할 수 있다. 도시된 예에서, 논리 OR(270) 연산이 핫워드가 클린 모노포닉 오디오 촘프(260)(예를 들어, 제1 브랜치(220a)에서) 또는 개별 원시 오디오 데이터(212a)(예를 들어, 제2 브랜치(220b)에서) 중 하나에서 제2단 핫워드 검출기(220)에 의해 검출되었음을 나타내는 경우, AP120)는 스트리밍 다중-채널 오디오(118)에서 핫워드를 뒤따르는 핫워드 및/또는 하나 이상의 다른 용어를 처리하기 위해 사용자 디바이스(102)에서 웨이크-업 프로세스를 시작한다. 제1단 핫워드 검출기(210)와 마찬가지로, 제2단 핫워드 검출기(220)는 개별 클린 모노포닉 오디오 촘프(260) 또는 개별 원시 오디오 데이터(212)와 관련된 확률 스코어가 확률 스코어 임계값을 충족할 때 핫워드의 존재를 검출할 수 있다. 제2단 핫워드 검출기(220)에 의해 사용되는 확률 스코어 임계값은 제1단 핫워드 검출기(210)에 의해 사용되는 확률 스코어 임계값과 동일하거나 다른 값일 수 있다.
DSP(110)로부터 제공되는 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널의 프리픽스 세그먼트(214)의 길이를 최소화하여 이에 따라 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널을 처리할 때 클리너 엔진(250a)의 레이턴시를 줄여 클린 모노 오디오 촘프(260)를 생성하기 위해, 도 2b의 예시적인 캐스케이드 핫워드 아키텍처(200b)는 다중-마이크로폰 교차 상관(cross-correlation) 매트릭스(254)를 업데이트 및 버퍼링하는 작업을 수행하는 클리너 프론트엔드(252)를 실행하는 DSP(110)를 포함한다. 명백해지는 바와 같이, 클리너 프론트엔드(252)는 오디오 촘퍼(215)에서 촘핑하기 전에 스트리밍 다중-채널 원시 오디오 데이터(212)로부터 음향 특징을 추출하도록 구성되어, 다중 채널 전대역(full-band) 교차 상관 매트릭스 또는 다중 채널 서브대역 일관성(coherence) 매트릭스와 유사하게, 오디오가 잘려지는 지점까지 클리너 엔진(250a)에 의해 사용하기 위해 이러한 추출된 음향 특징을 추적한다. 여기서, 각각의 다중-마이크로폰 교차 상관 매트릭스(254)는 스트리밍 다중-채널 오디오(118)의 개별 오디오 특징 사이의 노이즈 제거에 대응한다. 도 2a의 캐스케이드 핫워드 검출 아키텍처(200a)와 대조적으로, AP(120)의 클리너 엔진(250a)은 더 이상 다중-마이크로폰 교차 상관 매트릭스(254)를 계산/생성하는 작업을 수행하지 않으며, 따라서, 이제 제1단 핫워드 검출기가 스트리밍 다중-채널 오디오(118)에서 핫워드를 검출한 시점 바로 직전에 더 짧은 오디오 지속 시간을 포함하는 접두어 세그먼트(214)를 사용하여 잘린 다중-채널 원시 오디오 데이터(212)를 처리할 수 있다. 예를 들어, 프리픽스 세그먼트(114)의 길이는 3.5초 미만(<)일 수 있다. 레이턴시는 AP(120)가 더 짧은 지속 시간의 프리픽스 세그먼트(214)를 갖는 원시 오디오 데이터(212)를 처리하도록 허용함으로써 본질적으로 개선된다. 도시된 예에서, 단순화를 위해, 스트리밍 다중-채널 오디오(118)는 2개의 마이크로폰(107) 어레이에서 별도의 전용 마이크로폰(107a-b)에 의해 캡처된 개별 오디오 특징을 포함하는 2개의 채널(119a, 119b)을 포함한다. 그러나, 스트리밍 다중-채널 오디오(118)는 본 개시의 범위를 벗어나지 않고 2개보다 많은 채널을 포함할 수 있다.
도 2b는 제1단 핫워드 검출기(210), 오디오 촘퍼(215), 및 클리너 프론트엔드(252)를 포함/실행하는 상시-온 DSP(110)(예를 들어, 제1 프로세서)를 도시한다. 제1단 핫워드 검출기(210)는 스트리밍 다중-채널 오디오(118)의 단일 채널(119a)로부터 오디오 특징만을 입력으로 수신하고, 여기서 오디오 특징의 채널(119a)은 임의적일 수 있다. 여기서, DSP(110)는 오디오 특징을 처리하도록 제1단 핫워드 검출기(210)를 사용/실행하여 스트리밍 다중-채널 오디오(118)에서 핫워드가 제1단 핫워드 검출기(210)에 의해 검출되는지 여부를 결정한다. 동시에, 오디오 촘퍼(215) 및 클리너 프론트엔드(252)는 스트리밍 다중-채널 오디오(118)의 각 채널(119a, 119b)의 개별 오디오 특징들 사이의 노이즈 제거 계산과 관련된 다중-채널 교차 상관 매트릭스(254)를 생성하도록 스트리밍 다중-채널 오디오(118)의 각 채널(119a, 119b)의 개별 오디오 특징을 수신한다. 보다 구체적으로, 클리너 프론트엔드(252)는 스트리밍 다중-채널 오디오(118)가 수신됨에 따라 다중-채널 교차 상관 매트릭스(254)를 연속적으로 계산/업데이트하고 버퍼링한다. 클리너 프론트엔드(252)는 사용자 디바이스(102)의 메모리 하드웨어(105)(도 1)에서 다중-채널 교차 상관 매트릭스(254)를 버퍼링할 수 있다.
도 3은 AP(120)가 핫워드 검출 모드에 있을 때 상시-온 DSP(110)에서 실행되는 클리너 프론트엔드(252) 및 AP(120)에서 실행되는 클리너 엔진(250a)에 의해 수행되는 예시적인 클리닝 서브태스크를 도시하는 개략도(300)를 도시한다. 클리너 프론트엔드(252)는 스트리밍 다중-채널 오디오(118)의 각 채널의 개별 오디오 특징을 STFT 스펙트럼으로 변환하도록 각각 구성된 단기 푸리에 변환(Short-time Fourier transform: STFT) 모듈(310, 310a-b)을 포함할 수 있으며, 이에 의해 변환된 개별 오디오 특징은 클리너 프론트엔드(252)의 매트릭스 컴퓨터(320) 및 클리너 엔진(250a)의 클리닝된 STFT 스펙트럼 컴퓨터(330)에 대한 입력으로서 제공된다.
클리너 프론트엔드(252)의 매트릭스 컴퓨터(320)는 각 채널(119a, 119b) 상의 변환된 개별 오디오 특징에 기초하여 다중-채널 교차 상관 매트릭스(254)를 연속적으로 계산/업데이트하고 버퍼링하도록 구성된다. 매트릭스 컴퓨터(320)는 매트릭스 버퍼(305)에 매트릭스(254)를 버퍼링할 수 있다. 매트릭스 버퍼(305)는 DSP(110)와 통신하고 사용자 디바이스(102)의 메모리 하드웨어(105)(도 1)에 상주할 수 있다. 제1단 핫워드 검출기(210)가 슬립 모드에서 핫워드 검출 모드로의 전환을 위해 AP(120)를 트리거/호출하기 위한 핫워드를 검출할 때, DSP(110)는 버퍼에 저장된 다중-채널 교차 상관 매트릭스(254)를 AP(120)의 클리너 엔진(250a)으로 전달할 수 있다. 보다 구체적으로, 클리너 엔진(250a)은 DSP(110)로부터 수신된 다중-채널 교차 상관 매트릭스(254)에 기초하여 제1 노이즈 클리닝 알고리즘에 대한 클리너 필터 계수(342)를 계산하도록 구성된 클리너 필터 계수 컴퓨터(340)를 포함한다. 여기서, 클리닝된 STFT 스펙트럼 컴퓨터(330)는 계산된 클리너 필터 계수(342)를 갖는 제1 노이즈 클리닝 알고리즘을 실행하는 노이즈 제거 필터에 대응하며, 이에 의해 클리닝된 STFT 스펙트럼 컴퓨터(330)의 STFT 출력(332)은 STFT 역 모듈(334)에 의해 변환되어 클린 모노포닉 오디오 촘프(260)를 생성한다. 일부 예에서, 세정된 STFT 스펙트럼 컴퓨터(330)는 유한 임펄스 응답(FIR) 필터를 포함한다.
다시 도 2b를 참조하면, 제1단 핫워드 검출기(210)는 스트리밍 다중-채널 오디오(118)의 단일 채널(119a)로부터 개별 오디오 특징에서 핫워드의 존재를 나타내는 확률 스코어를 계산할 수 있다. 일부 예에서, 개별 오디오 특징들의 확률 스코어가 핫워드 임계값을 충족한다는 결정(예를 들어, 확률 스코어가 핫워드 임계값이상일 때)은 핫워드가 스트리밍 다중-채널 오디오(118)에 존재한다는 것을 나타낸다. 일부 구현에서, 제1단 핫워드 검출기(210)가 스트리밍 다중-채널 오디오(118)에서 핫워드를 검출할 때, DSP(110)는 스트리밍 다중-채널 오디오(118)의 각각의 개별(119a, 119b)의 개별 오디오 특징으로부터 개별 원시 오디오 데이터(212a, 212b)를 촘프하기 위해 클리너 프론트엔드(252)에 의해 버퍼(305)에 생성 및 저장된 다중-채널 교차 상관 매트릭스(254)를 사용하도록 오디오 쵸퍼(215)를 트리거/파이어한다. 그 후, 오디오 촘퍼(215)는 촘프된 다중-채널 원시 오디오 데이터(212)를 AP(120)의 클리너 엔진(250a)에 제공한다. 여기서, DSP(110)에서 AP(120)로의 촘프된된 다중-채널 원시 오디오 데이터(212)를 제공은 AP(120)를 호출/트리거하여 AP(120)가 슬립 모드로부터 제1 노이즈 클리닝 알고리즘(250a) 및 제2단 핫워드 검출기(220)를 실행하는 핫워드 검출 모드로 전환할 수 있다.
제1단 핫워드 검출기(210)에 의한 핫워드의 검출은 또한 DSP(110)가 다중-채널 교차 상관 매트릭스(254)를 AP(120)의 클리너 엔진(250a)에 제공하도록 클리너 프론트엔드(252)에 지시하게 한다. 여기서, 클리너 엔진(250a)은 다중-채널 교차 상관 매트릭스(254)를 사용하여 제1 노이즈 클리닝 알고리즘에 대한 클리너 필터 계수(342)를 계산한다. 그 후, 클리너 엔진(250a)은 계산된 클리너 계수(342)를 갖는 제1 노이즈 클리닝 알고리즘을 실행하여 오디오 촘퍼(215)로부터 제공되는 촘프된 다중-채널 오디오 데이터(212)의 각 채널을 처리하여 클린 모노포닉 오디오 촘프(260)를 생성한다.
핫워드 검출 모드에 있는 동안, AP(120)에서 실행되는 제2단 핫워드 검출기(220)는 클린 모노포닉 오디오 촘프(260)를 처리하여 클린 모노포닉 오디오 촘프(260)에서 핫워드가 검출되는지 여부를 결정하도록 구성된다. 일부 예에서, 제2단 핫워드 검출기(220)는 동일한 모델을 사용하지만 2개의 상이한 입력, 즉 다중-채널 원시 오디오 데이터(212)의 한 채널의 개별 원시 오디오 데이터(212a)와; 클린 모노포닉 오디오 촘프(260)에 대해 독립적으로 2개의 브랜치(220a, 220b)에서 핫워드 검출을 수행하는 병렬 핫워드 검출 아키텍처에 대응한다. 제2단 핫워드 검출기(220)의 제2 브랜치(220b)에 대한 입력으로서 제공되는 개별 원시 오디오 데이터(212a)와 관련된 채널은 임의적일 수 있다. 따라서, AP(120)는 제1단 핫워드 검출기(220)의 제1 브랜치(220a)에서 클린 모노포닉 오디오 촘프(260)를 처리할 수 있고, 동시에 제2단 핫워드 검출기(220)의 제2 브랜치(220b)에서 촘프된 다중-채널 원시 오디오 데이터(212)의 한 채널의 개별 원시 오디오 데이터(212a)를 처리할 수 있다. 도시된 예에서, 논리 OR(270) 연산이 핫워드가 클린 모노포닉 오디오 촘프(260)(예를 들어, 제1 브랜치(220a)에서) 또는 개별 원시 오디오 데이터(212a)(예를 들어, 제2 브랜치(220b)에서) 중 하나에서 제2단 핫워드 검출기(220)에 의해 검출되었음을 나타내는 경우, AP120)는 스트리밍 다중-채널 오디오(118)에서 핫워드를 뒤따르는 핫워드 및/또는 하나 이상의 다른 용어를 처리하기 위해 사용자 디바이스(102)에서 웨이크-업 프로세스를 개시한다. 제1단 핫워드 검출기(210)에서와 같이, 제2단 핫워드 검출기(220)는 개별 클린 모노포닉 오디오 촘프(260) 또는 개별 원시 오디오 데이터(212)와 관련된 확률 스코어가 확률 스코어 임계값을 충족할 때 핫워드의 존재를 검출할 수 있다. 제2단 핫워드 검출기(220)에 의해 사용되는 확률 스코어 임계값은 제1단 핫워드 검출기(210)에 의해 사용되는 확률 스코어 임계값과 동일하거나 다른 값일 수 있다.
일반적으로, 핫워드 검출 성능은 두 가지 오류율, 즉 거짓 수락율(False Accept Rate: FAR)(예를 들어, 핫워드를 부정확하게 검출) 및 거짓 거부율(False Reject Rate: FRR)(예를 들어, 현재 핫워드 검출 실패)로 측정된다. 따라서, 핫워드는 제1단 핫워드 검출기(210) 및 제2단 핫워드 검출기(220) 모두가 핫워드를 검출하는 경우에만 캐스케이드 핫워드 검출 아키텍처(200) 중 임의의 것에 의해 식별될 수 있다. 결과적으로, 캐스케이드 핫워드 검출 아키텍처(200a, 200b)의 전체 FAR은 제1단 핫워드 검출기(210) 및 제2단 핫워드 검출기(220)의 FAR 중 어느 하나보다 낮다. 추가적으로, 캐스케이드 핫워드 검출 아키텍처(200a, 200b)의 전체 FRR은 제1단 핫워드 검출기(210)의 FRR 및 제2단 핫워드 검출기(220)의 FRR 중 어느 하나보다 높다. 예를 들어, 제1단 핫워드 검출기(210)의 FRR을 낮게 유지하는 경우, 전체 FRR은 제2단 핫워드 검출기(220)의 FRR과 거의 동일할 것이다. 일부 예에서, 제1단 핫워드 검출기(210)의 FAR은 제2단 핫워드 검출기(220)가 AP(120)에 의한 전력 소비를 완화하기 위해 자주 트리거되지 않도록 합리적인 값으로 설정된다. 그러나, 도 2a 및 도 2b의 캐스케이드 핫워드 아키텍처(200a, 200b)에서. 제1단 핫워드 검출기(210)는 클리너(250)의 혜택을 받지 못하므로, 노이즈 환경에서 그들의 FRR은 제1단 핫워드 검출기(210)의 FAR이 더 높은 값으로 동조되더라도 높을 것이다. 따라서, 도 2a 내지 도 2c의 캐스케이드 핫워드 아키텍처(200a, 200b)는 DSP(110)에서 경량 클리너(250b)(예를 들어, 클리너 라이트)를 사용하는 도 2c의 캐스케이드 핫워드 검출 아키텍처(200c)보다 낮은 성능을 경험한다.
클린 환경과 노이즈 환경 모두에서 작은 풋프린트, 낮은 레이턴시 및 최대 정확도 사이의 최적의 밸런스를 달성하기 위해, 도 2c의 예시적인 캐스케이드 핫워드 검출 아키텍처(200c)는 제2 노이즈 클리닝 알고리즘을 실행하는 제1단 클리너(250b)(예를 들어, 클리너-라이트)를 사용하는 DSP(110)를 포함하여, 스트리밍 다중-채널 오디오(118)의 각 채널(119)의 개별 오디오 특징을 처리하고 후보 핫워드가 모노포닉 클린 오디오 스트림(255)에서 검출되는지 여부를 결정하기 위해 제1단 핫워드 검출기(210)를 실행/실행하기 전에 모노포닉 클린 오디오 스트림(255)을 생성한다. 다시 말해서, DSP(110)에 의해 채용된 클리너-라이트(250b)는 스트리밍 다중-채널 오디오(118)에 적응형 노이즈 제거를 제공하도록 제2 노이즈 클리닝 알고리즘을 실행하여 제1단 핫워드 검출기(210)에 입력된 결과적인 모노포닉 클린 오디오 스트림(255)이 도 2a 및 2b의 아키텍처(200a, 200b)에서 검출기(210)에 입력된 단일 채널(119)의 개별 원시 오디오 특징에 비해 개선된 SNR을 포함하도록 한다. 따라서, 제1단 핫워드 검출기(210)의 핫워드 검출 정확도는 단일 채널의 원시 오디오 특징에서 핫워드 후보를 대략적으로(coarsely) 스크리닝하는 것과 대조적으로, 제1 단계 핫워드 검출기(210)가 핫워드 후보에 대해 모노포닉 클린 오디오 스트림(255)을 대략적으로 스크리닝할 수 있을 때 증가한다.
제1 및 제2 노이즈 클리닝 알고리즘에 대한 필터 모델은 동일하거나 대안적으로 실질적으로 유사할 수 있지만, DSP(110)의 클리너-라이트(250b) 상에서 실행되는 제2 노이즈 클리닝 알고리즘은 DSP(110)가 AP(120)의 연산 능력보다 더 낮은 연산 능력을 포함하기 때문에, AP(120)의 클리너 엔진(250a)에서 실행되는 제1 노이즈 클리닝 알고리즘보다 더 짧은 길이(예를 들어, 더 적은 필터링 파라미터)를 포함할 수 있다. 예를 들어, 제1 노이즈 클리닝 알고리즘은 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널에 제1 유한 임펄스 응답(FIR)을 적용하여 클린 모노포닉 오디오 촘프(260)를 생성하는 반면, 제2 노이즈 클리닝 알고리즘은 스트리밍 다중-채널 오디오(118)의 각 채널(119)에 제2 FIR을 적용하여 모노포닉 클린 오디오 스트림(255)을 생성할 수 있다. 이 예에서, 클리너 엔진(250a)에서의 제1 FIR은 제1 필터 길이를 포함할 수 있고, 클리너-라이트(250b)에서의 제2 FIR은 제1 필터 길이보다 짧은 제2 필터 길이를 포함할 수 있다. 따라서, DSP(110)에 의해 사용되는 클리너-라이트(250b)는 AP(120)에 의해 사용되는 클리너 엔진(250a)에 비해 일부 성능(예를 들어, 신호 대 잡음비(SNR) 성능)을 희생하지만, 여전히 제1단 핫워드 검출기(210)의 정확도를 개선하기 위해 적절한 잡음 강건성을 제공한다.
도 2c는 클리너-라이트(250)(예를 들어, 클리너), 제1단 핫워드 검출기(210), 오디오 촘퍼(215), 및 클리너 프론트엔드(252)를 포함/실행하는 상시-온 DSP(110)(예를 들어, 제1 프로세서)를 도시한다. 클리너-라이트(250b)는 스트리밍 다중-채널 오디오(118)의 두 채널(119a, 119b)의 개별 오디오 특징을 입력으로서 수신하고 제2 노이즈 클리닝 알고리즘을 실행하여 스트리밍 다중-채널 오디오(118)의 각 채널(119a, 119b)로부터 모노포닉 클린 오디오 스트림(255)을 생성한다. 모노포닉 클린 오디오 스트림(255) 생성 시, DSP(110)는 모노포닉 클린 오디오 스트림(255)을 처리하도록 제1단 핫워드 검출기(210)를 사용/실행하여 핫워드가 모노포닉 클린 오디오 스트림(255)에서 제1단 핫워드 검출기(210)에 의해 검출되는지 여부를 결정한다. 선택적으로, DSP(110)가 계산 제한에 의해 제약을 받지 않는다는 조건하에, 제1단 핫워드 검출기(210)는 동일한 모델을 사용하지만 2개의 상이한 입력 즉, 스트리밍 다중-채널 오디오(118)의 한 채널(119a)의 개별 원시 오디오 특징, 및 모노포닉 클린 오디오 스트림(255)에 대해 독립적으로 2개의 브랜치에서 핫워드 검출을 수행하는 병렬 핫워드 검출 아키텍처에 해당할 수 있다. 이 선택적 구성에서, 핫워드가 제1단 핫워드 검출기(210)의 2개의 핫워드 검출 브랜치 중 하나에서 검출될 때 논리 및/또는 연산이 핫워드가 스트리밍 다중-채널 오디오(118)에 존재하는지를 결정하는데 사용될 수 있다.
클리너-라이트(250b)가 제2 노이즈 제거 알고리즘을 실행함과 동시에, 오디오 촘퍼(215) 및 클리너 프론트엔드(252)는 스트리밍 다중-채널 오디오(118)의 각 채널(119a, 119b)의 개별 오디오 특징을 수신하여 클리너 프론트엔드(252)가 스트리밍 다중-채널 오디오(118)의 각 채널(119a, 119b)의 개별 오디오 특징들 사이의 잡음 제거 계산과 관련된 다중-채널 교차 상관 매트릭스(254)를 생성하도록 한다. 보다 구체적으로, 도 2b 및 도 3을 참조하여 위에서 논의된 바와 같이, 클리너 프론트엔드(252)는 스트리밍 다중-채널 오디오(118)가 수신됨에 따라 다중-채널 교차 상관 매트릭스(254)를 연속적으로 계산/업데이트하고 버퍼링한다. 클리너 프론트엔드(252)는 도 3을 참조하여 위에서 논의된 바와 같이 사용자 디바이스(102)의 메모리 하드웨어(105)(도 1)에 다중-채널 교차 상관 매트릭스를(254)을 버퍼링할 수 있다.
제1단 핫워드 검출기(210)는 스트리밍 다중-채널 오디오(118)의 모노포닉 클린 오디오 스트림(255)에서 핫워드의 존재를 나타내는 확률 스코어를 계산할 수 있다. 일부 예에서, 모노포닉 클린 오디오 스트림(255)의 확률 스코어가 핫워드 임계값을 충족한다는 결정(예를 들어, 확률 스코어가 핫워드 임계값이상일 때)은 핫워드가 스트리밍 다중-채널 오디오(118)에 존재한다는 것을 나타낸다. 일부 구현에서, 제1단 핫워드 검출기(210)가 스트리밍 다중-채널 오디오(118)에서 핫워드를 검출할 때, DSP(110)는 오디오 촘퍼(215)를 트리거/파이어하여, 스트리밍 다중-채널 오디오(118)의 개별 채널(119a, 119b) 각각의 개별 오디오 특징으로부터 개별 원시 오디오 데이터(212a, 212b)를 촘핑하기 위해 클리너 프론트엔드(252)에 의해 버퍼(305)(도 3)에 생성 및 저장된 다중-채널 교차 상관 매트릭스(254)를 사용한다. 그 후, 오디오 촘퍼(215)는 촘프된 다중-채널 원시 오디오 데이터(212)를 AP(120)의 클리너 엔진(250a)에 제공한다. 여기서, DSP(110)로부터 AP(120)로의 촘프된 다중-채널 원시 오디오 데이터(212)의 제공은 AP(120)가 AP(120)를 호출/트리거하여 슬립 모드로부터 클리너 엔진(250a) 및 제2단 핫워드 검출기(220) 상에서 제1 노이즈 클리닝 알고리즘을 실행하는 핫워드 검출 모드로 전환할 수 있다.
제1단 핫워드 검출기(210)에 의한 핫워드의 검출은 또한 DSP(110)로 하여금 AP(120)의 클리너 엔진(250a)에 다중-채널 교차 상관 매트릭스(254)를 제공하도록 클리너 프론트엔드(252)에 지시하게 한다. 여기서, 클리너 엔진(250a)은 제1 노이즈 클리닝 알고리즘에 대한 클리너 필터 계수를 계산하기 위해 다중-채널 교차 상관 매트릭스(254)를 사용한다. 그 후, 클리너 엔진(250a)은 계산된 클리너 계수를 갖는 제1 노이즈 클리닝 알고리즘을 실행하여, 오디오 촘퍼(215)로부터 제공되는 촘프된 다중-채널 오디오 데이터(212)의 각 채널을 처리하여 클린 모노포닉 오디오 촘프(260)를 생성한다.
핫워드 검출 모드에 있는 동안, AP(120) 상에서 실행되는 제2단 핫워드 검출기(220)는 클린 모노포닉 오디오 촘프(260)를 처리하여 핫워드가 클린 모노포닉 오디오 촘프(260)에서 검출되는지 여부를 결정하도록 구성된다. 일부 예에서, 제2단 핫워드 검출기(220)는 동일한 모델을 사용하지만 두 개의 상이한 입력, 즉 촘프된 다중-채널 원시 오디오 데이터(212)의 한 채널의 개별 원시 오디오 데이터(212a), 및 클린 모노포닉 오디오 촘프(260)에 대해 독립적으로 2개의 브랜치(220a, 220b)에서 핫워드 검출을 수행하는 병렬 핫워드 검출 아키텍처에 대응한다. 제2단 핫워드 검출기(220)의 제2 브랜치(220b)에 대한 입력으로서 제공되는 개별 원시 오디오 데이터(212a)와 관련된 채널은 임의적일 수 있다. 따라서, AP(120)는 제2단 핫워드 검출기(220)의 제1 브랜치(220a)에서 클린 모노포닉 오디오 촘프(260)를 처리할 수 있고, 동시에 제2단 핫워드 검출기(220)의 제2 브랜치(220b)에서 상기 촘프된 다중-채널 원시 오디오 데이터(212)의 한 채널의 개별 원시 오디오 데이터(212a)를 처리할 수 있다. 도시된 예에서, 논리 OR(270) 연산이 핫워드가 클린 모노포닉 오디오 촘프(260)(예를 들어, 제1 브랜치(220a)에서) 또는 개별 원시 오디오 데이터(212a)(예를 들어, 제2 브랜치(220b)에서) 중 하나에서 제2단 핫워드 검출기(220)에 의해 검출되었음을 나타낼 때, AP(120)는 스트리밍 다중-채널 오디오(118)에서 핫워드를 뒤따르는 핫워드 및/또는 하나 이상의 다른 용어를 처리하기 위해 사용자 디바이스(102)에서 웨이크-업 프로세스를 개시한다. 제1단 핫워드 검출기(210)에서와 같이, 제2단 핫워드 검출기(220)는 개별 클린 모노포닉 오디오 촘프(260) 또는 개별 원시 오디오 데이터(212)와 관련된 확률 스코어가 확률 스코어 임계값을 충족할 때 핫워드의 존재를 검출할 수 있다. 제2단 핫워드 검출기(220)에 의해 사용되는 확률 스코어 임계값은 제1단 핫워드 검출기(210)에 의해 사용되는 확률 스코어 임계값과 동일하거나 다른 값일 수 있다.
일부 예에서, 제2단 핫워드 검출기(220)는 다중-채널 입력에서 핫워드를 검출하도록 트레이닝된 다중 채널 핫워드 모델을 활용한다. 이러한 예에서, 제2단 핫워드 검출기(220b)는 모든 촘프된 다중-채널 원시 오디오 데이터(212)를 수집하고 핫워드가 촘프된 다중-채널 원시 오디오 데이터(212)에서 검출되는지 여부를 결정하도록 구성된다. 유사하게, 이러한 예에서, 클리너 엔진(250a)은 제2단 핫워드 검출기(220)의 제1 브랜치(220a)에서 다중 채널 핫워드 모델이 클린 다중-채널 오디오 촘프(260)를 수집하도록 클린 모노포닉 오디오 촘프(260)를 다중 채널 출력으로 복제하도록 적응될 수 있다. 다중-채널 출력을 생성하는 경우 또는 그 대신에, 클리너 엔진(250a)은 클린 다중-채널 오디오 촘프(260)를 생성하기 위해 전체 촘프된 다중-채널 원시 오디오 데이터(212)를 수집하도록 적응될 수 있다. 다중 채널 핫워드 모델은 2020년 1월 15일에 출원된 국제 특허 출원 PCT/US20/13705에 개시된 바와 같이 '3차원(3D) SVDF(Single Value Decomposition Filter) 입력 계층 및 순차 적층된 SVDF 계층'을 갖는 암기(memorized) 신경망을 포함할 수 있으며, 그 내용 전체는 참고로 포함된다. 다른 예에서, 제2단 핫워드 검출기(220)는 트레이닝된 다중-채널 핫워드 모델을 활용하여 원시 다중-채널 원시 오디오 데이터(212) 및 클린 다중-채널 오디오 촘프(260) 모두에서 핫워드를 검출한다.
도 4는 노이즈에 강건한 캐스케이드 핫워드 검출 아키텍처(200)를 사용하여 스트리밍 다중-채널 오디오(118)에서 핫워드를 검출하는 방법(400)에 대한 동작들의 예시적인 배열의 흐름도이다. 동작(402)에서, 방법(400)은 사용자 디바이스(102)의 제1 프로세서(110)에서, 제1 프로세서(110)와 통신하는 마이크로폰(107) 어레이에 의해 캡처된 스트리밍 다중-채널 오디오(118)를 수신하는 단계를 포함한다. 여기서, 제1 프로세서(110)는 상시-온(always-on) DSP를 포함할 수 있다. 스트리밍 다중-채널 오디오의 각 채널(119)은 마이크로폰(107) 어레이내의 별도의 전용 마이크로폰(107)에 의해 캡처된 개별 오디오 특징을 포함한다.
동작(404)에서, 방법(400)은 제1 프로세서에 의해, 제1단 핫워드 검출기(210)를 사용하여, 핫워드가 제1단 핫워드 검출기(210)에 의해 검출되는지 여부를 결정하기 위해 스트리밍 다중-채널 오디오(118)의 적어도 하나의 채널의 개별 오디오 특징을 처리하는 단계를 포함한다. 제1단 핫워드 검출기(210)가 스트리밍 다중-채널 오디오(118)에서 핫워드를 검출하는 경우, 방법(400)은 동작(406)에서, 제1 프로세서(110)에 의해, 촘프된 다중-채널 원시 오디오 데이터(212)를 사용자 디바이스(102)의 제2 프로세서에 제공하는 단계를 포함한다. 촘프된 다중-채널 원시 오디오 데이터(212)는 스트리밍 다중-채널 오디오(118)의 개별 채널(119)에 대응하고 스트리밍 다중-채널 오디오(118)의 개별 채널(119)로부터 촘프된 개별 원시 오디오 데이터를 포함한다. 제2 프로세서(120)는 AP와 같은 디바이스 SoC를 포함할 수 있다. 제1단 핫워드 검출기(210)에서 핫워드를 검출하기 전에, 제2 프로세서(120)는 전력 및 계산 자원을 보존하기 위해 슬립 모드에서 동작할 수 있다. 제1단 핫워드 검출기(210)에서 핫워드를 검출하는 경우, 제1 프로세서(110)는 슬립 모드로부터 핫워드 검출 모드로 천이하도록 제2 프로세서(120)를 트리거/호출한다. 제1 프로세서(110)에서 제2 프로세서(120)로의 촘프된 다중-채널 원시 오디오 데이터(212)의 전달은 핫워드 검출 모드로 전환하기 위해 제2 프로세서(120)를 호출/트리거하기 위한 기초 역할을 할 수 있다. 따라서, 제1 프로세서(110)는 제1단 핫워드 검출기(210)가 스트리밍 다중-채널 오디오(118)에서 핫워드를 검출할 때 제2 프로세서를 슬립 모드로부터 핫워드 검출 모드로 전환하도록 구성된다. 핫워드는 하나 이상의 단어의 사전 결정된 용어 문구, 예를 들어 "Hey Google" 및/또는 애플리케이션을 초기화하는데 사용할 수 있는 임의의 다른 용어/문구일 수 있다. 핫워드는 일부 구성에서 커스텀 핫워드일 수 있다.
동작(408)에서, 방법(400)은 또한 제2 프로세서(120)에 의해, 제1 노이즈 클리닝 알고리즘(250)을 사용하여, 클린 모노포닉 오디오 촘프(260)를 생성하기 위해 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널을 처리하는 단계를 포함한다. 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널은 검출된 핫워드를 포함하는 개별 오디오 세그먼트(213) 및 검출된 핫워드 이전에 노이즈이 있는 오디오의 지속 시간을 포함하는 개별 프리픽스 세그먼트(214)를 포함한다. 프리픽스 세그먼트(214)는 클린 모노포닉 오디오 촘프(260)를 생성하기 위해 상기 검출된 핫워드에 선행하는 충분한 노이즈가 있는 오디오를 처리하기 위해 제1 노이즈 클리닝 알고리즘(250)에 충분한 지속 시간을 포함한다. 더 긴 지속 시간을 갖는 프리픽스 세그먼트(214)는 제1 노이즈 클리닝 알고리즘의 성능을 증가시키는 반면, 더 긴 프리픽스 세그먼트는 또한 레이턴시를 증가시키는 것과 동일하다. 따라서, 다중-채널 원시 오디오 데이터(212)의 각 채널의 개별 프리픽스 세그먼트(214)는 클리닝 성능 및 레이턴시를 최적화하는 지속 시간을 포함할 수 있다.
동작(410)에서, 방법(400)은 또한 제2 프로세서(120)에 의해, 제2단 핫워드 검출기(220)를 사용하여, 핫워드가 클린 모노포닉 오디오 촘프(260)에서 제2단 핫워드 검출기(220)에 의해 검출되는지 여부를 결정하기 위해 클린 모노포닉 오디오 촘프(260)를 처리하는 단계를 포함한다. 동작(412)에서, 핫워드가 클린 모노포닉 오디오 촘프(260)에서 제2단 핫워드 검출기(220)에 의해 검출되면, 방법(400)은 또한 제2 프로세서(120)에 의해, 스트리밍 다중-채널 오디오(118)에서 핫워드 및/또는 그 핫워드 다음에 오는 하나 이상의 다른 용어를 처리하기 위해 사용자 디바이스(102)에서 웨이크-업 프로세스를 개시하는 단계를 포함한다.
소프트웨어 애플리케이션(즉, 소프트웨어 리소스)은 컴퓨팅 디바이스가 작업을 수행하게 하는 컴퓨터 소프트웨어를 지칭할 수 있다. 일부 예에서, 소프트웨어 애플리케이션은 "애플리케이션", "앱" 또는 "프로그램"으로 지칭될 수 있다. 예시적인 애플리케이션에는 시스템 진단 애플리케이션, 시스템 관리 애플리케이션, 시스템 유지보수 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 메시징 애플리케이션, 미디어 스트리밍 애플리케이션, 소셜 네트워킹 애플리케이션 및 게임 애플리케이션이 포함되지만 이에 한정되지 않는다.
비-일시적 메모리는 컴퓨팅 디바이스에 의한 사용을 위해 임시 또는 영구적으로 프로그램(예를 들어, 명령 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는데 사용되는 물리적 디바이스일 수 있다. 비-일시적 메모리는 휘발성 및/또는 비-휘발성 어드레스 지정 가능 반도체 메모리일 수 있다. 비-휘발성 메모리의 예에는 플래시 메모리 및 판독 전용 메모리(ROM)/프로그래밍 가능 판독 전용 메모리(PROM)/소거 가능한 프로그래밍 가능 판독 전용 메모리(EPROM)/전자적으로 소거 가능한 프로그래밍 가능 판독 전용 메모리(EEPROM)(예를 들어, 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨)를 포함하지만 이에 한정되지 않는다. 휘발성 메모리의 예에는 RAM, DRAM, SRAM, PCM(Phase Change Memory) 및 디스크 또는 테이프가 포함되지만 이에 한정되지 않는다.
도 5는 본 문서에 설명된 시스템 및 방법을 구현하는데 사용될 수 있는 예시적인 컴퓨팅 디바이스(500)의 개략도이다. 컴퓨팅 디바이스(500)는 랩탑, 데스크탑, 워크스테이션, PDA, 서버, 블레이드 서버, 메인프레임 및 기타 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내도록 의도된다. 본 명세서에 도시된 컴포넌트, 이들의 연결 및 관계, 및 이들의 기능은 예시일 뿐이며, 본 문서에서 설명 및/또는 청구된 발명의 구현을 제한하려는 것은 아니다.
컴퓨팅 디바이스(500)는 프로세서(510), 메모리(520), 저장 디바이스(530), 메모리(520)와 고속 확장 포트(550)에 연결되는 고속 인터페이스/제어기(540), 및 저속 버스(570) 및 저장 디바이스(530)에 연결되는 저속 인터페이스/컨트롤러(560)를 포함한다. 각 컴포넌트(510, 520, 530, 540, 550, 560)는 다양한 버스를 사용하여 상호 연결되며, 공통 마더보드에 장착되거나 적절한 다른 방식으로 장착될 수 있다. 프로세서(510)는 고속 인터페이스(540)에 연결된 디스플레이(580)와 같은 외부 입/출력 디바이스 상의 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 디스플레이하기 위해 메모리(520) 또는 저장 디바이스(530)에 저장된 명령을 비롯하여 컴퓨팅 디바이스(500) 내에서 실행하기 위한 명령들을 처리할 수 있다. 다른 구현에서, 다중 프로세서 및/또는 다중 버스가 다중 메모리 및 메모리 유형과 함께 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스(500)가 연결될 수 있고, 각 디바이스는 (예를 들어, 서버 뱅크, 블레이드 서버 그룹, 또는 다중 프로세서 시스템으로서) 필요한 동작의 일부를 제공한다.
메모리(520)는 컴퓨팅 디바이스(500) 내에 비-일시적으로 정보를 저장한다. 메모리(520)는 컴퓨터 판독 가능 매체, 휘발성 메모리 유닛(들) 또는 비휘발성 메모리 유닛(들)일 수 있다. 비-일시적 메모리(520)는 컴퓨팅 디바이스(500)에 의한 사용을 위해 임시 또는 영구적으로 프로그램(예를 들어, 명령어 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는데 사용되는 물리적 디바이스일 수 있다. 비-휘발성 메모리의 예로는 플래시 메모리 및 판독 전용 메모리(ROM)/프로그램 가능 판독 전용 메모리(PROM)/소거 가능한 프로그램 가능 판독 전용 메모리(EPROM)/전자적으로 소거 가능한 프로그램 가능 판독 전용 메모리(EEPROM)(예를 들어, 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨)를 포함하지만 이에 한정되지 않는다. 휘발성 메모리의 예에는 RAM, DRAM, SRAM, PCM(Phase Change Memory) 및 디스크 또는 테이프가 포함되지만 이에 한정되지 않는다.
저장 디바이스(530)는 컴퓨팅 디바이스(500)를 위한 대용량 저장 디바이스를 제공할 수 있다. 일부 구현에서, 저장 디바이스(530)는 컴퓨터 판독 가능 매체이다. 다양한 상이한 구현에서, 저장 디바이스(530)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 기타 유사한 솔리드 스테이트 메모리 디바이스, 또는 저장 영역 네트워크 또는 기타 구성의 디바이스를 포함하는 디바이스 어레이일 수 있다. 추가 구현에서, 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 구현된다. 컴퓨터 프로그램 제품은 실행될 때 위에서 설명한 것과 같은 하나 이상의 방법을 수행하는 명령들을 포함한다. 정보 매체는 메모리(520), 저장 디바이스(530), 또는 프로세서(510) 상의 메모리와 같은 컴퓨터 판독 가능 매체 또는 기계 판독 가능 매체이다.
고속 컨트롤러(540)는 컴퓨팅 디바이스(500)에 대한 대역 집약적 동작을 관리하는 반면, 저속 컨트롤러(560)는 더 낮은 대역 집약적 동작을 관리한다. 이러한 직무 할당은 예시일 뿐이다. 일부 구현에서, 고속 컨트롤러(540)는 메모리(520), 디스플레이(580)(예를 들어, 그래픽 프로세서 또는 가속기를 통해), 및 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트(550)에 연결된다. 일부 구현에서, 저속 컨트롤러(560)는 저장 디바이스(530) 및 저속 확장 포트(590)에 연결된다. 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(590)는 예를 들어, 네트워크 어댑터를 통해 키보드, 포인팅 디바이스, 스캐너 또는 스위치나 라우터와 같은 네트워킹 디바이스와 같은 하나 이상의 입/출력 디바이스에 연결될 수 있다.
컴퓨팅 디바이스(500)는 도면에 도시된 바와 같이, 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 이것은 표준 서버(500a)로서 또는 그러한 서버(500a)의 그룹에서, 랩톱 컴퓨터(500b)로서 또는 랙 서버 시스템(500c)의 일부로서 여러 번 구현될 수 있다.
본 명세서에 기술된 시스템 및 기술의 다양한 구현은 디지털 전자 및/또는 광 회로, 집적 회로, 특별히 설계된 ASIC(주문형 집적 회로, 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현은 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령을 수신하고, 이들로 데이터 및 명령을 전송하도록 결합된, 특수 또는 범용일 수 있는 적어도 하나의 프로그램 가능 프로세서를 포함하는 프로그램 가능한 시스템 상에서 실행 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있다.
이러한 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드라고도 함)은 프로그램 가능 프로세서에 대한 기계 명령들을 포함하고, 고급 절차 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에 사용된 바와 같이, "기계 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"라는 용어는 기계 판독 가능 신호로서 기계 명령을 수신하는 기계 판독 가능 매체를 비롯하여 기계 명령 및/또는 데이터를 프로그래밍 가능 프로세서에 제공하는데 사용되는 임의의 컴퓨터 프로그램 제품, 비-일시적 컴퓨터 판독 가능 매체, 장치 및/또는 디바이스를 지칭한다. "기계 판독 가능 신호"라는 용어는 기계 명령 및/또는 데이터를 프로그래밍 가능 프로세서에 제공하는데 사용되는 모든 신호를 지칭한다.
본 명세서에 설명된 프로세스 및 논리 흐름은 입력 데이터에 대해 동작하여 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 데이터 처리 하드웨어라고도 지칭되는 하나 이상의 프로그램 가능 프로세서에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 또한 FPGA 또는 ASIC과 같은 특수 목적 논리 회로에 의해 수행될 수 있도 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 또는 특수 목적 마이크로프로세서, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리나 랜덤 액세스 메모리 또는 둘 다로부터 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하기 위한 프로세서와 명령 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어 자기, 광자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 이들로 데이터를 전송하거나 둘 모두를 포함하거나 작동 가능하게 연결된다. 그러나, 컴퓨터에는 이러한 디바이스가 필요하지 않다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 예를 들어 반도체 메모리 디바이스(예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스); 자기 디스크(예를 들어, 내부 하드 디스크 또는 이동식 디스크); 자기 광 디스크; 및 CD ROM과 DVD-ROM 디스크를 비롯하여 모든 형태의 비-휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호작용을 제공하기 위해, 본 개시의 하나 이상의 양태는 사용자에게 정보를 표시하기 위한 디스플레이 디바이스(예를 들어, CRT(음극선관) 또는 LCD(액정 디스플레이) 모니터)와 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)을 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류의 디바이스를 사용하여 사용자와의 상호 작용도 제공할 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각적 피드백, 청각적 피드백 또는 촉각적 피드백과 같은 임의의 형태의 감각적 피드백일 수 있으며, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 모든 형태로 수신될 수 있다. 또한, 컴퓨터는 예를 들어 웹 브라우저로부터 수신된 요청에 대한 응답으로 사용자 디바이스의 웹 브라우저로 웹 페이지를 전송함으로써 사용자가 사용하는 디바이스로 문서를 보내고 문서를 수신하여 사용자와 상호 작용할 수 있다.
다수의 구현이 설명되었다. 그럼에도 불구하고, 본 개시의 정신 및 범위를 벗어나지 않고 다양한 수정이 이루어질 수 있음을 이해할 것이다. 따라서, 다른 구현은 다음의 청구항의 범위 내에 있다.

Claims (26)

  1. 방법(400)으로서,
    사용자 디바이스(102)의 제1 프로세서(110)에서, 제1 프로세서(110)와 통신하는 마이크로폰(107, 107a-n) 어레이에 의해 캡처된 스트리밍 다중-채널 오디오(118)를 수신하는 단계와, 상기 스트리밍 다중-채널 오디오(118)의 각 채널(119, 119a-n)은 마이크로폰(107) 어레이 내의 별도의 전용 마이크로폰(107)에 의해 캡처된 개별 오디오 특징을 포함하고;
    제1 프로세서(110)에 의해, 제1단 핫워드 검출기(210)를 사용하여, 핫워드가 스트리밍 다중-채널 오디오(118)에서 제1단 핫워드 검출기(210)에 의해 검출되는지 여부를 결정하기 위해 스트리밍 다중-채널 오디오(118)의 적어도 하나의 채널(119)의 개별 오디오 특징을 처리하는 단계와; 그리고
    제1단 핫워드 검출기(210)가 스트리밍 다중-채널 오디오(118)에서 핫워드를 검출하는 경우:
    제1 프로세서(110)에 의해, 촘프된(chomped) 다중-채널 원시 오디오 데이터(212, 212a-n)를 사용자 디바이스(102)의 제2 프로세서(120)에 제공하는 단계와, 상기 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널은 스트리밍 다중-채널 오디오(118)의 각 채널(119)에 대응하며 스트리밍 다중-채널 오디오(118)의 개별 채널(119)로부터 촘프된 개별 원시 오디오 데이터를 포함하고;
    제2 프로세서(110)에 의해, 제1 노이즈 클리닝 알고리즘(250a)을 사용하여, 클린 모노포닉(monophonic) 오디오 촘프(260)를 생성하기 위해 상기 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널을 처리하는 단계와;
    제2 프로세서(120)에 의해, 제2단 핫워드 검출기(220)를 사용하여, 핫워드가 클린 모노포닉 오디오 촘프(260)에서 제2단 핫워드 검출기(220)에 의해 검출되는지 여부를 결정하기 위해 상기 클린 모노포닉 오디오 촘프(260)를 처리하는 단계와; 그리고
    핫 워드가 클린 모노포닉 오디오 촘프(260)에서 제2단 핫워드 검출기(220)에 의해 검출되는 경우, 제2 프로세서(120)에 의해, 스트리밍 다중-채널 오디오(118)에서 핫워드 및/또는 그 핫워드 다음에 오는 하나 이상의 다른 용어를 처리하기 위해 사용자 디바이스(102)에서 웨이크-업 프로세스를 개시하는 단계를 포함하는 것을 특징으로 하는 방법(400).
  2. 제1항에 있어서,
    상기 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널의 개별 원시 오디오 데이터(212)는,
    스트리밍 다중-채널 오디오(118)에서 제1단 핫워드 검출기(210)에 의해 검출된 핫워드를 특징짓는 오디오 세그먼트(213)를 포함하는 것을 특징으로 하는 방법(400).
  3. 제2항에 있어서,
    상기 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널의 개별 원시 오디오 데이터(212)는,
    제1단 핫워드 검출기(210)가 스트리밍 다중-채널 오디오(118)에서 핫워드를 검출하는 시점 바로 직전의 오디오 지속 시간을 포함하는 프리픽스(prefix) 세그먼트(214)를 더 포함하는 것을 특징으로 하는 방법(400).
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제2 프로세서(120)는,
    스트리밍 다중-채널 오디오(118)가 제1 프로세서(110)에서 수신되고 스트리밍 다중-채널 오디오(118)의 적어도 하나의 채널(119)의 개별 오디오 특징이 제1 프로세서(110)에 의해 처리될 때 슬립 모드에서 동작하고; 그리고
    상기 촘프된 다중-채널 오디오 원시 데이터(212)를 제2 프로세서(120)에 제공하는 단계는 슬립 모드로부터 핫워드 검출 모드로 전환하도록 제2 프로세서(120)를 호출하는 것을 특징으로 하는 방법(400).
  5. 제4항에 있어서,
    상기 제2 프로세서(120)는,
    핫워드 검출 모드에 있는 동안 제1 노이즈 클리닝 알고리즘(250a)과 제2단 핫워드 검출기(220)를 실행하는 것을 특징으로 하는 방법(400).
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    클린 모노포닉 오디오 촘프(260)를 병렬로 처리하는 동안 제2 프로세서(120)에 의해, 제2단 핫워드 검출기(220)를 사용하여, 핫워드가 개별 원시 오디오 데이터(212a)에서 제2단 핫워드 검출기(220)에 의해 검출되는지 여부를 결정하기 위해 상기 촘프된 다중-채널 원시 오디오 데이터(212)의 하나의 채널의 개별 원시 오디오 데이터(212a)를 처리하는 단계와; 그리고
    핫워드가 클린 모노포닉 오디오 촘프(260) 또는 개별 원시 오디오 데이터(212a) 중 하나에서 제2단 핫워드 검출기(220)에 의해 검출되는 경우, 제2 프로세서(120)에 의해, 스트리밍 다중-채널 오디오(118)에서 핫워드 및/또는 그 핫워드 다음에 오는 하나 이상의 다른 용어를 처리하기 위해 사용자 디바이스(102)에서 웨이크-업 프로세스를 개시하는 단계를 포함하는 것을 특징으로 하는 방법(400).
  7. 제6항에 있어서,
    핫워드가 클린 모노포닉 오디오 촘프(260) 또는 개별 원시 오디오 데이터(212a) 중 어느 하나에서 제2단 핫워드 검출기(220)에 의해 검출되지 않는 경우, 제2 프로세서(120)에 의해, 사용자 디바이스(102)에서 웨이크-업 프로세스의 개시를 방지하는 단계를 더 포함하는 것을 특징으로 하는 방법(400).
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 핫워드가 스트리밍 다중-채널 오디오에서 제1단 핫워드에 의해 검출되는지 여부를 결정하기 위해 스트리밍 다중-채널 오디오(118)의 적어도 하나의 채널(119)의 개별 오디오 특징을 처리하는 단계는,
    개별 오디오 특징으로부터 노이즈를 제거하지 않고 스트리밍 다중-채널 오디오(118)의 하나의 채널(119)의 개별 오디오 특징을 처리하는 단계를 포함하는 것을 특징으로 하는 방법(400).
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    제1 프로세서(110)에 의해, 다중-채널 교차 상관 매트릭스(254)를 생성하기 위해 스트리밍 다중-채널 오디오(118)의 각 채널(119)의 개별 오디오 특징을 처리하는 단계와; 그리고
    제1단 핫워드 검출기(210)가 스트리밍 다중-채널 오디오(118)에서 핫워드를 검출하는 경우:
    스트리밍 다중-채널 오디오(118)의 각 채널(119)에 대해, 제1 프로세서(110)에 의해, 다중-채널 교차 상관 매트릭스(254)를 사용하여, 스트리밍 다중-채널 오디오(118)의 각각의 채널(119)의 개별 오디오 특징으로부터 개별 원시 오디오 데어터(212)를 촘프하는 단계; 및
    제1 프로세서(110)에 의해, 다중-채널 교차 상관 매트릭스(254)를 제2 프로세서(120)에 제공하는 단계를 더 포함하고,
    상기 클린 모노포닉 오디오 촘프(260)를 생성하기 위해 상기 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널을 처리하는 단계는,
    제1 프로세서(110)로부터 제공된 다중-채널 교차 상관 매트릭스(254)를 사용하여, 제1 노이즈 클리닝 알고리즘(250a)에 대한 클리너 필터 계수(342)를 계산하는 단계와; 그리고
    계산된 클리너 필터 계수(342)를 갖는 제1 노이즈 클리닝 알고리즘(250a)에 의해, 클린 모노포닉 오디오 촘프(260)를 생성하기 위해 제1 프로세서(110)에 의해 제공된 상기 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널을 처리하는 단계를 포함하는 것을 특징으로 하는 방법(400).
  10. 제9항에 있어서,
    상기 핫워드가 스트리밍 다중-채널 오디오(118)에서 제1단 핫워드 검출기에 의해 검출되는지 여부를 결정하기 위해 스트리밍 다중-채널 오디오(118)의 적어도 하나의 채널(119)의 개별 오디오 특징을 처리하는 단계는,
    다중-채널 교차 상관 매트릭스(254)를 사용하여, 제1 프로세서(110)에서 실행되는 제2 노이즈 클리닝 알고리즘(250b)에 대한 클리너 계수를 계산하는 단계와;
    계산된 필터 계수를 갖는 제2 노이즈 클리닝 알고리즘(250b)에 의해, 모노포닉 클린 오디오 스트림(255)을 생성하기 위해 스트리밍 다중-채널 오디오(118)의 각 채널(119)을 처리하는 단계와; 그리고
    제1단 핫워드 검출기(210)를 사용하여, 핫워드가 스트리밍 다중-채널 오디오(118)에서 제1단 핫워드 검출기(210)에 의해 검출되는지 여부를 결정하기 위해 모노포닉 클린 오디오 스트림(255)을 처리하는 단계를 포함하는 단계를 포함하는 것을 특징으로 하는 방법(400).
  11. 제10항에 있어서,
    상기 제1 노이즈 클리닝 알고리즘(250a)은,
    촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널에 제1 유한 임펄스 응답(FIR)을 적용하여 촘프된 모노포닉 클린 오디오 데이터(260)를 생성하고, 상기 제1 FIR은 제1 필터 길이를 포함하고; 그리고
    상기 제2 노이즈 클리닝 알고리즘(250b)은,
    스트리밍 다중-채널 오디오(118)의 각 채널(119)에 제2 FIR을 적용하여 모노포닉 클린 오디오 스트림(255)을 생성하고, 상기 제2 FIR은 제1 필터 길이보다 짧은 제2 필터 길이를 포함하는 것을 특징으로 하는 방법(400).
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 제1 프로세서(110)는 디지털 신호 프로세서를 포함하고; 그리고
    상기 제2 프로세서(120)는 시스템 온 칩(SoC) 프로세서를 포함하는 것을 특징으로 하는 방법(400).
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 사용자 디바이스(102)는 재충전 가능한 유한 전원을 포함하고, 상기 유한 전원은 제1 프로세서(110) 및 제2 프로세서(120)에 전력을 공급하는 것을 특징으로 하는 방법(400).
  14. 시스템(100)으로서,
    제1 프로세서(110) 및 제2 프로세서(120)를 포함하는 사용자 디바이스(102)의 데이터 처리 하드웨어(103)와; 그리고
    데이터 처리 하드웨어(103)와 통신하고 데이터 처리 하드웨어(103)에서 실행될 때 데이터 처리 하드웨어(103)로 하여금 동작들을 수행하게 하는 명령들을 저장하는 사용자 디바이스(102)의 메모리 처리 하드웨어(105)를 포함하고,
    상기 동작들은,
    제1 프로세서(110)에서, 제1 프로세서(110)와 통신하는 마이크로폰(107, 107a-n) 어레이에 의해 캡처된 스트리밍 다중-채널 오디오(118)를 수신하는 동작과, 상기 스트리밍 다중-채널 오디오(118)의 각 채널(119, 119a-n)은 마이크로폰(107) 어레이 내의 별도의 전용 마이크로폰(107)에 의해 캡처된 개별 오디오 특징을 포함하고;
    제1 프로세서(110)에 의해, 제1단 핫워드 검출기(210)를 사용하여, 핫워드가 스트리밍 다중-채널 오디오(118)에서 제1단 핫워드 검출기(210)에 의해 검출되는지 여부를 결정하기 위해 스트리밍 다중-채널 오디오(118)의 적어도 하나의 채널(119)의 개별 오디오 특징을 처리하는 동작과; 그리고
    제1단 핫워드 검출기(210)가 스트리밍 다중-채널 오디오(118)에서 핫워드를 검출하는 경우:
    제1 프로세서(110)에 의해, 촘프된 다중-채널 원시 오디오 데이터(212, 212a-n)를 제2 프로세서(120)에 제공하는 동작과, 상기 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널은 스트리밍 다중-채널 오디오(118)의 각 채널(119)에 대응하며 스트리밍 다중-채널 오디오(118)의 개별 채널(119)로부터 촘프된 개별 원시 오디오 데이터를 포함하고;
    제2 프로세서(110)에 의해, 제1 노이즈 클리닝 알고리즘(250a)을 사용하여, 클린 모노포닉 오디오 촘프(260)를 생성하기 위해 상기 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널을 처리하는 동작과;
    제2 프로세서(120)에 의해, 제2단 핫워드 검출기(220)를 사용하여, 핫워드가 클린 모노포닉 오디오 촘프(260)에서 제2단 핫워드 검출기(220)에 의해 검출되는지 여부를 결정하기 위해 상기 클린 모노포닉 오디오 촘프(260)를 처리하는 동작과; 그리고
    핫 워드가 클린 모노포닉 오디오 촘프(260)에서 제2단 핫워드 검출기(220)에 의해 검출되는 경우, 제2 프로세서(120)에 의해, 스트리밍 다중-채널 오디오(118)에서 핫워드 및/또는 그 핫워드 다음에 오는 하나 이상의 다른 용어를 처리하기 위해 사용자 디바이스(102)에서 웨이크-업 프로세스를 개시하는 동작을 포함하는 것을 특징으로 하는 시스템(100).
  15. 제14항에 있어서,
    상기 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널의 개별 원시 오디오 데이터(212)는,
    스트리밍 다중-채널 오디오(118)에서 제1단 핫워드 검출기(210)에 의해 검출된 핫워드를 특징짓는 오디오 세그먼트(213)를 포함하는 것을 특징으로 하는 시스템(100).
  16. 제15항에 있어서,
    상기 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널의 개별 원시 오디오 데이터(212)는,
    제1단 핫워드 검출기(210)가 스트리밍 다중-채널 오디오(118)에서 핫워드를 검출하는 시점 바로 직전의 오디오 지속 시간을 포함하는 프리픽스 세그먼트(214)를 더 포함하는 것을 특징으로 하는 시스템(100).
  17. 제14항 내지 제16항 중 어느 한 항에 있어서,
    상기 제2 프로세서(120)는,
    스트리밍 다중-채널 오디오(118)가 제1 프로세서(110)에서 수신되고 스트리밍 다중-채널 오디오(118)의 적어도 하나의 채널(119)의 개별 오디오 특징이 제1 프로세서(110)에 의해 처리될 때 슬립 모드에서 동작하고; 그리고
    상기 촘프된 다중-채널 오디오 원시 데이터(212)를 제2 프로세서(120)에 제공하는 동작은 슬립 모드로부터 핫워드 검출 모드로 전환하도록 제2 프로세서(120)를 호출하는 것을 특징으로 하는 시스템(100).
  18. 제17항에 있어서,
    상기 제2 프로세서(120)는,
    핫워드 검출 모드에 있는 동안 제1 노이즈 클리닝 알고리즘(250a)과 제2단 핫워드 검출기(220)를 실행하는 것을 특징으로 하는 시스템(100).
  19. 제14항 내지 제18항 중 어느 한 항에 있어서,
    상기 동작들은,
    클린 모노포닉 오디오 촘프(260)를 병렬로 처리하는 동안 제2 프로세서(120)에 의해, 제2단 핫워드 검출기(220)를 사용하여, 핫워드가 개별 원시 오디오 데이터(212a)에서 제2단 핫워드 검출기(220)에 의해 검출되는지 여부를 결정하기 위해 상기 촘프된 다중-채널 원시 오디오 데이터(212)의 하나의 채널의 개별 원시 오디오 데이터(212a)를 처리하는 동작과; 그리고
    핫워드가 클린 모노포닉 오디오 촘프(260) 또는 개별 원시 오디오 데이터(212a) 중 하나에서 제2단 핫워드 검출기(220)에 의해 검출되는 경우, 제2 프로세서(120)에 의해, 스트리밍 다중-채널 오디오(118)에서 핫워드 및/또는 그 핫워드 다음에 오는 하나 이상의 다른 용어를 처리하기 위해 사용자 디바이스(102)에서 웨이크-업 프로세스를 개시하는 동작을 포함하는 것을 특징으로 하는 시스템(100).
  20. 제19항에 있어서,
    상기 동작들은,
    핫워드가 클린 모노포닉 오디오 촘프(260) 또는 개별 원시 오디오 데이터(212a) 중 어느 하나에서 제2단 핫워드 검출기(220)에 의해 검출되지 않는 경우, 제2 프로세서(120)에 의해, 사용자 디바이스(102)에서 웨이크-업 프로세스의 개시를 방지하는 동작을 더 포함하는 것을 특징으로 하는 시스템(100).
  21. 제14항에 있어서,
    상기 핫워드가 스트리밍 다중-채널 오디오(118)에서 제1단 핫워드에 의해 검출되는지 여부를 결정하기 위해 스트리밍 다중-채널 오디오(118)의 적어도 하나의 채널(119)의 개별 오디오 특징을 처리하는 동작은,
    개별 오디오 특징으로부터 노이즈를 제거하지 않고 스트리밍 다중-채널 오디오(118)의 하나의 채널(119)의 개별 오디오 특징을 처리하는 동작을 포함하는 것을 특징으로 하는 시스템(100).
  22. 제14항 내지 제21항 중 어느 한 항에 있어서,
    상기 동작들은,
    제1 프로세서(110)에 의해, 다중-채널 교차 상관 매트릭스(254)를 생성하기 위해 스트리밍 다중-채널 오디오(118)의 각 채널(119)의 개별 오디오 특징을 처리하는 동작과; 그리고
    제1단 핫워드 검출기(210)가 스트리밍 다중-채널 오디오(118)에서 핫워드를 검출하는 경우:
    스트리밍 다중-채널 오디오(118)의 각 채널(119)에 대해, 제1 프로세서(110)에 의해, 다중-채널 교차 상관 매트릭스(254)를 사용하여, 스트리밍 다중-채널 오디오(118)의 각각의 채널(119)의 개별 오디오 특징으로부터 개별 원시 오디오 데어터(212)를 촘프하는 동작; 및
    제1 프로세서(110)에 의해, 다중-채널 교차 상관 매트릭스(254)를 제2 프로세서(120)에 제공하는 동작을 더 포함하고,
    상기 클린 모노포닉 오디오 촘프(260)를 생성하기 위해 상기 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널을 처리하는 동작은,
    제1 프로세서(110)로부터 제공된 다중-채널 교차 상관 매트릭스(254)를 사용하여, 제1 노이즈 클리닝 알고리즘(250a)에 대한 클리너 필터 계수(342)를 계산하는 동작과; 그리고
    계산된 클리너 필터 계수(342)를 갖는 제1 노이즈 클리닝 알고리즘(250a)에 의해, 클린 모노포닉 오디오 촘프(260)를 생성하기 위해 제1 프로세서(110)에 의해 제공된 상기 촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널을 처리하는 동작을 포함하는 것을 특징으로 하는 시스템(100).
  23. 제22항에 있어서,
    상기 핫워드가 스트리밍 다중-채널 오디오(118)에서 제1단 핫워드 검출기에 의해 검출되는지 여부를 결정하기 위해 스트리밍 다중-채널 오디오(118)의 적어도 하나의 채널(119)의 개별 오디오 특징을 처리하는 동작은,
    다중-채널 교차 상관 매트릭스(254)를 사용하여, 제1 프로세서(110)에서 실행되는 제2 노이즈 클리닝 알고리즘(250b)에 대한 클리너 계수를 계산하는 동작과;
    계산된 필터 계수를 갖는 제2 노이즈 클리닝 알고리즘(250b)에 의해, 모노포닉 클린 오디오 스트림(255)을 생성하기 위해 스트리밍 다중-채널 오디오(118)의 각 채널(119)을 처리하는 동작과; 그리고
    제1단 핫워드 검출기(210)를 사용하여, 핫워드가 스트리밍 다중-채널 오디오(118)에서 제1단 핫워드 검출기(210)에 의해 검출되는지 여부를 결정하기 위해 모노포닉 클린 오디오 스트림(255)을 처리하는 동작을 포함하는 것을 특징으로 하는 시스템(100).
  24. 제23항에 있어서,
    상기 제1 노이즈 클리닝 알고리즘(250a)은,
    촘프된 다중-채널 원시 오디오 데이터(212)의 각 채널에 제1 유한 임펄스 응답(FIR)을 적용하여 촘프된 모노포닉 클린 오디오 데이터(260)를 생성하고, 상기 제1 FIR은 제1 필터 길이를 포함하고; 그리고
    상기 제2 노이즈 클리닝 알고리즘(250b)은,
    스트리밍 다중-채널 오디오(118)의 각 채널(119)에 제2 FIR을 적용하여 모노포닉 클린 오디오 스트림(255)을 생성하고, 상기 제2 FIR은 제1 필터 길이보다 짧은 제2 필터 길이를 포함하는 것을 특징으로 하는 시스템(100).
  25. 제14항 내지 제24항 중 어느 한 항에 있어서,
    상기 제1 프로세서(110)는 디지털 신호 프로세서를 포함하고; 그리고
    상기 제2 프로세서(120)는 시스템 온 칩(SoC) 프로세서를 포함하는 것을 특징으로 하는 시스템(100).
  26. 제14항 내지 제25항 중 어느 한 항에 있어서,
    상기 사용자 디바이스(102)는 재충전 가능한 유한 전원을 포함하고, 상기 유한 전원은 제1 프로세서(110) 및 제2 프로세서(120)에 전력을 공급하는 것을 특징으로 하는 시스템(100).
KR1020227034668A 2020-04-08 2020-04-08 노이즈에 강건한 키워드 스포팅을 위한 캐스케이드 아키텍처 KR20220151660A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/027337 WO2021206713A1 (en) 2020-04-08 2020-04-08 Cascade architecture for noise-robust keyword spotting

Publications (1)

Publication Number Publication Date
KR20220151660A true KR20220151660A (ko) 2022-11-15

Family

ID=70476489

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227034668A KR20220151660A (ko) 2020-04-08 2020-04-08 노이즈에 강건한 키워드 스포팅을 위한 캐스케이드 아키텍처

Country Status (6)

Country Link
US (1) US20230097197A1 (ko)
EP (1) EP4104168A1 (ko)
JP (1) JP7460794B2 (ko)
KR (1) KR20220151660A (ko)
CN (1) CN115362498A (ko)
WO (1) WO2021206713A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043211B2 (en) * 2013-05-09 2015-05-26 Dsp Group Ltd. Low power activation of a voice activated device
US10311870B2 (en) * 2017-05-10 2019-06-04 Ecobee Inc. Computerized device with voice command input capability
US10304475B1 (en) 2017-08-14 2019-05-28 Amazon Technologies, Inc. Trigger word based beam selection
US10601599B2 (en) 2017-12-29 2020-03-24 Synaptics Incorporated Voice command processing in low power devices
CN110718212A (zh) * 2019-10-12 2020-01-21 出门问问信息科技有限公司 语音唤醒方法、装置及系统、终端和计算机可读存储介质

Also Published As

Publication number Publication date
CN115362498A (zh) 2022-11-18
WO2021206713A1 (en) 2021-10-14
JP7460794B2 (ja) 2024-04-02
US20230097197A1 (en) 2023-03-30
EP4104168A1 (en) 2022-12-21
JP2023520937A (ja) 2023-05-22

Similar Documents

Publication Publication Date Title
US11322152B2 (en) Speech recognition power management
US10332524B2 (en) Speech recognition wake-up of a handheld portable electronic device
WO2015047517A1 (en) Keyword detection
US10706842B2 (en) Selective adaptation and utilization of noise reduction technique in invocation phrase detection
US20230298588A1 (en) Hotphrase Triggering Based On A Sequence Of Detections
US20230223014A1 (en) Adapting Automated Speech Recognition Parameters Based on Hotword Properties
KR20220151660A (ko) 노이즈에 강건한 키워드 스포팅을 위한 캐스케이드 아키텍처
US20230022800A1 (en) Small Footprint Multi-Channel Keyword Spotting
US20230113883A1 (en) Digital Signal Processor-Based Continued Conversation

Legal Events

Date Code Title Description
A201 Request for examination