KR20160099636A - 보이스 커맨드로 트리거되는 음성 향상 - Google Patents

보이스 커맨드로 트리거되는 음성 향상 Download PDF

Info

Publication number
KR20160099636A
KR20160099636A KR1020167018894A KR20167018894A KR20160099636A KR 20160099636 A KR20160099636 A KR 20160099636A KR 1020167018894 A KR1020167018894 A KR 1020167018894A KR 20167018894 A KR20167018894 A KR 20167018894A KR 20160099636 A KR20160099636 A KR 20160099636A
Authority
KR
South Korea
Prior art keywords
data
block
speech
speech enhancement
trigger
Prior art date
Application number
KR1020167018894A
Other languages
English (en)
Other versions
KR102327476B1 (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 KR20160099636A publication Critical patent/KR20160099636A/ko
Application granted granted Critical
Publication of KR102327476B1 publication Critical patent/KR102327476B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/065Adaptation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/20Speech recognition techniques specially adapted for robustness in adverse environments, e.g. in noise, of stress induced speech
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/285Memory allocation or algorithm optimisation to reduce hardware requirements
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L25/84Detection of presence or absence of voice signals for discriminating voice from noise
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • G10L2021/02161Number of inputs available containing the signal or the noise to be suppressed
    • G10L2021/02166Microphone arrays; Beamforming

Landscapes

  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

음성을 나타내는 수신 데이터가 저장되고, 트리거 검출 블록은 수신 데이터에서 트리거 구문을 나타내는 데이터의 존재를 검출한다. 그에 응답하여, 트리거 구문의 적어도 일부를 나타내는 저장된 데이터의 제1 부분이 적응적 음성 향상 블록에 공급되며, 적응적 음성 향상 블록은 음성 향상 블록에 대한 적응된 파라미터를 도출하기 위해 저장된 데이터의 제1 부분을 바탕으로 트레이닝된다. 향상되는 저장된 데이터를 형성하기 위해, 저장된 데이터의 제1 부분과 중첩하는 저장된 데이터의 제2 부분이 상기 적응된 파라미터로 동작하는 적응적 음성 향상 블록에 공급된다. 제2 트리거 구문 검출 블록은 향상되는 저장된 데이터에서 트리거 구문을 나타내는 데이터의 존재를 검출한다. 그에 응답하여, 향상된 음성 데이터가 음성 인식과 같은 추가 처리를 위해 음성 향상 블록으로부터 출력된다. 수신 데이터에서 트리거 구문을 나타내는 데이터의 존재를 검출하는 것은 제1 트리거 구문 검출 블록에 의해 수행되고, 향상되는 저장된 데이터에서 트리거 구문을 나타내는 데이터의 존재를 검출하는 것은 제2 트리거 구문 검출 블록에 의해 수행되고, 제2 트리거 구문 검출 블록은 제1 트리거 구문 검출 블록과 상이한, 전형적으로는 더 엄격한 검출 기준으로 동작한다.

Description

보이스 커맨드로 트리거되는 음성 향상{VOICE COMMAND TRIGGERED SPEECH ENHANCEMENT}
본 발명은 수신된 음성 데이터를 처리하는 방법, 및 이러한 방법을 구현하기 위한 시스템에 관한 것이다.
인터넷을 통해 액세스되는 원격지에 위치된 음성 인식 알고리즘을 사용하여 모바일 디바이스에 대한 자동 음성 인식(automatic speech recognition, ASR)을 제공하는 것이 알려져 있다. 이 음성 인식은, 예를 들어, 모바일 디바이스 상에서 또는 모바일 디바이스를 통해 인터넷을 브라우징하기 위한 그리고 특정 기능을 제어하기 위한, 구두 커맨드(spoken command)를 인식하는데 사용될 수 있다. 배터리 수명을 보존하기 위해, 이 모바일 디바이스는 대부분의 시간을 전력 절감 대기 모드(power saving stand-by mode)에서 보낸다. 화자 검증(speaker verification)(즉, 말하고 있는 사람의 신원의 검증) 및/또는 임의의 다른 음성 분석 서비스가 주 프로세서 내에서 및/또는 원격 분석 서비스에 의해 수행될 수 있도록 디바이스의 주 프로세서를 깨우기(wake) 위해 트리거 구문(trigger phrase)이 사용될 수 있다.
ASR 서비스에서 인식 레이트를 개선하기 위해, 전송 이전에 오디오(즉, 음성)를 향상시키는 다양한 신호 처리 기법(예를 들어, 음향 반향 제거(acoustic echo cancellation), 잡음 감소 및 다중 마이크로폰 빔형성(multi-microphone beamforming))을 사용하는 것이 알려져 있다. 많은 이러한 향상 기법들은 적응적(adaptive)이다 - 즉, 마이크로폰 신호가 제공되고 있는 음향 환경에 적응하기 위해 그의 파라미터들을 동적으로 수정한다 -. 음향 환경의 변화 시에, 이 파라미터들이 음향 환경에 의해 생성되는 임의의 원하지 않는 특징이 미미한 레벨로 감소되는 지점까지 반복하여 적응되는데 유한한 시간 기간이 소요된다. 이것은 적응 시간(adaptation time)이라고 알려져 있고, 많은 적응적 오디오 신호 처리 알고리즘에 대해, 전형적으로 1초 정도이다.
음향 반향 제거(AEC)는, 스피커로의 출력으로부터 도출되는 기준 신호를 사용하는 것에 의해, 음성 마이크로폰에 의해 픽업될 수 있는 로컬 스피커 기여분(local loudspeaker contribution)을 제거하는 앞서 기술된 바와 같은 적응적 프로세스, 및 스피커로부터 마이크로폰으로의 음향 전달 함수를 추정하는 적응적 프로세스를 사용한다. 이 적응은 스피커로부터의 임의의 신호 출력에 대해 일어날 수 있다. 따라서, 이 적응은 마이크로폰을 통해 사용자에 의해 입력되는 신호에 의존하지 않는다. 스피커 동작 동안 ASR을 위해 사용되는 일부 전형적인 용도는 음악 재생의 보이스 제어(voice control), 및 스피커폰 전화 동안의 보이스 제어이다. 이 경우에, AEC는 스피커 출력 시작으로부터 1초 이내에 환경에 대해 수렴할 수 있고, 따라서, 대부분의 경우에, 사용자가 구두 커맨드를 내리기 시작하기 전에 적응이 요구된 레벨에 도달한다.
이와 달리, 적응적 잡음 감소 및 다중 마이크로폰 빔형성은 사용자의 음성을 포함하는 생성되는 신호에 의존하는 적응적 프로세스이다. 이 적응적 프로세스는 마이크로폰으로부터의 신호에 사용자의 음성이 존재할 때까지 그의 파라미터를 적응시키기 시작할 수 없고, 사용자의 음성이 존재하면, 파라미터를 요구된 레벨에 적응시키는데 시간 기간이 소요된다. 이 적응적 프로세스는 대기(standby)로부터의 보이스로 트리거되는 웨이크업(voice-triggered wake-up) 직후에 ASR에서 사용하기 위한 음성을 향상시키는데 필요할 수 있다. 저전력 대기 상태에서 이 음성 인식 알고리즘을 실행하는 것이 또한 실현가능하지 않을 수 있는데, 그 이유는 그의 계산 복잡도가 그에 따른 디바이스 전력 소비를 비교적 상당하게 만들 것이기 때문이다. 이것의 최종 결과는 구두 커맨드의 시작이 효과적으로 향상되지 않을 수 있고, 이는 ASR에서의 좋지 않은 결과를 야기할 수 있다는 것이다.
본 발명의 제1 양태에 따르면, 음성을 나타내는 수신 데이터(received data)를 처리하는 방법이 제공되고, 본 방법은
수신 데이터를 저장하는 단계;
수신 데이터에서 트리거 구문을 나타내는 데이터의 존재를 검출하는 단계;
상기 검출에 응답하여, 트리거 구문의 적어도 일부를 나타내는 저장된 데이터의 제1 부분을 적응적 음성 향상 블록(adaptive speech enhancement block)에 공급하는 단계;
음성 향상 블록에 대한 적응된 파라미터를 도출하기 위해 저장된 데이터의 제1 부분을 바탕으로 음성 향상 블록을 트레이닝하는 단계;
향상되는 저장된 데이터를 형성하기 위해, 저장된 데이터의 제2 부분을 상기 적응된 파라미터로 동작하는 적응적 음성 향상 블록에 공급하는 단계 - 저장된 데이터의 제2 부분은 저장된 데이터의 제1 부분과 중첩함 -;
향상되는 저장된 데이터에서 트리거 구문을 나타내는 데이터의 존재를 검출하는 단계; 및
향상되는 저장된 데이터에서 트리거 구문을 나타내는 데이터의 존재를 검출한 것에 응답하여, 추가 처리를 위해 음성 향상 블록으로부터 향상된 음성 데이터를 출력하는 단계를 포함하고;
여기서 수신 데이터에서 트리거 구문을 나타내는 데이터의 존재를 검출하는 단계는 제1 트리거 구문 검출 블록에 의해 수행되며;
여기서 향상되는 저장된 데이터에서 트리거 구문을 나타내는 데이터의 존재를 검출하는 단계는 제2 트리거 구문 검출 블록에 의해 수행되고, 여기서 제2 트리거 구문 검출 블록은 제1 트리거 구문 검출 블록과 상이한 검출 기준으로 동작한다.
본 발명의 제3 양태에 따르면, 음성 프로세서(speech processor)가 제공되고, 본 음성 프로세서는
음성을 나타내는 데이터를 수신하기 위한 입력; 및
적응적 음성 향상 블록을 포함하고,
여기서 음성 프로세서는 제1 양태에 따른 방법을 수행하도록 구성되어 있다.
본 발명의 제3 양태에 따르면, 제2 양태에 따른 음성 프로세서를 포함하는 모바일 디바이스가 제공된다.
본 발명의 제4 양태에 따르면, 처리 디바이스로 하여금 제1 양태에 따른 방법을 수행하게 하는 컴퓨터 판독가능 코드를 포함하는 컴퓨터 프로그램 제품이 제공된다.
본 발명의 제5 양태에 따르면, 음성을 나타내는 수신 데이터를 처리하는 방법이 제공되고, 본 방법은
수신 데이터의 세그먼트가 트리거 구문을 나타낸다는 것을 검출하면:
적응적 음성 향상 블록에 대한 파라미터를 도출하기 위해 수신 데이터의 상기 세그먼트의 적어도 일부를 바탕으로 적응적 음성 향상 블록을 트레이닝하는 단계;
향상된 데이터 세그먼트를 발생시키기 위해 수신 데이터의 상기 세그먼트를 상기 도출된 파라미터를 사용하는 상기 적응적 음성 향상 블록을 통과시키는 단계; 및
향상된 데이터 세그먼트에서 상기 트리거 구문을 검출하려고 시도하는 단계를 포함한다.
본 발명의 제6 양태에 따르면, 음성을 나타내는 수신 데이터를 처리하는 방법이 제공되고, 본 방법은
수신 데이터에서 주변 잡음 레벨(ambient noise level)을 검출하는 단계;
주변 잡음 레벨이 제1 임계값 초과이고 제1 임계값보다 더 높은 제2 임계값 미만이면, 수신 데이터에 대해 음성 향상 프로세스를 수행하고, 음성 향상 프로세스로부터 출력된 데이터에 대해 음성 인식 프로세스를 수행하는 단계;
주변 잡음 레벨이 제1 임계값 미만이면, 상기 음성 향상 프로세스에 의해 처리되지 않은 수신 데이터에 대해 음성 인식 프로세스를 수행하는 단계; 및
주변 잡음 레벨이 제2 임계값 초과이면, 수신 데이터에 대해 음성 인식 프로세스를 수행하는 것을 생략하는 단계를 포함한다.
본 발명의 제7 양태에 따르면, 음성 프로세서가 제공되고, 본 음성 프로세서는
음성을 나타내는 데이터를 수신하기 위한 입력; 및
적응적 음성 향상 블록을 포함하고,
여기서 음성 프로세서는 제6 양태에 따른 방법을 수행하도록 구성되어 있다.
본 발명의 제8 양태에 따르면, 제7 양태에 따른 음성 프로세서를 포함하는 모바일 디바이스가 제공된다.
본 발명의 제9 양태에 따르면, 처리 디바이스로 하여금 제6 양태에 따른 방법을 수행하게 하는 컴퓨터 판독가능 코드를 포함하는 컴퓨터 프로그램 제품이 제공된다.
본 발명의 제10 양태에 따르면, 음성을 나타내는 수신 데이터를 처리하는 방법이 제공되고, 본 방법은
수신 데이터를 저장하는 단계;
수신 데이터에서 제1 트리거 구문을 나타내는 데이터의 존재를 검출하는 단계;
상기 검출에 응답하여, 제1 트리거 구문의 적어도 일부를 나타내는 저장된 데이터의 제1 부분을 적응적 음성 향상 블록에 공급하는 단계;
음성 향상 블록에 대한 적응된 파라미터를 도출하기 위해 저장된 데이터의 제1 부분을 바탕으로 음성 향상 블록을 트레이닝하는 단계;
저장된 데이터의 제2 부분을 상기 적응된 파라미터로 동작하는 적응적 음성 향상 블록에 공급하는 단계 - 저장된 데이터의 제2 부분은 저장된 데이터의 제1 부분과 중첩함 -; 및
향상된 음성 데이터를 음성 향상 블록으로부터 출력하는 단계를 포함한다.
본 발명의 제11 양태에 따르면, 음성 프로세서가 제공되고, 본 음성 프로세서는
음성을 나타내는 데이터를 수신하기 위한 입력; 및
적응적 음성 향상 블록을 포함하고,
여기서 음성 프로세서는 제10 양태에 따른 방법을 수행하도록 구성되어 있다.
본 발명의 제12 양태에 따르면, 제11 양태에 따른 음성 프로세서를 포함하는 모바일 디바이스가 제공된다.
본 발명의 제13 양태에 따르면, 처리 디바이스로 하여금 제10 양태에 따른 방법을 수행하게 하는 컴퓨터 판독가능 코드를 포함하는 컴퓨터 프로그램 제품이 제공된다.
이것은, 수신된 음성 데이터가 저장될 때, 그 데이터의 일부가, 적응 파라미터가 수렴할 시간을 갖도록, 음성 향상 알고리즘을 트레이닝하는데 사용될 수 있다는 장점을 제공한다. 이 적응 파라미터는 이어서, 효과적으로 향상된 데이터가 음성 프로세서에 출력될 수 있도록, 저장된 데이터에 적용될 수 있다.
이제, 본 발명의 보다 양호한 이해를 위해 그리고 본 발명이 어떻게 실시될 수 있는지를 도시하기 위해, 예로서 첨부 도면들에 대한 참조가 이루어질 것이다.
도 1은 본 발명의 일 양태에 따른 모바일 디바이스를 도시한다.
도 2는 도 1의 모바일 디바이스 내의 디지털 신호 프로세서의 일 실시예의 보다 상세한 뷰를 도시한다.
도 3은 도 2에 도시된 시스템의 동작의 일 예를 도시한다.
도 4는 도 2에 도시된 시스템의 동작의 일 예를 도시하는 플로우차트이다.
도 5는 디지털 신호 프로세서의 대안의 실시예를 도시한다.
도 6은 도 5에 도시된 시스템의 동작의 일 예를 도시한다.
도 7은 도 5에 도시된 시스템의 동작의 일 예를 도시하는 플로우차트이다.
도 8은 디지털 신호 프로세서의 추가적인 대안의 실시예를 도시한다.
도 9는 디지털 신호 프로세서의 대안의 실시예를 도시한다.
도 10은 도 9에 도시된 시스템의 동작의 일 예를 도시한다.
도 11은 도 9에 도시된 시스템의 동작의 일 예를 도시하는 플로우차트이다.
도 12는 디지털 신호 프로세서의 추가적인 대안의 실시예를 도시한다.
도 1은 서버(14)에의 연결을 가지는 모바일 통신 디바이스(12)를 포함하는 시스템(10)을 도시한다. 일 실시예에서, 서버(14)는, 예를 들어, 음성 인식 엔진을 포함할 수 있지만, 다른 상황에서 다른 유형의 음성 프로세서가 적용될 수 있다는 것을 알 것이다. 이 예시된 실시예에서, 모바일 디바이스(12)는 공중 인터페이스를 통해 원거리 네트워크(wide area network)(36) 내의 서버(14)에 연결되지만, 다른 적당한 연결(유선이든 무선이든 상관없음)이 사용될 수 있다는 것 또는 그렇지 않았으면 서버(14)에 의해 수행되는 처리가 모바일 디바이스(12) 내에서 부분적으로 또는 전체적으로 수행될 수 있다는 것을 알 것이다. 모바일 디바이스(12)는 스마트폰 또는 그의 기능들 중 임의의 것을 가지는 임의의 다른 휴대용 통신 디바이스(휴대용 컴퓨터, 게임 콘솔, 또는 스마트 워치 또는 다른 웨어러블 디바이스, 기타 등등)일 수 있다.
예시된 시스템에서, 모바일 디바이스(12)는 오디오 허브 집적 회로(audio hub integrated circuit)(16)를 포함한다. 오디오 허브(16)는 하나 이상의 마이크로폰(18, 20)으로부터 신호를 수신하고, 적어도 하나의 스피커(즉, 오디오 출력 트랜스듀서(22))를 통해 신호를 출력한다. 이 도면에서, 2개의 마이크로폰(18, 20)이 있지만, 단지 하나의 마이크로폰이 있을 수 있다는 것, 또는 보다 많은 마이크로폰이 있을 수 있다는 것을 알 것이다. 오디오 허브(16)는 또한 모바일 디바이스가 미디어 재생 모드에 있을 때 신호를 제공하는, 녹음된 사운드를 저장하기 위한 메모리 또는 무선 수신기와 같은, 신호 소스(24)로부터 신호를 수신한다. 이 신호는 스피커(22)를 통해 출력되기 위해 오디오 허브(16)로 전달된다.
예시된 예에서, 오디오 허브(16)는 2개의 처리 블록(processing block, PB)(26, 28) 및 디지털 신호 프로세서(digital signal processor, DSP)(30)를 포함한다. 제1 처리 블록(26)은 마이크로폰(18, 20)으로부터 수신되는 아날로그 신호를 처리하고, DSP(30)에서의 추가 처리에 적당한 디지털 신호를 출력한다. 제2 처리 블록(28)은 DSP(30)에 의해 출력되는 디지털 신호를 처리하고, 스피커(22)에 입력하기에 적당한 신호를 출력한다.
DSP(30)는 애플리케이션 프로세서(applications processor, AP)(32)에 추가로 연결된다. 이 애플리케이션 프로세서는, 신호를 무선 송수신기(34)를 통해 원거리 네트워크(36)를 거쳐 송신하는 것(서버(14)로 송신하는 것을 포함함)을 비롯하여, 모바일 디바이스(12)에서의 다양한 기능을 수행한다.
수신된 음성 데이터가 이하에 기술되는 바와 같이 처리될 수 있는 많은 다른 아키텍처가 가능하다는 것을 알 것이다.
의도하는 바는 사용자가 마이크로폰(18, 20)에 의해 검출되는 음성 커맨드(speech command)를 내릴 것이라는 것과 이 마이크로폰에 의해 출력되는 음성 데이터가 DSP(30)에 의해 처리된다는 것이다. 처리된 신호(들)는 이어서, 예를 들어, 음성 인식 엔진을 포함할 수 있는 서버(14)로 전송될 수 있다. 어쩌면 초기 음성 커맨드에서 사용자가 물은 질문에 대한 응답을 제공하는 출력 신호가 서버(14)에 의해 생성될 수 있다. 이 출력 신호는 송수신기(TRX)(34)를 통해 다시 모바일 디바이스로 전송되고, 사용자에게 들리도록 스피커(22)를 통해 출력되기 위해 디지털 신호 프로세서(30)에 의해 처리될 수 있다. 스피커 이외의 다른 사용자 인터페이스(예를 들어, 헤드셋 또는 햅틱 트랜스듀서, 또는 디스플레이 화면)가 서버(14)로부터의 답신 신호(return signal)를 출력하는데 사용될 수 있다는 것을 알 것이다.
바람직한 실시예에서, 애플리케이션 프로세서(AP)(32)가 데이터를 원격지에 위치된 서버(14)로 전송하지만, 일부 실시예에서, 음성 인식 프로세스가 디바이스(12) 내에서(예를 들어, 애플리케이션 프로세서(32) 내에서) 일어날 수 있다는 것을 알 것이다.
도 2는 DSP(30)의 보다 상세한 기능 블록도를 도시한다. 여기에서 DSP(30)에 의해 수행되는 것으로 기술되는 기능이 하드웨어, 소프트웨어에 의해 또는 이 둘의 적당한 조합에 의해 수행될 수 있다는 것을 알 것이다. 마이크로폰(18)에 의해 발생되는 신호로부터 도출되는 신호(Bin)가 버퍼(38)로 송신되고, 버퍼(38)는, 예를 들어, 데이터가 기입되는 메모리 영역을 가지는 순환 버퍼(circular buffer)의 형태를 취할 수 있고, 메모리가 꽉 찰 때 그 데이터는 겹쳐쓰기된다. 이 도면에 단지 하나의 마이크로폰이 도시되어 있지만, 하나 초과의 마이크로폰이 사용될 수 있다는 것을 알 것이다.
도 2에 도시된 바와 같이, 데이터는 기입 포인터(write pointer)(W)가 가리키는 메모리 장소에서 버퍼에 기입되고, 데이터가 판독 포인터(read pointer)(R)가 가리키는 메모리 장소에서 버퍼로부터 판독된다.
마이크로폰 신호(Bin)는 또한 신호가 말해진 트리거 구문(spoken trigger phrase)을 나타내는 데이터를 포함하는지 여부를 검출하는 저전력 트리거 검출 블록(40)으로 송신된다.
모든 입력 데이터가 데이터 버퍼(38) 및 트리거 검출 블록(40)으로 송신될 수 있거나, 입력 신호가 소정의 최소 신호 활동을 포함하는 것으로 결정될 때에만 데이터가 버퍼(38) 및 트리거 검출 블록(40)으로 송신되도록, 신호 활동 검출 블록(signal activity detection block)(예시되지 않음)이 제공될 수 있다. 환언하면, 일부 실시예에서, 신호 활동 검출(SAD) 블록은, 입력 신호에서의 적어도 소정의 최소 신호 활동이 검출되지 않는 한, 버퍼 및 트리거 검출(trigger detection, TD) 블록 둘 다를 비활성화시킬 수 있다. 일부 실시예에서, 신호 활동 검출 블록은, 입력 신호에서의 적어도 소정의 최소 신호 활동이 검출되지 않는 한, 트리거 검출 블록을 비활성화시키지만, 입력 신호를 계속하여 버퍼링하기 위해 버퍼를 활성으로 유지할 수 있다. 입력 신호를 계속하여 버퍼링하는 것은 신호 활동 검출기의 응답 시간 동안 도착하는 입력 신호 데이터가 나중의 사용을 위해 저장될 수 있게 할 것이다(예컨대, 트리거 구문 검출이 심지어 이 가장 이른 데이터를 사용할 수 있게 함).
제어 블록(42)은, 신호가 말해진 트리거 구문을 나타내는 데이터를 포함한다는 결정에 응답하여, 트리거 검출 블록(40)으로부터 출력 신호(TPD)를 수신한다.
이와 같이, 미리 정의된 트리거 구문이 말해진 것으로 트리거 검출 블록(40)에 의해 인식되는 때와 같은 시간까지 음성 처리의 상당 부분을 저전력 상태에 유지하는 것에 의해 전체 전력 소비가 최소화될 수 있다. 일부 실시예에서, 관련 회로로의 전력 공급을 연결 해제하거나 디스에이블시키는 것에 의해 저전력 상태가 달성될 수 있다. 다른 실시예에서, 관련 회로에 공급되는 하나 이상의 클럭을 디스에이블시키는 것에 의해 저전력 상태가 달성될 수 있다. 다른 실시예에서, 인가되는 전력 공급 전압을 감소시키는 것에 의해 또는 관련 회로에 공급되는 하나 이상의 클럭의 주파수를 감소시키는 것에 의해 저전력 상태가 달성될 수 있다. 다른 실시예에서, 프로세서 회로에 가해지는 소정의 프로그램 명령어 세트를 통해 시퀀싱하지 않는 것에 의해 저전력 상태가 달성될 수 있다. 복수의 마이크로폰을 갖는 시스템에서, 마이크로폰들 중 하나로부터의 신호만을 처리하는 것에 의해 저전력 상태가 달성될 수 있다: 이 마이크로폰은 사전 설계 선택에 의해 미리 지정될 수 있거나, 이전의 신호 활동(예컨대, 어느 마이크로폰이 마지막으로 조용해졌는지 또는 이전에 가장 큰 신호였는지)에 기초하여 선택될 수 있다.
제어 블록(42)은 클럭 제어기(44)의 동작을 제어하고, 또한 버퍼 제어 블록(46)을 통한 버퍼(38)로의 그리고 그로부터의 데이터의 각자의 순차적 기입(WA) 및 판독(RA)을 제어하며, 이에 대해서는 이하에서 보다 상세히 기술한다.
버퍼(38)로부터 판독되는 데이터(Bout)는 음성 향상 블록(48)으로 전달된다. 앞서 언급된 바와 같이, 음성 향상 블록(48)은 미리 정의된 트리거 구문이 말해졌다는 결정에 응답하여, 클럭 제어기(44)로부터의 신호에 의해 활성화되는 때와 같은 시간까지, 파워 다운 상태(powered down state)에 유지될 수 있다.
음성 향상 블록(48)은, 예를 들어, 다중 마이크로폰 빔형성, 스펙트럼 잡음 감소, 주변 잡음 감소, 또는 유사한 기능과 같은 음성 향상 기능을 수행할 수 있고, 실제로 다수의 음성 향상 기능을 수행할 수 있다. 예시된 시스템의 동작은 음성 향상 블록(48)이 사용자의 음성에 응답하여 적응되는 적어도 하나의 기능을 수행할 때 특히 유리하다.
예를 들어, 다중 마이크로폰 빔형성 음성 향상 기능의 경우에, 향상은, 향상된 출력 신호(Sout)를 발생시키기 위해, 수신 신호(Bout)에 적용되는 다양한 파라미터를 설정하는 형태를 취한다. 이 파라미터는 향상된 출력 신호를 제공하기 위해 결합 이전에 또는 그 이후에 하나 이상의 주파수 대역에서 하나 이상의 마이크로폰으로부터의 신호에 적용될 상대 이득 및 지연을 정의할 수 있다. 이 파라미터의 요구된 값은 마이크로폰의 위치와 관련하여 말하고 있는 사람의 위치에 의존할 것이고, 따라서 사용자가 말하기 시작하는 경우에만 결정될 수 있다.
이와 같이, 향상 블록(48)은, 향상을 최적화하기 위해, 그의 동작 파라미터를 적응적 방식으로 결정할 수 있지만, 이 적응은 최적 상태에 도달하는데 유한한 시간이 소요된다.
제어 블록(42)은 음성 향상 블록(48)의 적응적 기능의 동작을 제어한다. 이것은 임의의 피드백을 차단(interrupt)하고 따라서 적응을 차단할 수 있도록 배치되는 것으로 도시된 스위치(50)에 의해 개념적으로 예시되어 있지만, 실제로는 적응을 차단하는 다른 알려진 방법이 사용될 수 있다. 예를 들어, 일부 적응 계수를 0으로 설정하는 것에 의해 또는 프로세서 회로에서의 소정의 프로그램 코드의 시퀀싱을 차단하는 것에 의해 적응이 차단될 수 있다. 음성 향상 블록(48)으로부터의 데이터(Sout)의 출력이 제어 블록(42)에 의해 제어된다. 이것이 제2 스위치(52)에 의해 개념적으로 예시되어 있지만, 실제로는 제어 신호를 소정의 표준 디지털 버스 인터페이스에 인가하는 것에 의해 전송이 차단될 수 있다. 동기화 신호(TPsync)가 Sout 데이터 신호와 병렬로 송신되거나, 그와 동일한 채널에 삽입(embed)될 수 있고, 이에 대해서는 이하에서 보다 상세히 기술한다.
도 3 및 도 4는 도 2에 도시된 시스템의 동작의 일 예를 도시하고, 도 3은 다양한 신호의 시간 이력(time history)을 도시하며, 도 4는 플로우차트이다. 도 4에 도시된 프로세스는 마이크로폰 또는 각각의 마이크로폰에 수신되는 음향 신호가 검출된 사운드를 나타내는 디지털 전기 신호로 변환되는 단계(102)로 시작한다. 단계(104)에서, 이 마이크로폰 신호가 버퍼(38)에 저장된다. 도 3에서, Bin으로 라벨링된 축은 임의의 주어진 시간에 수신되어 버퍼(38)에 기입되는 데이터를 나타낸다. 버퍼(38)에의 이와 같은 데이터 기입의 시작은 마이크로폰(18)에 의해 기록되는 사운드의 레벨이 임계값을 넘어 증가하는 것에 의해 활성화될 수 있다. 다른 실시예에서, 버퍼(38)는 계속하여 기입하고 있을 수 있다. 도면에 도시된 시간 동안, 버퍼(38)는 사용자가 미리 정의된 트리거 구문을 말하기 시작하기 전에 버퍼(38)에 의해 기록된 데이터를 나타내는 사전 데이터(Pre-data)(PD), 트리거 구문 데이터(trigger phrase data)(TP), 및 4개의 커맨드 단어 데이터 섹션(C, C2, C3, C4)을 포함한다. 트리거 구문의 끝은 시간(Tph)에 있다.
도 4의 프로세스의 단계(106)에서, 트리거 구문 검출 블록(40)은 수신된 마이크로폰 신호에서 트리거 구문을 검출하려고 계속하여 시도하고 있다. 트리거 구문 검출 블록(40)은 불가피하게도 유한한 처리 시간을 가지며, 따라서 트리거 구문이, Tph에서의 실제 말해진 트리거 구문의 끝으로부터 시간 구간(Tdd) 후인, 시간(TTPD)에서 트리거 검출 블록(40)에 의해 실제로 검출된다.
트리거 구문의 검출은 다수의 프로세스를 개시한다. 첫째, 버퍼(38)의 출력(Bout)이 활성화되고, 버퍼(38)의 판독 포인터(R)가 기입 화살표(W)의 현재 위치로부터 시간상 뒤에 있는 미리 결정된 수의 데이터 지점으로부터 판독하도록 설정된다. 이와 같이, 버퍼의 출력은 이전에 저장된 데이터이다.
이 미리 결정된 수의 데이터 지점은 시간 기간의 시작 시간(T0) - 이 때부터 이전에 저장된 데이터가 판독됨 - 을 설정한다. 판독되는 데이터는 음성 향상 블록(48)을 트레이닝하는데 사용되어야 하고, 따라서 판독되는 데이터가 트리거 구문(도 3에서 Bin 라인에 TP로서 도시됨)을 나타내는 데이터 전부를 포함하면 유리하다. 실제로는, 트리거 구문의 정확한 지속기간은 미리 알려지지 않을 것이고, 따라서 도 3은, 실제 트리거 구문(TP)의 시작보다 앞선 시간(T0)으로부터 시작하는, 도 3에 도시된 점선 영역(60)으로 표시된 데이터가 판독되도록 기입 포인터(W)가 설정되는 일 예를 도시한다. 그렇지만, 판독되는 데이터의 시작이 트리거 구문을 나타내는 데이터의 시작과 정확히 일치하도록 또는 판독되는 데이터가 트리거 구문을 나타내는 데이터 도중에서만 시작할 수 있도록, 이 미리 결정된 수의 데이터 지점이 설정될 수 있다는 것을 알 것이다.
도 3에 예시된 예에서, 미리 결정된 수의 데이터 지점은 TTPD와 같은 시점(T1)에서 끝난다. 환언하면, 이전에 저장된 데이터가 분석을 위해 판독되는 시간 기간은 트리거 구문 검출 지연(Tdd) 직후에 끝난다. 일부 실시예에서, 분석될 데이터가 검출된 트리거 구문의 실제 끝(TPh)에 더 가까운 시점에서 끝나도록, 이 지연이 보상될 수 있다.
둘째, 도 4의 단계(108)에 도시된 바와 같이, 트리거 구문의 검출은 제어 블록(42)으로 하여금 스위치(50)를 활성화시키기 위해, 도 3에 도시된 바와 같이, 커맨드 "Adapt"를 송신하게 한다. 이 "Adapt" 커맨드는 향상 블록(48)의 적응을 시작하기 위해 향상 블록(48)을 활성화시킨다. 이것은, 도 3에서 Coeff로 라벨링된 축에 도시된 바와 같이, 향상 블록(48)의 파라미터가 바람직한 값으로 수렴하도록 파라미터가 반복하여 적응된다는 것을 의미한다. 이 적응 프로세스 - 본원에서 향상 블록을 "트레이닝"하는 것이라고도 지칭됨 - 는 샘플링된 오디오 데이터에 기초하여 필터의 계수 및 다른 알고리즘 구성요소를 최적화하는 프로세스이다. 이 수렴은 보통 1초 정도의 시간 기간에 걸쳐 있는 입력 데이터를 필요로 한다.
트리거 구문의 검출은 또한 커맨드 Turbo를 클럭 제어기(44)로 송신하라고 제어 블록(42)에 요청한다. 이 커맨드는 클럭 제어기(44)로 하여금 입력 데이터(Bin)의 샘플 레이트보다 더 높은 레이트로 클럭 신호를 발생시키게 한다. 이것은 데이터가 실시간보다 더 빠른(즉, 데이터가 버퍼(38)에 기입된 레이트보다 더 빠른) 레이트로 버퍼(38)로부터 판독되게 한다. 이것은 또한 적응의 수렴을 위해 필요한 실제 시간을 감소시킬 수 있다.
이 지점으로부터 계속, 데이터가 버퍼(38)로부터 계속(적어도 사용자가 말하는 것을 중단한 것으로 결정된 때까지) 판독된다. 도 3으로부터 알 수 있는 바와 같이, 버퍼(38)가 판독되고 있는 레이트는 버퍼(38)의 판독 화살표(R)가 시간(TA)에서 기입 화살표(W)를 실질적으로 따라잡을 때까지 실시간보다 더 높게 유지된다. 이것은, 이 시간쯤에, 버퍼(38)에 입력되고 있는 데이터가 기본적으로 동시에 출력되고 있다는 것을 의미한다. 도 3에 도시된 예에서, 이것이 커맨드 단어(C3)와 커맨드 단어(C4) 사이의 전환과 동시에 일어나지만, 이것은 우연의 일치이고 필요하지 않다.
앞서 언급된 바와 같이, 트리거 구문이 검출되기 전의 시간 기간 동안 버퍼(38)에 저장되었던 데이터의 일부가 판독되는 시간 동안 향상 블록(48)의 파라미터 또는 계수가 적응된다. 도 3에 도시된 예에서, 판독되는 데이터는 시간(TTPD)까지의 데이터 전부를 포함한다. 그렇지만, 보다 이른 지점에서 이 데이터를 판독하는 것을 중단하는 것이 또한 가능하다. 예를 들어, 판독되는 데이터의 지속기간은 향상 블록(48)의 파라미터가 적당한 값으로 수렴하는데 소요될 시간의 예상에 기초하여 설정될 수 있다.
시간(TTPD) 이전에 저장된 선택된 데이터가 판독되는 때에(즉, 시간(TP)에), 커맨드 블록(42)은, 도 3에서 Adapt라고 라벨링된 축에 도시된 바와 같이, 스위치(50)를 비활성화시키고, 이것은, 도 4의 단계(110)에 도시된 바와 같이, 향상 블록(48)의 파라미터의 추가 적응을 방지하는 효과를 갖는다. 적응 동안 획득된 파라미터 값이 이어서 저장된다. 대안으로서, 파라미터의 수렴 레이트가, 예컨대, 10배 이상, 실질적으로 감소되도록(예를 들어, 적응의 스텝 크기가 감소될 수 있거나 적응 프로세스의 시상수가 증가될 수 있음), 향상 블록(48)의 적응을 제어하는 것이 가능하다. 어느 경우든지, 이것은 향상 블록(48)의 사용 동안 파라미터의 급격한 변화 - 이는 출력의 품질에 악영향을 미치는 경향이 있을 수 있음 - 가 없다는 효과를 갖는다. 계수에 대한 최대 허용 변화 레이트는 향상 블록(48)의 계수의 변화에 대한 음성 인식 기능(14)의 감도를 테스트하는 것으로부터 경험적으로 도출될 수 있다.
시간(TP)에서, 제2 스위칭 수단(52)을 작동시키는 커맨드가 또한 제어 블록(42)으로부터 송신된다. 도 3에서 SoutEN 축에 도시된 이 커맨드 Process는 향상 블록(48)으로 하여금 도 4에 도시된 프로세스의 단계(112)에서 데이터(Bout)를 처리하고 처리된(즉, 향상된) 데이터(Sout)를 출력하는데 동결된(frozen) 또는 단지 느리게 수렴하는 계수를 사용하게 한다. 단계(114)에서, 향상된 데이터가 출력으로서 전송된다.
또한 시간(TP)에서, 그 지점 이후에 판독되는 데이터가 그 지점 이전에 판독된 데이터의 적어도 일부를 포함하도록 판독 화살표(R)가 리셋된다. 이와 같이, 시간(TP) 이전에 음성 향상 블록(48)을 트레이닝하기 위해 버퍼로부터 판독되는 데이터와 음성 향상 블록에 의한 향상을 위해 시간(TP) 이후에 버퍼로부터 판독되는 데이터 사이에 중첩이 있다.
도 3에 도시된 예에서, 시간(TP) 이후에 버퍼(38)로부터 판독되는 데이터가 음성 향상 블록(48)을 트레이닝하기 위해 사용되었던, 시간(T0)에서 시작하는, 데이터 전부를 포함하도록, 판독 화살표(R)가 시간(TTPD)에서 설정된 바로 그 지점으로 리셋된다. 이 예시된 예에서, 이 데이터는 트리거 구문(TP) 전체를 포함한다. 그렇지만, 음성 인식 프로세스의 요구사항에 따라, 시간(TP) 이후에 버퍼(38)로부터 판독되는 데이터가 트리거 구문(TP)을 나타내는 데이터 전부를 포함할 필요가 없을 수 있고, 따라서 판독 화살표(R)가 임의의 적당한 데이터 지점으로 리셋될 수 있다.
판독 화살표(R)를 리셋시키는 것에 대한 대안으로서, 시간(TP) 이전의 트레이닝 단계 동안 버퍼(38)로부터 판독되는 데이터의 일부 또는 전부가 일시적으로 캐시에 저장될 수 있고, 이어서 적응된 파라미터를 사용해 처리하기 위해 음성 향상 블록(48)을 통과하도록 시간(TP) 이후에 캐시로부터 판독될 수 있다.
어느 경우든지, 그 후에, 버퍼(38)로부터의 데이터는 시간(Tp) 이후에, 여전히 실시간보다 더 빠른 레이트로, 다시 출력된다..
도 3에서 Bout 라인에 도시된 바와 같이, 그 후에 판독되는 데이터는 트리거 구문(TP)(이 예시된 예에서)을 나타내는 버퍼(38)에 저장된 데이터 전부 및 커맨드 단어(C, C2, C3, C4)를 나타내는 데이터이고, 이후에 이 데이터는 수정된 데이터(TP*, C*, C2*, C3*, C4*)를 발생시키기 위해 음성 향상 블록(48)을 통과한다.
제어 블록(42)은 또한 트리거 구문(TP)이 끝나고 제1 커맨드 단어(C)가 시작하는 지점을 결정할 수 있고, 이 경우에 제어 블록(42)은, 트리거 구문이 향상 블록(48)에 의해 처리되었다는 것과 따라서 제1 커맨드 단어를 나타내는 수정된 데이터(C*)가 시작될 것이라는 것을 결정하는 때인, 시간(TTPS)에서 제어 블록(42)에 의해 송신될 동기화 신호(TPsync)를 발생시킬 수 있다.
이와 같이, 도 3으로부터 알 수 있는 바와 같이, Sout이라고 라벨링된 축에서, DSP(30)로부터 출력되는 데이터는 처리된 트리거 구문 데이터(TP*) 및 4개의 처리된 커맨드 단어 데이터 섹션(C*, C2*, C3* 및 C4*)이다. 이 출력된 데이터는 따라서 음성 인식 엔진 또는 임의의 다른 음성 프로세서에 의해 인식될 수 있도록 처리된다.
도 5는 도 1에서의 DSP(30)의 시스템의 추가 실시예를 도시한다. 도 5에 도시된 DSP(30)는 대부분이 도 2에 도시된 DSP(30)에 대응하고, 이 2개의 도면에서의 대응하는 특징은 동일한 참조 번호로 표시되며 본원에서 더 기술되지 않을 것이다.
도 5에서, 마이크로폰 또는 마이크로폰들로부터 직접 또는 간접적으로 획득되는 입력 신호(Bin)는 순환 버퍼(38)로, 트리거 검출 블록(40)으로, 그리고 부분 트리거 검출 블록(54)으로 전달된다.
도 2를 참조하여 논의된 바와 같이, 모든 입력 데이터가 버퍼(38), 트리거 검출 블록(40), 및 부분 트리거 검출 블록(54)으로 송신될 수 있거나, 입력 신호가 소정의 최소 신호 활동을 포함하는 것으로 결정될 때에만 데이터가 버퍼(38), 트리거 검출 블록(40), 및 부분 트리거 검출 블록(54)으로 송신되도록, 활동 검출 블록이 제공될 수 있다. 환언하면, 일부 실시예에서, 신호 활동 검출 블록은, 입력 신호에서의 적어도 소정의 최소 신호 활동이 검출되지 않는 한, 버퍼 및 트리거 검출 블록 둘 다를 비활성화시킬 수 있다. 일부 실시예에서, 신호 활동 검출 블록은, 입력 신호에서의 적어도 소정의 최소 신호 활동이 검출되지 않는 한, 트리거 검출 블록을 비활성화시키지만, 입력 신호를 계속하여 버퍼링하기 위해 버퍼를 활성으로 유지할 수 있다. 입력 신호를 계속하여 버퍼링하는 것은 신호 활동 검출기의 응답 시간 동안 도착하는 입력 신호 데이터가 나중의 사용을 위해 저장될 수 있게 할 것이다(예컨대, 트리거 구문 검출이 심지어 이 가장 이른 데이터를 사용할 수 있게 함).
부분 트리거 검출 블록(54)은 수신 신호가 제1 트리거 구문이라고 간주될 수 있는, 말해진 트리거 구문의 선택된 부분(즉, 부분 트리거 구문)을 나타내는 데이터를 포함하는지 여부를 검출한다. 예를 들어, 트리거 구문의 선택된 부분은 전형적으로 트리거 검출 블록(40)에 의해 검출되는 트리거 구문의 제1 부분일 것이다. 제1 트리거 구문(즉, 말해진 트리거 구문의 선택된 부분)의 검출 시에, 부분 트리거 검출 블록(54)은 출력 신호(TPDP)를 제어 블록(42)으로 송신한다.
도 6은 도 4에 도시된 시스템의 동작의 일 예를 도시하고, 도 7은 수행되는 프로세스를 도시하는 플로우차트이다. 도 7에 도시된 프로세스는 마이크로폰 또는 각각의 마이크로폰에 수신되는 음향 신호가 검출된 사운드를 나타내는 디지털 전기 신호로 변환되는 단계(122)로 시작한다. 단계(124)에서, 이 마이크로폰 신호가 버퍼(38)에 저장된다. 도 6에서 Bin으로 라벨링된 축은 임의의 주어진 시간에 수신되어 버퍼(38)에 기입되는 데이터를 나타낸다. 버퍼(38)에의 이와 같은 데이터 기입의 시작은 마이크로폰(18)에 의해 기록되는 사운드의 레벨이 임계값을 넘어 증가하는 것에 의해 활성화될 수 있다. 다른 실시예에서, 버퍼(38)는 계속하여 기입하고 있을 수 있다. 도면에 도시된 시간 동안, 버퍼(38)는 사용자가 미리 정의된 트리거 구문을 말하기 시작하기 전에 버퍼(38)에 의해 기록된 데이터를 나타내는 사전 데이터(PD), 트리거 구문 데이터(TP), 및 4개의 커맨드 단어 데이터 섹션(C, C2, C3, C4)을 포함한다.
도 7의 단계(126)에 도시된 바와 같이, 부분 트리거 검출 블록(54)은 수신 신호에서 트리거 구문의 선택된 부분을 검출하려고 계속하여 시도하고 있다. 이 예에서, 트리거 구문의 선택된 부분은 트리거 구문의 제1 부분이고, 트리거 구문의 선택된 부분의 끝이 시간(Tphp)에 있지만, 다른 실시예에서, 트리거 구문의 선택된 부분이, 예를 들어, 트리거 구문의 가운데에 있을 수 있다. 부분 트리거 검출 블록(54)은 불가피하게도 유한한 처리 시간을 가지며, 따라서 트리거 구문의 선택된 부분의 끝이, TPhp에서의 트리거 구문의 선택된 부분을 나타내는 데이터의 끝으로부터 시간 구간(Tddp) 후인, 시간(TTPDP)에서 부분 트리거 검출 블록(54)에 의해 실제로 검출된다.
트리거 구문의 선택된 부분의 검출은 다수의 프로세스를 개시한다. 첫째, 버퍼(38)의 출력(Bout)이 활성화되고, 버퍼(38)의 판독 포인터(R)가 기입 화살표(W)의 현재 위치로부터 시간상 뒤에 있는 미리 결정된 수의 데이터 지점으로부터 판독하도록 설정된다. 이와 같이, 버퍼의 출력은 이전에 저장된 데이터이다.
이 미리 결정된 수의 데이터 지점은 시간(T0) - 이 때부터 이전에 저장된 데이터가 판독됨 - 에서 시작하는 시간 기간을 설정한다. 판독되는 데이터는 음성 향상 블록(48)을 트레이닝하는데 사용되어야 하고, 따라서 판독되는 데이터가 트리거 구문(도 6에서 Bin 라인에 TP로서 도시됨)을 나타내는 데이터 전부를 포함하면 유리하다. 실제로는, 트리거 구문의 정확한 지속기간은 미리 알려지지 않을 것이고, 따라서 도 6은, 실제 트리거 구문(TP)의 시작보다 앞선 시간(T0)으로부터 시작하는, 도 6에 도시된 점선 영역(60)으로 표시된 데이터가 판독되도록 기입 포인터(W)가 설정되는 일 예를 도시한다. 그렇지만, 판독되는 데이터의 시작이 트리거 구문을 나타내는 데이터의 시작과 정확히 일치하도록 또는 판독되는 데이터가 트리거 구문을 나타내는 데이터 도중에서만 시작할 수 있도록, 이 미리 결정된 수의 데이터 지점이 설정될 수 있다는 것을 알 것이다.
도 6에 예시된 예에서, 미리 결정된 수의 데이터 지점은 TTPD와 같은 시점(T1)에서 끝난다. 환언하면, 이전에 저장된 데이터가 분석을 위해 판독되는 시간 기간은 트리거 구문 검출 지연(Tdd) 직후에 끝난다. 일부 실시예에서, 분석될 데이터가 검출된 트리거 구문의 실제 끝(TPh)에 더 가까운 시점에서 끝나도록, 이 지연이 보상될 수 있다.
둘째, 부분 트리거 구문의 검출은 제어 블록(42)으로 하여금 스위칭 수단(50)을 활성화시키기 위해, 도 6에 도시된 바와 같이, 커맨드 Adapt를 송신하게 한다. 이와 같이, 도 7에 도시된 프로세스의 단계(128)에서, 이 커맨드는 향상 블록(48)의 적응을 시작하기 위해 향상 블록(48)을 활성화시킨다. 이것은, 도 5에서 Coeff로 라벨링된 축에 도시된 바와 같이, 향상 블록(48)의 파라미터가 바람직한 값으로 수렴하도록 파라미터가 반복하여 적응된다는 것을 의미한다. 이 적응 프로세스 - 본원에서 향상 블록을 "트레이닝"하는 것이라고도 지칭됨 - 는 샘플링된 오디오 데이터에 기초하여 필터의 계수 및 다른 알고리즘 구성요소를 최적화하는 프로세스이다. 이 수렴은 보통 1초 정도의 시간에 걸쳐 있는 입력 데이터의 기간이 소요된다.
부분 트리거 구문의 검출은 또한 커맨드 Turbo를 클럭 제어기(44)로 송신하라고 제어 블록(42)에 요청한다. 이 "Turbo" 커맨드는 클럭 제어기(44)로 하여금 입력 데이터(Bin)의 샘플 클럭 레이트보다 더 높은 클럭 레이트로 클럭 신호를 발생시키게 한다. 이것은 데이터가 실시간보다 더 빠른(즉, 데이터가 버퍼(38)에 기입된 클럭 레이트보다 더 빠른) 클럭 레이트로 버퍼(38)로부터 판독되게 한다. 이것은 또한 적응의 수렴을 위해 필요한 실제 시간을 감소시킬 수 있다.
이 지점으로부터 계속, 데이터가 버퍼(38)로부터 계속(적어도 사용자가 말하는 것을 중단한 것으로 결정된 때까지) 판독된다. 도 6으로부터 알 수 있는 바와 같이, 버퍼(38)가 판독되고 있는 레이트는 버퍼(38)의 판독 화살표(R)가 시간(TTA)에서 기입 화살표(W)를 실질적으로 따라잡을 때까지 실시간보다 더 높게 유지된다. 이것은, 이 시간쯤에, 버퍼(38)에 입력되고 있는 데이터가 기본적으로 동시에 출력되고 있다는 것을 의미한다.
전체 트리거 구문의 끝은 시간(Tph)에 있다. 트리거 검출 블록(40)은 유한한 처리 시간을 가지며, 따라서 전체 트리거 구문의 끝이, Tph에서의 트리거 구문의 선택된 부분을 나타내는 데이터의 끝으로부터 시간 구간(Tdd) 후인, 시간(TTPD)에서 트리거 검출 블록(40)에 의해 실제로 검출된다.
앞서 언급된 바와 같이, 트리거 구문이 검출되기 전의 기간 동안 버퍼(38)에 저장되었던 데이터의 일부가 판독되는 시간 동안 향상 블록(48)의 파라미터 또는 계수가 적응된다. 도 6에 도시된 예에서, 판독되는 데이터는 시간(TTPD)까지의 데이터 전부를 포함한다. 그렇지만, 보다 이른 지점에서 이 데이터를 판독하는 것을 중단하는 것이 또한 가능하다. 예를 들어, 판독되는 데이터의 지속기간은 향상 블록(48)의 파라미터가 적당한 값으로 수렴하는데 소요될 시간의 예상에 기초하여 설정될 수 있다.
시간(TTPD) 이전에 저장된 선택된 데이터가 판독된 때에(즉, 시간(TP)에), 커맨드 블록(42)은, 도 6에서 Adapt라고 라벨링된 축에 도시된 바와 같이, 스위치(50)를 비활성화시키고, 이것은, 도 7의 단계(130)에 도시된 바와 같이, 향상 블록(48)의 파라미터의 추가 적응을 방지하는 효과를 갖는다. 적응된 파라미터는 이어서 추가 사용을 위해 저장된다. 대안으로서, 파라미터의 수렴 레이트가 실질적으로 감소되도록, 향상 블록(48)의 적응을 제어하는 것이 가능하다. 어느 경우든지, 이것은 향상 블록(48)의 사용 동안 파라미터의 급격한 변화 - 이는 출력의 품질에 악영향을 미치는 경향이 있을 수 있음 - 가 없다는 효과를 갖는다. 계수에 대한 최대 허용 변화 레이트는 향상 블록(48)의 계수의 변화에 대한 음성 인식 기능(14)의 감도를 테스트하는 것으로부터 경험적으로 도출될 수 있다.
시간(TP)에서, 제2 스위치(52)를 작동시키는 커맨드가 또한 제어 블록(42)으로부터 송신된다. 도 3에서 SoutEN 축에 도시된 이 커맨드 Process는 향상 블록(48)으로 하여금 데이터(Bout)를 처리하고 처리된 데이터(Sout)를 출력하는데 동결된(frozen) 또는 단지 약간 수렴하는 계수를 사용하게 한다.
또한 시간(TP)에서, 그 지점 이후에 판독되는 데이터가 그 지점 이전에 판독된 데이터의 적어도 일부를 포함하도록 판독 화살표(R)가 리셋된다. 이와 같이, 시간(TP) 이전에 음성 향상 블록(48)을 트레이닝하기 위해 버퍼로부터 판독되어 사용되는 데이터와 음성 향상 블록에 의한 향상을 위해 시간(TP) 이후에 버퍼로부터 판독되는 데이터 사이에 중첩이 있다. 도 6에 도시된 예에서, 그리고 도 7의 단계(132)에 도시된 바와 같이, 시간(TP) 이후에 버퍼(38)로부터 판독되는 데이터가 음성 향상 블록(48)을 트레이닝하기 위해 사용되었던 데이터 전부를 포함하도록, 판독 화살표(R)가 시간(TTPD)에서 설정된 바로 그 지점인 시점(T0)으로 리셋된다. 이 예시된 예에서, 이 데이터는 트리거 구문(TP) 전체를 포함한다. 그렇지만, 음성 인식 프로세스의 요구사항에 따라, 시간(TP) 이후에 버퍼(38)로부터 판독되는 데이터가 트리거 구문(TP)을 나타내는 데이터 전부를 포함할 필요가 없을 수 있고, 따라서 판독 화살표(R)가 임의의 적당한 데이터 지점으로 리셋될 수 있다.
그 후에, 버퍼(38)로부터의 데이터는 시간(Tp) 이후에, 여전히 실시간보다 더 빠른 레이트로, 다시 출력된다.
도 6에서 Bout 라인에 도시된 바와 같이, 그 후에 판독되는 데이터는 트리거 구문(TP)(이 예시된 예에서)을 나타내는 버퍼(38)에 저장된 데이터 전부 및 커맨드 단어(C, C2, C3, C4)를 나타내는 데이터이고, 이후에 이 데이터는 수정된 데이터(TP*, C*, C2*, C3*, C4*)를 발생시키기 위해 음성 향상 블록(48)을 통과한다.
도 7의 단계(134)에서, 이 향상된 데이터(Sout)가 출력으로서 전송된다.
제어 블록(42)은 또한 트리거 구문(TP)이 끝나고 제1 커맨드 단어(C)가 시작하는 지점을 결정할 수 있고, 이 경우에 제어 블록(42)은, 트리거 구문이 향상 블록(48)에 의해 처리되었다는 것과 따라서 제1 커맨드 단어를 나타내는 수정된 데이터(C*)가 시작될 것이라는 것을 결정하는 때인, 시간(TTPS)에서 제어 블록(42)에 의해 송신될 동기화 신호(TPsync)를 발생시킬 수 있다.
이와 같이, 도 6으로부터 알 수 있는 바와 같이, Sout이라고 라벨링된 축에서, DSP(30)로부터 출력되는 데이터는 처리된 트리거 구문 데이터(TP*) 및 4개의 처리된 커맨드 단어 데이터 섹션(C*, C2*, C3* 및 C4*)이다. 이 출력된 데이터는 따라서 음성 인식 엔진 또는 임의의 다른 음성 프로세서에 의해 보다 용이하게 또는 보다 정확하게 인식될 수 있도록 처리된다.
이와 같이, 도 5에 도시되고 도 6 및 도 7을 참조하여 기술되는 실시예에서, 향상 블록(48)의 파라미터의 적응이 도 2에 도시되고 도 3 및 도 4를 참조하여 기술된 실시예에서보다 더 일찍 시작된다. 이와 같이, 향상된 음성 데이터를 보다 일찍 송신하기 시작하여, 음성 인식 시스템에서의 임의의 처리 지연을 감소시키는 것이 가능하다.
물론, 수신 데이터가, 전체 트리거 구문을 나타내는 데이터를 포함하지 않고, 트리거 구문의 선택된 제1 부분을 나타내는 데이터를 포함할 수 있는 것이 가능하다. (사용자가 트리거 구문을 포함하지 않지만 트리거 구문의 선택된 제1 부분을 우연히 포함하는 구문을 말할 수 있다.) 따라서, 제어 블록(42)은, 트리거 구문의 선택된 부분이 검출되었다는 것을 나타내는 신호(TPDP)를 수신할 때, 전체 트리거 구문이 검출되었다는 것을 나타내는 신호(TPD)가 도착하는지 모니터링한다. 신호(TPD)가 신호(TPDP)의 도착으로부터 미리 설정된 시간 내에 발생되지 않으면, 향상 블록(48)의 파라미터의 적응이 중단되고 향상 블록으로부터 어떤 데이터도 출력되지 않도록, 리셋 신호가 발생될 수 있다. 일부 실시예에서, 트리거 구문 검출기는 이 타임아웃이 경과하기 전에 수신 데이터가 전체 트리거 단어(full trigger word)를 포함하지 않는 것으로 추론할 수 있을 것이고, 트리거 구문 검출기가 이것을 제어 블록으로 전달할 수 있는 신호 경로(예시되지 않음)가 있을 수 있으며, 제어 블록은 그러면 향상 처리를 즉각 비활성화시킬 수 있다.
전체 트리거 구문의 수신의 확인은 또한 회로 또는 디바이스의 다른 부분을 파워 업하는데(예를 들면, 다른 프로세서 코어를 활성화시키거나 디스플레이 화면을 인에이블시키는데) 사용될 수 있다. 또한 일부 실시예에서, 로컬 프로세서(예를 들어, 애플리케이션 프로세서)는 ASR 기능의 일부를 수행하는데 사용될 수 있고, 따라서 신호(TPD)는 프로세서의 연관된 부분을 활성화시키거나 적절한 소프트웨어를 그에 로드하는데 사용될 수 있다.
도 8은 도 1에서의 DSP(30)의 시스템의 추가 실시예를 도시한다. 도 8에 도시된 DSP(30)는 대부분이 도 2에 도시된 DSP(30)에 대응하고, 이 2개의 도면에서의 대응하는 특징은 동일한 참조 번호로 표시되며 본원에서 더 기술되지 않을 것이다.
이와 같이, 도 2에서와 같이, 하나 이상의 마이크로폰(18)으로부터의 신호가 버퍼(38)로 그리고 신호가 말해진 트리거 구문을 나타내는 데이터를 포함하는지 여부를 검출하는 트리거 검출 블록(40)으로 송신된다. 제어 블록(42)은 트리거 검출 블록(40)으로부터 출력 신호(TPD)를 수신하고, 그 신호에 응답하여, 클럭(44), 및 버퍼 제어 블록(46)을 통한 버퍼(38)의 순차적 판독 및 기입을 제어한다. 버퍼(38)의 판독 출력(Bout)은 음성 향상 블록(48)으로 전달된다. 음성 향상 블록(48)의 적응적 기능은 제어 블록(42)에 의해 작동되는 스위칭 수단(50)에 의해 제어된다. 향상 블록(48)에서 일어나는 처리의 레이트는 클럭(44)으로부터의 출력에 의해 제어된다. 음성 향상 블록의 출력(Sout)은 제어 블록(42)에 의해 역시 작동되는 제2 스위칭 수단(52)에 의해 제어된다. 동기화 신호(TPsync)가 Sout 데이터 신호와 병렬로 송신되거나, 그와 동일한 채널에 삽입될 수 있다.
도 8에 도시된 실시예에서, 시스템은 도 1에 도시된 신호 소스(24)와 같은 미디어 재생 소스를 포함하는 디바이스에서의 사용에 특히 적당하다. 신호 소스(24)로부터의 신호(Spb)가 청취자의 주목을 끌기 위한 사운드를 발생시키기 위해 스피커(22)에 인가된다. DSP(30)는 또한 신호(Spb)를 수신하기 위해 연결되고, 마이크로폰으로부터 입력되는 신호에 부가되어 그 내의 임의의 반향 성분을 제거하도록 의도되어 있는 반향 제거 신호(echo cancellation signal)를 발생시키도록 적응된 음향 반향 제거(AEC) 블록(56)을 포함한다. 그 결과 얻어지는 신호가 앞서 기술된 바와 같이 입력(Bin)으로서 사용된다.
AEC 블록(56)은 적응적이고, 따라서 그의 파라미터는 그가 수신하는 신호에 응답하여 조절된다. 그렇지만, 이 예시된 실시예에서, 디스에이블 신호("AECdis")는 향상 처리 블록(48)의 초기 적응 동안, 또는 향상된 데이터가 향상 처리 블록(48)으로부터 출력되고 있는 동안, 또는 둘 다에서 제어 블록(42)에 의해 발생된다.
디스에이블 신호(AECdis)가 활성인 동안, 스위치(58)가 개방되고, 따라서 향상 블록(48)이 Bout 신호에 적응하고 그리고/또는 그를 처리하는 동안 음향 반향 제거 블록(56)의 적응이 중지되거나 느려진다. 이것은 여전히 음향 반향 제거가 AEC 블록(56)에 의해 수행될 수 있게 하지만, 음향 환경에 대한 블록의 파라미터의 적응을 일시 정지시킨다. 이것은 적응 중인 AEC 블록(56)에 의해 야기될 수 있는 음성 경로에서의 임의의 아티팩트를 피하는 장점을 갖는다.
이 실시예가 또한 도 5, 도 6 및 도 7과 관련하여 기술된 바와 거의 동일한 방식으로 기능하는 부분 트리거 검출 블록(54)의 존재를 포함할 수 있다는 것을 알 것이다.
도 9는 도 1에서의 DSP(30)의 시스템의 추가 실시예를 도시한다. 도 9에 도시된 DSP(30)는 대부분이 도 5에 도시된 DSP(30)에 대응하고, 이 2개의 도면에서의 대응하는 특징은 동일한 참조 번호로 표시되며 본원에서 더 기술되지 않을 것이다.
도 9에 도시된 바와 같이, DSP(30)는 각자의 입력 신호(Bin1, ..., BinN)를, 직접 또는 간접적으로, 생성하는 다수의 마이크로폰(18, 20)이 있고, 이 신호가 순환 버퍼(38)로, 제1 트리거 검출 블록(70)으로 그리고 제2 트리거 검출 블록(72)으로 전달되는 상황에 대해 특히 유용하다.
도 2를 참조하여 논의된 바와 같이, 입력 데이터가 버퍼(38), 제1 트리거 검출 블록(70), 및 제2 트리거 검출 블록(72)으로 계속적으로 송신될 수 있거나, 입력 신호가 소정의 최소 신호 활동을 포함하는 것으로 결정될 때에만 데이터가 버퍼(38), 제1 트리거 검출 블록(70), 및 제2 트리거 검출 블록(72)으로 송신되거나 그에 의해 수신되거나 그에 의해 처리되도록, 활동 검출 블록이 제공될 수 있다. 환언하면, 일부 실시예에서, 신호 활동 검출 블록(예시되지 않음)은, 입력 신호에서의 적어도 소정의 최소 신호 활동이 검출되지 않는 한, 버퍼 및 트리거 검출 블록 둘 다를 비활성화시킬 수 있다. 일부 실시예에서, 신호 활동 검출 블록은, 입력 신호에서의 적어도 소정의 최소 신호 활동이 검출되지 않는 한, 트리거 검출 블록을 비활성화시키지만, 입력 신호를 계속하여 버퍼링하기 위해 버퍼를 활성으로 유지할 수 있다. 입력 신호를 계속하여 버퍼링하는 것은 신호 활동 검출기의 응답 시간 동안 도착하는 입력 신호 데이터가 나중의 사용을 위해 저장될 수 있게 할 것이다(예컨대, 트리거 구문 검출이 심지어 이 가장 이른 데이터를 사용할 수 있게 함).
제1 트리거 검출 블록(70)은, 비교적 느슨한 검출 기준 - 제1 트리거 검출 블록(70)이 데이터에서 트리거 구문을 인식할 확률이 아주 높지만 그에 대응하여 거짓 포지티브(false positive)(즉, 실제로는 말해지지 않은 트리거 구문의 존재를 검출하는 것)의 위험이 높다는 것을 의미함 - 을 사용하여, 수신 신호가 말해진 트리거 구문을 나타내는 데이터를 포함하는지 여부를 검출한다. 제2 트리거 검출 블록(72)도 또한, 그러나 비교적 엄밀한 검출 기준 - 제2 트리거 검출 블록(70)이 거짓 포지티브 검출을 생성할 위험이 보다 낮다는 것을 의미함 - 을 사용하여, 수신 신호가 말해진 트리거 구문을 나타내는 데이터를 포함하는지 여부를 검출한다. 제1 트리거 검출 블록은 제2 트리거 검출 블록보다 덜 복잡할 수 있고, 따라서 활성일 때 보다 적은 전력을 소비하고 그리고/또는 보다 덜 계산 집중적일 수 있다. 제1 트리거 검출 블록이 가능성 있는 트리거 구문을 검출한 후에만 제2 트리거 검출 블록이 활성화될 수 있다.
모든 마이크로폰으로부터의 신호(Bin1, ..., BinN)가 제1 트리거 검출 블록(70)으로 전달될 수 있지만, 마이크로폰들(18, 20) 중 하나만을 선택하고 대응하는 입력 신호만을 제1 트리거 검출 블록(70)에 공급하는 것이 바람직할 수 있다. 선택될 마이크로폰은 사전에 지정될 수 있고 하드 와이어링되거나 고정된 제어 입력 값을 갖는 선택기(74)를 통해 전달될 수 있다. 대안적으로, 마이크로폰이, 예시되지 않은 소정의 부가 회로에 의해, 사용 중에 선택될 수 있다 - 예를 들어, 가장 큰 보이스 입력을 이전에 수신한 마이크로폰, 또는 (소정의 저 빈도수 폴링(low frequency polling)에 의해) 가장 많은 신호 활동을 최근에 수신하는 것, 또는 일부 다른 센서에 의해 검출되는 호스트 디바이스의 배향에 기초함 -.
이 예시된 실시예에서, 음성 향상 블록(48)은 다수의 마이크로폰 소스(유리하게는 상이한 방향으로부터의 사운드를 검출하도록 적어도 얼마간 방향성이 있고 호스트 디바이스 상에 위치될 수 있음)로부터 데이터를 수신하고 입력 신호들의 선택 및/또는 조합의 형태로 출력 신호를 발생시키는 빔형성기(beamformer)의 형태를 취한다. 출력 신호는, 예를 들어, 입력 신호에 상이한 가중치(weighting) 및 위상(phasing)을 적용하는 것에 의해 입력 신호로부터 획득될 수 있다. 이와 같이, 잡음이 어느 정도 있는 환경에서, 마이크로폰들 중 임의의 단일의 마이크로폰을 단독으로 사용하여 달성가능한 것보다 더 높은 신호대 잡음비를 갖는 출력 신호를 생성하기 위해, 출력 신호는 일반적으로 스피커 쪽으로 지향되어 있는 하나 이상의 마이크로폰으로부터의 신호를 강조할 수 있고 배경 잡음의 소스 쪽으로 지향되어 있는 하나 이상의 마이크로폰으로부터의 신호를 억압할 수 있다. 빔형성기는 또한 마이크로폰 소스로부터 수신되는 신호에 상대 시간 지연을 적용할 수 있다. 음향 신호가 특정 상대 시간 지연으로 개별 마이크로폰에 도착하도록 배향되어 있는 사운드 소스(sound source)로부터의 신호는, 보상 시간 지연(compensating time delay)이 적용되고 신호들이 이어서 가산될 때, 보강(reinforce)될 것이다. 음향 신호가 특정 시간 지연을 갖는 역위상으로 개별 마이크로폰에 도착하도록 배향되어 있는 사운드 소스로부터의 신호는, 보상 시간 지연이 적용되고 신호들이 이어서 가산될 때, 상쇄(cancel)될 것이고, 따라서 그렇게 배향된 사운드 소스에 널 응답(null response)을 제공한다. 예를 들어, 모바일 전화기의 전면 상의 2개 이상의 마이크로폰으로부터의 신호들이, 사용자의 보이스가 전화기를 쳐다보고 있을 때로부터 온 것일 가능성이 있는 방향에서, 전화기의 전면에 직교인 피크 응답을 제공하기 위해, 그리고 배경 잡음이 사용자의 머리의 후방으로부터 올 수 있는 전화기의 표면에 대한 각도에서 널을 제공하기 위해, 가산될 수 있다. 이 마이크로폰 신호에 적용되는 상대 지연을 변경하는 것에 의해, 피크 응답의 방향이 사용자의 실제 배향과 더 양호하게 정렬되도록 조절될 수 있다.
이 조절은 적응된 지연의 값이 만족스럽게 수렴되기 전에 어쩌면 1초 정도의 시간 기간(time span) 동안 실제로 수신되는 신호에 기초한 적응을 필요로 할 수 있다. 보다 많은 마이크로폰을 갖는 시스템에 대해, 각각의 상대 지연 및 가중치가 적응될 수 있다. 일부 실시예에서, 마이크로폰들 중 일부 또는 전부가 예상된 방향으로부터의 사운드의 수신을 돕도록 디지털 처리에 의해 제공되는 방향성을 보완하기 위해 신중한 방향성으로 설계될 수 있다. 이 적응 프로세스 - 본원에서 향상 블록을 "트레이닝"하는 것이라고도 지칭됨 - 는 샘플링된 오디오 데이터에 기초하여 필터의 계수 및 다른 알고리즘 구성요소를 최적화하는 프로세스이다. 빔형성기의 형태의 향상 블록의 경우에, 트레이닝 또는 적응은, 예를 들어, 빔형성기의 방향성을 구성한다. 다수의 마이크로폰으로부터의 오디오 데이터를 사용하여 알고리즘을 트레이닝하는 것에 의해, 음성 소스를 식별하는 것과 가장 큰 음성 소스의 방향으로부터의 오디오 내용을 향상시키고 다른 소스로부터의 오디오를 감쇠시키도록 빔형성기의 필터를 구성하는 것이 가능하다.
도 10은 도 9에 도시된 시스템의 동작의 일 예를 도시하고, 도 11은 수행되는 프로세스를 도시하는 플로우차트이다. 도 7에 도시된 프로세스는 마이크로폰(18, 20)에 수신되는 음향 신호가 검출된 사운드를 나타내는 디지털 전기 신호(Bin1, ..., BinN)로 변환되는 단계(152)로 시작한다. 단계(154)에서, 이 마이크로폰 신호들 중 하나 이상이 버퍼(38)에 저장된다. 도 10에서, Bin으로 라벨링된 축은 임의의 주어진 시간에 수신되어 버퍼(38)에 기입되는 데이터를 나타낸다. 버퍼(38)에의 이와 같은 데이터 기입의 시작은 마이크로폰(18)에 의해 기록되는 사운드의 레벨이 임계값을 넘어 증가하는 것에 의해 활성화될 수 있다. 다른 실시예에서, 버퍼(38)는 계속하여 기입될 수 있다. 도 10에 도시된 시간 동안, 버퍼(38)는 사용자가 미리 정의된 트리거 구문을 말하기 시작하기 전에 버퍼(38)에 의해 기록된 데이터를 나타내는 사전 데이터(PD), 트리거 구문 데이터(TP), 및 4개의 커맨드 단어 데이터 섹션(C, C2, C3, C4)을 포함한다.
도 11의 단계(156)에 도시된 바와 같이, 제1 트리거 검출 블록(70)은 수신 신호들 중 하나 이상에서 트리거 구문의 선택된 부분을 검출하려고 계속하여 시도하고 있다. 이 예에서, 트리거 구문의 선택된 부분은 트리거 구문의 전체이지만, 다른 실시예에서, 트리거 구문의 선택된 부분이 트리거 구문의 단지 일부 - 예를 들면, 보다 빠른 응답을 가능하게 하기 위해 트리거 구문의 전반부 또는 일부, 또는 소정의 종래의 보다 일반적인 신호 활동 검출기에 의한 트리거 구문 검출기의 활성화에서의 지연을 감안하게 하기 위해 트리거 구문의 후반부 또는 일부 - 일 수 있다. 제1 트리거 구문 검출 블록(70)은 불가피하게도 유한한 처리 시간을 가지며, 따라서 트리거 구문의 선택된 부분의 끝이, TPh에서의 트리거 구문의 선택된 부분(이 예에서, 전체)을 나타내는 데이터의 끝으로부터 시간 구간(Tdd) 후인, 시간(TTPD1)에서 제1 트리거 검출 블록(70)에 의한 출력(TPD1)(도 10)에 의해 실제로 검출되고 플래깅된다.
앞서 언급된 바와 같이, 제1 트리거 검출 블록(70)은 비교적 느슨한 검출 기준 - 데이터에서 트리거 구문을 인식할 확률이 아주 높지만 거짓 포지티브의 위험이 상당하다는 것을 의미함 - 을 사용하여 그의 검출을 행한다.
제1 트리거 검출 블록(70)에 의한 검출은 다수의 프로세스를 개시한다. 첫째, 버퍼(38)의 출력(Bout)이 활성화되고, 버퍼(38)의 판독 포인터(R)가 기입 화살표(W)의 현재 위치로부터 시간상 뒤에 있는 특정 수의 데이터 지점으로부터 판독하도록 설정된다. 이와 같이, 시간(TTPD1)으로부터, 버퍼의 출력은 이전에 저장된 데이터, 예컨대, TPhs와 같은 소정의 시간(TS)부터의 데이터를 출력하기 시작한다.
시간(TTPD1)에서, 버퍼(38)는 소정의 이전의 시간(TBS1)(버퍼의 크기에 의존함)부터 TTPD1까지 판독된 데이터를 포함할 것이다. 실제로는, 판독된 데이터가 트리거 구문을 나타내는 데이터 전부(도 10에서 Bin 라인에 TP로서 도시됨)를 포함하도록 - TBS1부터 TTPD1까지의 모든 데이터가 판독될 수 있도록 - 하기 위해, 트리거 구문의 정확한 지속기간이 사전에 알려지지 않을 것이다.
그렇지만, 일부 실시예에서, 제1 트리거 검출 블록(70)은 (a) 트리거 구문의 실제 끝의 시간(TPh); 또는 (b) 트리거 구문이 실제로 시작된 시간(TPhs) 중 적어도 하나의 양호한 추정치를 전달할 수 있다. 도 10에 예시된 바와 같이, Bout 라인 상의 판독된 데이터는 따라서 TPhs와 같은 시간(TS)부터 TPh와 같은 시간(TF)까지 걸쳐 있을 수 있다. 이와 같이, 음성 향상 블록(48)을 트레이닝하는데 실제로 사용되는 데이터는 트리거 구문을 나타내는 데이터 전부(도 10에서 Bin 라인에 TP로서 도시됨)를 포함하지만 선행하는 또는 후속하는 비트리거 구문 사운드 데이터(non-trigger phrase sound data) 중 어느 것도 포함하지 않는다.
둘째, 부분 트리거 구문의 검출은 제어 블록(42)으로 하여금 어쩌면 클럭 라인(CK) 또는 소정의 제어 라인(예시되지 않음)을 제어하는 것에 의해 향상 블록(48)을 활성화시키게 하고 도 10에 도시된 바와 같이 커맨드 라인 "Adapt"에 의해 제어되는 스위칭 수단(50)으로 나타낸 바와 같이 향상 블록(48)의 적응을 활성화시키게 한다(그렇지만 이 스위칭은 물리적 스위칭(physical switching)보다는 특정의 프로그램 플로우의 형태를 취한다). 이와 같이, 도 11에 도시된 프로세스의 단계(158)에서, 이 커맨드는 향상 블록(48)의 적응을 시작하기 위해 향상 블록(48)을 활성화시킨다. 이것은, 도 10에서 "Coeff"로 라벨링된 축에 도시된 바와 같이, 향상 블록(48)의 파라미터가 바람직한 값으로 수렴하도록 파라미터가 반복하여 적응된다는 것을 의미한다. 이 수렴은 보통 1초 정도의 시간 기간이 소요된다.
앞서 논의된 바와 같이, 향상 블록(48)은, 이 예에서, 빔형성기일 수 있고, 따라서 적응 프로세스는, 보다 높은 신호대 잡음비를 갖는 출력 신호를 발생시키기 위해, 다수의 마이크로폰 신호에 적용되는 가중치 및 위상을 선택하는 것을 포함한다.
예를 들어, 빔형성기 적응 알고리즘은 가장 큰 보이스 유사 신호(voice-like signal)를 계속 추적함으로써 빔이 이 신호 쪽으로 항상 지향되도록 할 수 있다. 이와 같이, 빔형성기를 적응시키는데 사용되는 데이터가, 트리거 구문 이전에 또는 그 이후에 존재하는 다른 사운드(예를 들어, 다른 사람으로부터 또는 근방의 텔레비전 또는 구내 방송 시스템으로부터의 배경 음성 - 알고리즘이 잘못하여 빔을 이들 쪽으로 조종하려고 시도할 수 있음 - 을 포함할 수 있음)도 포함하는 것보다는, 사용자에 의해 말해졌을 가능성이 가장 많은 알려진 트리거 구문만을 포함하는 것이 유리하다. 또한, 동시 발생의 배경 잡음을 제거(reject)하는데 도움을 주기 위해, 적응이 트리거 구문에 대해(예컨대, 그의 가능성 있는 스펙트럼과 관련하여) 최적화될 수 있다. 또한, 관련성 없는 샘플을 처리하지 않는 것은 불필요한 전력을 소비하는 것을 피하고, 최대 처리 속도 요구사항을 감소시킬 수 있다. 또한, 처리 시간의 임의의 감소는 그 사이에 버퍼링을 계속할 필요성을 감소시킬 수 있고, 임의의 사전 데이터(PD)를 조기에 폐기하는 것은 버퍼링 크기 요구사항을 감소시킬 수 있다.
트리거 구문 또는 그의 일부의 제1 검출은 또한 커맨드 "Turbo"를 클럭 제어기(44)로 송신하라고 제어 블록(42)에 요청한다. 이 "Turbo" 커맨드는 클럭 제어기(44)로 하여금 입력 데이터(Bin)의 샘플 클럭 레이트보다 더 높은 클럭 레이트로 클럭 신호를 발생시키게 한다. 이것은 데이터가 실시간보다 더 빠른(즉, 데이터가 버퍼(38)에 기입된 클럭 레이트보다 더 빠른) 클럭 레이트로 버퍼(38)로부터 판독되게 한다.
이 지점으로부터 계속, 데이터가 버퍼(38)로부터 계속(적어도 사용자가 말하는 것을 중단한 것으로 결정된 때까지) 판독된다. 도 10으로부터 알 수 있는 바와 같이, 버퍼(38)가 판독되고 있는 레이트는 버퍼(38)의 판독 화살표(R)가 시간(TTA)에서 기입 화살표(W)를 실질적으로 따라잡을 때까지 실시간보다 더 높게 유지된다. 이것은, 이 시간쯤에, 버퍼(38)에 입력되고 있는 데이터가 기본적으로 동시에 출력되고 있다는 것을 의미한다.
전체 트리거 구문의 끝은 시간(TPh)에 있다. 제1 트리거 검출 블록(70)은 유한한 처리 시간을 가지며, 따라서 전체 트리거 구문의 끝이, TPh에서의 트리거 구문 또는 그의 선택된 부분을 나타내는 데이터의 끝으로부터 시간 구간(Tdd) 후인, 시간(TTPD1)에서 트리거 검출 블록(70)에 의해 실제로 검출된다.
앞서 언급된 바와 같이, 트리거 구문이 검출되기 전의 기간 동안 버퍼(38)에 저장되었던 데이터의 일부가 판독되는 시간 동안 향상 블록(48)의 파라미터 또는 계수가 적응된다. 도 10에 도시된 예에서, 판독되는 데이터는 시간(TPh)까지의 데이터 전부를 포함한다. 그렇지만, 보다 이른 지점에서 이 데이터를 판독하는 것을 중단하는 것이 또한 가능하다. 예를 들어, 판독되는 데이터의 지속기간은 향상 블록(48)의 파라미터가 적당한 값으로 수렴하는데 소요될 시간의 예상에 기초하여 설정될 수 있다.
시간(TPh) 이전에 저장된 선택된 데이터가 판독된 때에(즉, 시간(TP)에), 커맨드 블록(42)은, 스위치(50)와 관련하여 도 9에 예시된 바와 같이 그리고 도 10에서 "Adapt"라고 라벨링된 축에 도시된 바와 같이 제어 신호 Adapt에 의해, 도 11의 단계(160)에 도시된 바와 같이, 향상 블록(48)의 파라미터의 추가 적응을 비활성화시킨다. 적응된 파라미터는 이어서 추가 사용을 위해 저장된다. 대안으로서, 파라미터의 수렴 레이트가 실질적으로 감소되도록, 향상 블록(48)의 적응을 제어하는 것이 가능하다. 어느 경우든지, 이것은 향상 블록(48)의 사용 동안 파라미터의 급격한 변화 - 이는 출력의 품질에 악영향을 미치는 경향이 있을 수 있음 - 가 없다는 효과를 갖는다. 계수에 대한 최대 허용 변화 레이트는 향상 블록(48)의 계수의 변화에 대한 음성 인식 기능(14)의 감도를 테스트하는 것으로부터 경험적으로 도출될 수 있다.
시간(TP)에서, 그 지점 이후에 버퍼(38)로부터 판독되는 데이터가 그 지점 이전에 판독된 데이터의 적어도 일부를 포함하도록 판독 화살표(R)가 리셋된다. 이와 같이, 시간(TP) 이전에 음성 향상 블록(48)을 트레이닝하기 위해 버퍼로부터 판독되어 사용되는 데이터와 음성 향상 블록에 의한 향상을 위해 시간(TP) 이후에 버퍼로부터 판독되는 데이터 사이에 중첩이 있다.
도 10에 도시된 예에서, 그리고 도 11의 단계(162)에 도시된 바와 같이, 시간(TP) 이후에 버퍼(38)로부터 판독되는 데이터가 음성 향상 블록(48)을 트레이닝하기 위해 사용되었던 데이터 전부를 포함하도록, 판독 화살표(R)가 시간(TTPD1)에서 설정된 바로 그 지점인 시점(TS)으로 리셋된다. 이 예시된 예에서, 이 데이터는 트리거 구문(TP) 전체를 포함한다. 그렇지만, 음성 인식 프로세스의 요구사항에 따라, 시간(TP) 이후에 버퍼(38)로부터 판독되는 데이터가 트리거 구문(TP)을 나타내는 데이터 전부를 포함할 필요가 없을 수 있고, 따라서 판독 화살표(R)가 임의의 적당한 데이터 지점으로 리셋될 수 있다.
그 후에, 버퍼(38)로부터의 데이터는 시간(Tp) 이후에, 여전히 실시간보다 더 빠른 레이트로, 다시 출력된다.
도 10에서 Bout 라인에 도시된 바와 같이, 그 이후에 원래의 시간(TS)부터 시작하여 시간(TF)까지 판독되는 데이터는 트리거 구문(TP)(즉, TPhs부터 TPh까지(이 예시된 예에서 - 다른 예에서는, 판독된 데이터가 소정의 보다 이른 또는 보다 늦은 데이터도 포함할 수 있음))을 나타내는 버퍼(38)에 저장된 데이터의 일부이다.
도 9에 도시된 바와 같이, 음성 향상 블록(48)의 출력이 제2 트리거 검출 블록(72)의 입력에 공급된다. 이와 같이, 도 11에 도시된 프로세스의 단계(164)에서, 제2 트리거 검출 블록(72)은 버퍼(38) 내의 저장소로부터 판독되는 데이터(TP)로부터 얻어지는 음성 향상 블록(48)의 출력(TP*)에 대해 트리거 검출 프로세스를 수행하며, 음성 향상 블록(48)은 동결된 또는 단지 느리게 수렴하는 계수를 사용한다.
제2 트리거 검출 블록(72)은 그가 수신하는 데이터에서 명시된 트리거 구문을 나타내는 데이터의 존재를 검출하도록 구성될 수 있거나, 특정의 화자에 의해 말해질 때, 명시된 트리거 구문을 나타내는 데이터의 존재를 검출하도록 구성될 수 있다. 제2 트리거 검출 블록(72)은 낮은 오수락 레이트(false acceptance rate)를 갖도록 조정된다. 이와 같이, 제2 트리거 검출 블록(72)은 제1 트리거 검출 블록(70)보다 더 엄격한 검출 기준을 갖도록 구성된다. 즉, 제1 트리거 검출 블록(70)에 의해서는 트리거 구문을 포함하는 것으로서 수락될 것이지만 제2 트리거 검출 블록(72)에 의해서는 트리거 구문을 포함하지 않는 것으로서 거부될 특정 입력 신호가 있다.
이 실시예에서, 제2 트리거 검출 블록(72)은 음성 향상 블록(48)을 통과했고 따라서 잡음 레벨을 감소시킨 입력 신호(TP*)에 대해 작용한다는 사실로부터 이득을 본다. 감소된 잡음 레벨은 또한, 정의된 트리거 구문의 존재를 검증하기 위해서뿐만 아니라 트리거 구문을 말하는 사람의 신원을 검증하기 위해서도, 이 블록에서 보다 신뢰성 있는 화자 인식 기능을 제공하는 것을 실현가능하게 만들 수 있다.
제2 트리거 검출 블록(72)은 유한한 처리 시간을 갖고, 따라서 향상된 데이터(TP*)의 끝이 제2 트리거 검출 블록(72)을 통과한 시간보다 시간(Tdd2)만큼 더 늦은 시간(TTPD2)에서 트리거 구문이 존재한다고 결정하는 것만이 가능하다. 도 11의 단계(164)에서 제2 트리거 검출 블록(72)에 의해 트리거 구문이 존재한다는 것이 발견되면, 제2 트리거 검출 블록(72)은 신호(TPD2)를 제어 블록(42)으로 송신하고, 프로세스는 단계(166)로 넘어가며, 커맨드 단어(C, C2, C3, C4)를 나타내는 데이터가 수정된 데이터(C*, C2*, C3*, C4*)를 발생시키기 위해 음성 향상 블록(48)을 통과한다.
시간(TPD2)에서(또는, 예를 들어, 음성 향상 블록(48)에서의 임의의 처리 또는 전파 지연을 감안하기 위해 보다 정확하게는 약간 더 늦게), 향상 블록(48)으로부터 출력되는 향상된 데이터가 Sout 라인 상에 출력되게 하기 위해, 제2 스위치(52)에 의해 개략적으로 예시된 바와 같이, 도 10에 예시된 커맨드(SoutEN)가 또한 제어 블록(42)으로부터 송신된다. 도 11의 단계(168)에서, 이 향상된 데이터(Sout)가 출력으로서 전송된다.
이 예에서, 도 10에 예시된 바와 같이, 전송되는 데이터가 원래는 제1 커맨드 단어의 잠재적인 시작 시간에서(즉, TPh에서, 트리거 구문의 끝에서) 데이터(C)로 시작된다.
향상된 데이터의 제1 부분이 저장되도록 버퍼(예를 들어, FIFO(first-in, first-out) 버퍼)가 스위치(52) 이전에 제공될 수 있다. 이 FIFO 버퍼의 내용은 이어서, 제2 트리거 검출 블록(72)이 트리거 구문의 존재를 검출하는 경우에만, 음성 인식 시스템으로의 출력 상에 공급될 수 있고, 그렇지 않은 경우에는 폐기될 수 있다. 이와 같이, 그렇지 않았으면 폐기될, 향상된 트리거 구문 데이터(TP*)가 또한 다운스트림 신호 처리에 이용가능하도록 하기 위해 전송될 수 있다. FIFO 버퍼(76)가 도 9에는 예시되어 있지만, 간단함을 위해 도 10은 이 동작 모드를 예시하지 않는다 - 예시된 모드에서, FIFO가 사실상 우회됨 -.
제어 블록(42)은 또한 트리거 구문(TP)이 끝나고 제1 커맨드 단어(C)가 시작하는 지점을 결정할 수 있고, 이 경우에 제어 블록(42)은, 트리거 구문이 향상 블록(48)에 의해 처리되었다는 것과 따라서 제1 커맨드 단어를 나타내는 수정된 데이터(C*)가 시작될 것이라는 것을 결정하는 때인, 시간(TTPS)에서 제어 블록(42)에 의해 송신될 동기화 신호(TPsync)를 발생시킬 수 있다. 이 특징은 (예컨대, FIFO로부터의) 향상된 트리거 구문 데이터가 전송되는 경우에 유용할 수 있다.
이와 같이, 도 10으로부터 알 수 있는 바와 같이, Sout이라고 라벨링된 축에서, DSP(30)로부터 출력되는 데이터는 트리거 구문 데이터의 향상된 버전(TP*) 및 4개의 처리된 커맨드 단어 데이터 섹션(C*, C2*, C3* 및 C4*)을 포함한다. 이 출력된 데이터는 따라서 음성 인식 엔진 또는 임의의 다른 음성 프로세서에 의해 보다 용이하게 또는 보다 정확하게 인식될 수 있도록 처리되었다(예를 들어, 빔형성기를 통과하였다).
이와 같이, 도 9에 도시되고 도 10 및 도 11을 참조하여 기술되는 실시예에서, 배경 사운드가 어떤 음성도 포함하지 않을 때 빔형성기를 실행하는 것에 의해 전력을 계속 사용하는 일 없이 그리고 다운스트림에서 처리될 음성 신호에 대해 적응(이러한 적응이 음성 신호에 아티팩트가 나타나게 하여, 자동 음성 인식 시스템에 대해 어려움을 야기할 수 있다는 단점을 가짐)을 수행할 필요 없이, 빔형성기와 같은 향상 블록을 사용하는 것의 장점이 실현될 수 있다.
제1 트리거 검출 블록(70)이 느슨한 기준으로 조정되기 때문에, 트리거 구문이 실제로는 말해지지 않은 상황에서, 제1 트리거 검출 블록(70)이 수신 데이터에서 트리거 구문을 식별할 가능성이 꽤 있다. 따라서, 제어 블록(42)은, 제1 트리거 검출 블록(70)이 트리거 구문을 검출했다는 것을 나타내는 신호(TPD1)를 수신할 때, 트리거 구문이 제2 트리거 구문 검출 블록(72)에 의해 그의 보다 엄밀하고 보다 엄격한 검출 기준을 사용해 검출되었다는 것을 나타내는 신호(TPD2)가 도착하는지를 모니터링한다. 신호(TPD2)가 신호(TPD1)의 도착으로부터 미리 설정된 시간 내에 발생되지 않으면, 도 11에 도시된 프로세스의 단계(170)에서, 향상 블록(48)의 파라미터의 적응이 중단되고 향상 블록으로부터 어떤 데이터도 출력되지 않도록, 리셋 신호가 발생될 수 있다.
트리거 구문의 수신의 확인은 또한 회로 또는 디바이스의 다른 부분을 파워 업하는데(예를 들면, 다른 프로세서 코어를 활성화시키거나 디스플레이 화면을 인에이블시키는데) 사용될 수 있다. 또한 일부 실시예에서, 로컬 프로세서(예를 들어, 애플리케이션 프로세서)는 ASR 기능의 일부를 수행하는데 사용될 수 있고, 따라서 신호(TPD)는 프로세서의 연관된 부분을 활성화시키거나 적절한 소프트웨어를 그에 로드하는데 사용될 수 있다.
도 12는 도 1에서의 DSP(30)의 시스템의 추가 실시예를 도시한다. 도 12에 도시된 DSP(30)는 대부분이 도 9에 도시된 DSP(30)에 대응하고, 이 2개의 도면에서의 대응하는 특징은 동일한 참조 번호로 표시되며 본원에서 더 기술되지 않을 것이다.
이와 같이, 도 9에서와 같이, 다수의 마이크로폰(18, 20)으로부터의 신호가 버퍼(38)로 송신된다. 제1 트리거 검출 블록(70)이 또한 있고, 제1 트리거 검출 블록(70)은 그가 수신하는 데이터가 미리 결정된 트리거 구문을 나타내는지 여부를 검출한다. 제어 블록(42)은 트리거 검출 블록(40)으로부터 출력 신호(TPD1)를 수신하고, 그 신호에 응답하여, 버퍼(38)로부터의 순차 판독을 제어한다. 버퍼(38)의 판독 출력(Bout)은 적응적 빔형성기 기능의 형태를 취할 수 있거나 적어도 그를 포함할 수 있는 음성 향상 블록(48)으로 전달된다. 음성 향상 블록(48)의 적응은 제어 블록(42)에 의해 작동되는 스위칭 수단(50)에 의해 제어되는 것으로 예시되어 있다. 음성 향상 블록의 출력은 제2 트리거 구문 검출 블록에 공급될 수 있고, 제2 트리거 구문 검출 블록은, 향상된 음성 신호에서 트리거 구문의 존재를 검출할 때, 출력 신호(TPD2)를 제어 블록(42)으로 송신한다. 음성 향상 블록의 출력(Sout)은, 예시된 바와 같이, 제어 블록(42)에 의해 역시 작동되는 제2 스위칭 수단(52)에 의해 제어된다. 동기화 신호(TPsync)가 Sout 데이터 신호와 병렬로 송신되거나, 그와 동일한 채널에 삽입될 수 있다.
도 12에서, 버퍼(38)로부터의 신호가 음성 향상 블록(48)으로 전달되는지를 제어하기 위한 제3 스위치(80)가 제공된다.
그에 부가하여, 주변 잡음 레벨을 검출하기 위한 그리고 제어 신호를 발생시켜 트리거 구문 검출 블록으로 그리고 제어 블록(42)으로 송신하기 위한 신호 활동 검출 블록(82)이 제공된다. 침묵(silence) 또는 거의 침묵(near silence)을 식별하는 것에 부가하여, 신호 활동 검출 블록(82)은 또한 다운스트림 음성 인식이 가능할 수 있는지와, 그러한 경우, 음성 인식을 수행하기 전의 음성 향상이 상당한 이점을 제공할 것인지를 확증하기 위해 주변 잡음을 특성 분석한다. 이 특성 분석은, 예를 들어, 다수의 마이크로폰 중 단지 하나로부터의 신호(Bin1 등)를 사용할 수 있다. 특성 분석은 비교적 긴 기간에 걸쳐 일어날 수 있고, 짧은 침묵 구간 또는 갑작스런 급격한 잡음이 부적절한 조치를 취하게 하지 않도록 상당한 시간-히스테리시스(time-hysteresis)가 적용된다.
신호 활동 검출 블록(82)은 주변 잡음이 4 가지 카테고리 중 하나에 속하는지를 검출한다.
침묵이 있는 경우, 다운스트림 음성 인식 시스템은, 그가 인식할 것이 아무 것도 없기 때문에, 파워 다운될 수 있으며, 따라서 적당한 제어 신호가 그에게로 송신될 수 있다. 또한 일부 실시예에서, 트리거 구문 검출 블록은, 사용가능 신호가 나타날 때까지, 파워 다운되거나 저전력 상태에 놓일 수 있다.
잡음 레벨이 낮은 경우, 음성 인식이 제대로 동작할 것이고, 따라서 적어도 제1 트리거 검출 블록은 활성이지만, 음성 향상은 불필요하고 따라서 향상 블록이 우회되고 비활성화될 수 있다. 마이크로폰들 중 적어도 일부를 비활성화시켜 이들이 소비하게 될 전력을 절감하는 것이 또한 바람직할 수 있다.
잡음 레벨이 아주 높은 경우, 음성 향상을 사용하더라도, 음성 인식이 제대로 동작하지 않을 것이고, 따라서 음성 인식 시스템은 저전력 상태에 들어가거나 파워 다운하라고 신호받을 수 있다.
중간 잡음 레벨에서, 음성 인식은 동작할 것이고, 따라서 적어도 제1 트리거 검출 블록은 활성일 수 있다(반면에 제2 트리거 검출기는 활성일 수 있거나 제1 트리거 검출 이벤트에 응답하여 활성화될 수 있다). 더욱이, 음성 향상이 다운스트림 음성 인식의 동작을 개선할 가능성이 있으며, 따라서 향상 블록이 트리거 구문 검출 이벤트(예를 들어, 빔형성기의 경우에 다수의 마이크로폰으로부터 신호를 수신하는 것)에 응답하여 인에이블가능한 상태에 들어갈 수 있다.
신호 활동 검출기의 동작은 도 9의 것에 기초하여 DSP와 관련하여 기술되었다. 유사한 동작 및 제어가 또한 앞서 개시된 다른 DSP 실시예와 협력하여 가능할 수 있다.
이것은 다음과 같이 요약될 수 있다:
Figure pct00001
앞서 언급된 바와 같이, 신호 활동의 실제 시작과 신호 활동 검출 블록에 의한 그의 검출 사이에 시간 지연이 있을 수 있다. 제1 신호가 실제로 사용자가 트리거 구문을 말하는 것인 경우, 그리고 제1 트리거 검출기가 초기에 디스에이블되어 있는 경우, 제1 트리거 검출기는 말해진 트리거 구문의 시작을 놓쳐 그를 검출하는데 실패할 수 있다. 이와 같이, 제1 트리거 구문 검출기에의 입력은 제어 블록(42)으로부터의 별도의 주소 포인터에 의해 제어되는 버퍼(38)의 출력으로부터 취해질 수 있고, 따라서 신호 활동 검출에서의 지연을 감안하기 위해 지연된 데이터 스트림을 복구한다.
대안적으로, 제1 트리거 검출기를, 신호 활동 검출기와 병행하여, 영구적으로 인에이블된 채로 유지하는 것이 바람직할 수 있다. 제1 트리거 검출기는, 간단한 검출기이기 때문에, 그다지 전력을 소비하지 않을 수 있다. 그렇지만, 음성 향상 블록의 우회 및 디스에이블이 신호 활동 블록에 의해 여전히 제어될 수 있다.
따라서, 음성 처리 시스템의 저전력 동작을 유지하면서, 향상된 데이터가 출력될 수 있게 하는 음성 처리 시스템이 제공된다.
통상의 기술자는 앞서 기술된 장치 및 방법의 일부 양태(예를 들어, 프로세서에 의해 수행되는 계산)가, 예를 들어, 비휘발성 캐리어 매체(디스크, CD- 또는 DVD-ROM 등), 프로그램된 메모리(판독 전용 메모리(펌웨어) 등) 상의, 또는 데이터 캐리어(광 또는 전기 신호 캐리어 등) 상의 프로세서 제어 코드로서 구현될 수 있다는 것을 인식할 것이다. 많은 응용 분야에 대해, 본 발명의 실시예는 DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit) 또는 FPGA(Field Programmable Gate Array) 상에 구현될 것이다. 이와 같이, 코드는 종래의 프로그램 코드 또는 마이크로코드 또는, 예를 들어, ASIC 또는 FPGA를 설정하거나 제어하기 위한 코드를 포함할 수 있다. 이 코드는 또한 재프로그램가능 논리 게이트 어레이와 같은 재구성가능 장치를 동적으로 구성하기 위한 코드를 포함할 수 있다. 이와 유사하게, 이 코드는 VerilogTM 또는 VHDL(Very high speed integrated circuit Hardware Description Language)과 같은 하드웨어 기술 언어(hardware description language)에 대한 코드를 포함할 수 있다. 통상의 기술자는 알 것인 바와 같이, 이 코드는 서로 통신하는 복수의 결합된 구성요소 간에 분산될 수 있다. 적절한 경우, 실시예가 또한 아날로그 하드웨어를 구성하기 위해 현장-(재)프로그램가능 아날로그 어레이(field-(re)programmable analogue array) 또는 유사한 디바이스 상에서 실행 중인 코드를 사용하여 구현될 수 있다.
앞서 언급된 실시예가 본 발명을 제한하기보다는 예시한다는 것과, 본 기술 분야의 통상의 기술자가 첨부된 청구항의 범주를 벗어남이 없이 많은 대안의 실시예를 설계할 수 있을 것이라는 점에 유의해야 한다. "포함하는(comprising)"이라는 단어가 청구항에 열거된 것 이외의 요소 또는 단계의 존재를 배제하지 않고, "한" 또는 "하나"가 복수를 배제하지 않으며, 단일의 특징 또는 다른 유닛이 청구범위에 언급된 몇 개의 유닛의 기능을 수행할 수 있다. "증폭(amplify)"이라는 단어는 또한 "감쇠(attenuate)"(즉, 감소)는 물론 증가와 그 반대를 의미할 수 있으며, "가산(add)"이라는 단어는 또한 "감산(subtract)"(즉, 감소)는 물론 증가와 그 반대를 의미할 수 있다. 청구항에서의 임의의 참조 번호 또는 라벨이 청구항의 범주를 제한하는 것으로 해석되어서는 안 된다.

Claims (43)

  1. 음성을 나타내는 수신 데이터를 처리하는 방법으로서,
    상기 수신 데이터를 저장하는 단계;
    상기 수신 데이터에서 트리거 구문(trigger phrase)을 나타내는 데이터의 존재를 검출하는 단계;
    상기 검출에 응답하여, 상기 트리거 구문의 적어도 일부를 나타내는 상기 저장된 데이터의 제1 부분을 적응적 음성 향상 블록(adaptive speech enhancement block)에 공급하는 단계;
    상기 음성 향상 블록에 대한 적응된 파라미터들을 도출하기 위해 상기 저장된 데이터의 상기 제1 부분을 바탕으로 상기 음성 향상 블록을 트레이닝하는 단계;
    향상되는 저장된 데이터를 형성하기 위해, 상기 저장된 데이터의 제2 부분을 상기 적응된 파라미터들로 동작하는 상기 적응적 음성 향상 블록에 공급하는 단계 - 상기 저장된 데이터의 상기 제2 부분은 상기 저장된 데이터의 상기 제1 부분과 중첩함 -;
    상기 향상되는 저장된 데이터에서 상기 트리거 구문을 나타내는 데이터의 존재를 검출하는 단계; 및
    상기 향상되는 저장된 데이터에서 상기 트리거 구문을 나타내는 데이터의 존재를 검출하는 것에 응답하여, 추가 처리를 위해 상기 음성 향상 블록으로부터 향상된 음성 데이터를 출력하는 단계
    를 포함하고,
    상기 수신 데이터에서 트리거 구문을 나타내는 데이터의 존재를 검출하는 단계는 제1 트리거 구문 검출 블록에 의해 수행되고,
    상기 향상되는 저장된 데이터에서 상기 트리거 구문을 나타내는 데이터의 존재를 검출하는 단계는 제2 트리거 구문 검출 블록에 의해 수행되고, 상기 제2 트리거 구문 검출 블록은 상기 제1 트리거 구문 검출 블록과 상이한 검출 기준들로 동작하는 방법.
  2. 제1항에 있어서,
    상기 향상되는 저장된 데이터에서 상기 트리거 구문을 나타내는 데이터의 존재를 검출하는데 실패하는 것에 응답하여, 상기 제1 트리거 구문 검출 블록을 리셋시키는 단계를 포함하는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 제2 트리거 구문 검출 블록은 상기 제1 트리거 구문 검출 블록보다 더 엄격한 검출 기준들로 동작하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    다수의 마이크로폰으로부터 데이터를 수신하여 저장하는 단계;
    상기 마이크로폰들의 서브세트로부터 수신된 데이터에서 상기 트리거 구문을 나타내는 데이터의 존재를 검출하기 위해 상기 마이크로폰들의 서브세트로부터 수신된 데이터를 상기 제1 트리거 구문 검출 블록에 공급하는 단계;
    상기 검출에 응답하여, 상기 트리거 구문의 적어도 일부를 나타내는, 상기 다수의 마이크로폰으로부터의 상기 저장된 데이터의 상기 제1 부분을 상기 적응적 음성 향상 블록에 공급하는 단계;
    상기 음성 향상 블록에 대한 적응된 파라미터들을 도출하기 위해 상기 다수의 마이크로폰으로부터의 상기 저장된 데이터의 상기 제1 부분을 바탕으로 상기 음성 향상 블록을 트레이닝하는 단계; 및
    상기 향상되는 저장된 데이터를 형성하기 위해, 상기 다수의 마이크로폰으로부터의 상기 저장된 데이터의 상기 제2 부분을 상기 적응된 파라미터들로 동작하는 상기 적응적 음성 향상 블록에 공급하는 단계
    를 포함하는 방법.
  5. 제4항에 있어서,
    상기 음성 향상 블록은 빔형성기(beamformer)인 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 저장된 데이터의 상기 제1 부분은 제1 정의된 시작 지점부터 저장된 데이터인 방법.
  7. 제6항에 있어서,
    상기 저장된 데이터의 상기 제2 부분은 제2 정의된 시작 지점부터 저장된 데이터이고, 상기 제2 정의된 시작 지점은 상기 제1 정의된 시작 지점보다 더 늦은 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 저장된 데이터의 상기 제2 부분을 상기 음성 향상 블록에 공급하고, 상기 향상된 음성 데이터를 실시간보다 더 높은 레이트로 상기 음성 향상 블록으로부터 출력하는 단계를 포함하는 방법.
  9. 제8항에 있어서,
    공급되는 데이터가 저장되는 데이터와 실질적으로 시간 정렬될 때까지, 상기 저장된 데이터의 상기 제2 부분을 상기 음성 향상 블록에 공급하고, 상기 향상된 음성 데이터를 실시간보다 더 높은 레이트로 상기 음성 향상 블록으로부터 출력하는 단계를 포함하는 방법.
  10. 음성 프로세서로서,
    음성을 나타내는 데이터를 수신하기 위한 입력; 및
    음성 처리 블록
    을 포함하고,
    상기 음성 프로세서는 제1항 내지 제10항 중 어느 한 항에 기재된 방법을 수행하도록 구성되는 음성 프로세서.
  11. 음성 프로세서로서,
    음성을 나타내는 데이터를 수신하기 위한 입력; 및
    음성 처리 블록에 연결하기 위한 출력
    을 포함하고,
    상기 음성 프로세서는 제1항 내지 제10항 중 어느 한 항에 기재된 방법을 수행하도록 구성되는 음성 프로세서.
  12. 제10항 또는 제11항에 기재된 음성 프로세서를 포함하는 모바일 디바이스.
  13. 처리 디바이스로 하여금 제1항 내지 제10항 중 어느 한 항에 기재된 방법을 수행하게 하기 위한 컴퓨터 판독가능 코드를 포함하는 컴퓨터 프로그램 제품.
  14. 음성을 나타내는 수신 데이터를 처리하는 방법으로서,
    상기 수신 데이터의 세그먼트가 트리거 구문을 나타낸다는 것을 검출하면:
    적응적 음성 향상 블록에 대한 파라미터들을 도출하기 위해 상기 수신 데이터의 세그먼트의 적어도 일부를 바탕으로 상기 적응적 음성 향상 블록을 트레이닝하는 단계;
    향상된 데이터 세그먼트를 발생시키기 위해 상기 수신 데이터의 세그먼트를 상기 도출된 파라미터들을 사용하는 상기 적응적 음성 향상 블록을 통과시키는 단계; 및
    상기 향상된 데이터 세그먼트에서 상기 트리거 구문을 검출하려고 시도하는 단계
    를 포함하는 방법.
  15. 제14항에 있어서,
    상기 향상된 데이터 세그먼트에서 상기 트리거 구문을 검출하려고 시도하는데 있어서 성공하지 못하는 경우, 상기 수신 데이터의 세그먼트가 트리거 구문을 나타낸다는 것을 검출하기 위한 검출기를 리셋시키는 단계를 포함하는 방법.
  16. 제14항 또는 제15항에 있어서,
    상기 향상된 데이터 세그먼트에서 상기 트리거 구문을 검출하려고 시도하는데 있어서 성공하는 경우, 추가 다운스트림 신호 처리를 위해 추가 수신 데이터를 상기 적응적 음성 향상 블록을 통과시키는 단계를 포함하는 방법.
  17. 제14항 내지 제16항 중 어느 한 항에 있어서,
    상기 수신 데이터의 세그먼트가 트리거 구문을 나타내는지를 검출하는데 사용되는 것들과 상이한 검출 기준들을 사용하여 상기 향상된 데이터 세그먼트에서 상기 트리거 구문을 검출하려고 시도하는 단계를 포함하는 방법.
  18. 음성을 나타내는 수신 데이터를 처리하는 방법으로서,
    상기 수신 데이터에서 주변 잡음 레벨을 검출하는 단계;
    상기 주변 잡음 레벨이 제1 임계값 초과이며, 상기 제1 임계값보다 더 높은 제2 임계값 미만인 경우, 상기 수신 데이터에 대해 음성 향상 프로세스를 수행하고, 상기 음성 향상 프로세스로부터 출력된 데이터에 대해 음성 인식 프로세스를 수행하는 단계;
    상기 주변 잡음 레벨이 상기 제1 임계값 미만인 경우, 상기 음성 향상 프로세스에 의해 처리되지 않은 상기 수신 데이터에 대해 음성 인식 프로세스를 수행하는 단계; 및
    상기 주변 잡음 레벨이 상기 제2 임계값 초과인 경우, 상기 수신 데이터에 대해 음성 인식 프로세스를 수행하는 것을 생략하는 단계
    를 포함하는 방법.
  19. 제18항에 있어서,
    상기 음성 인식 프로세스는 트리거 구문 검출 프로세스인 방법.
  20. 제19항에 있어서,
    상기 수신 데이터에서 트리거 구문을 성공적으로 검출하는 것에 응답하여:
    상기 주변 잡음 레벨이 상기 제1 임계값 초과이며 상기 제2 임계값 미만인 경우, 추가 수신 데이터에 대해 음성 향상 프로세스를 수행하고, 상기 음성 향상 프로세스로부터 음성 향상된 데이터를 출력하는 단계; 및
    상기 주변 잡음 레벨이 상기 제1 임계값 미만인 경우, 상기 음성 향상 프로세스에 의해 처리되지 않은 상기 추가 수신 데이터를 출력하는 단계
    를 더 포함하는 방법.
  21. 제18항 내지 제20항 중 어느 한 항에 있어서,
    상기 주변 잡음 레벨이 상기 제1 임계값보다 더 낮은 제3 임계값 미만인 경우, 상기 음성 인식 프로세스를 파워 다운하는 단계를 더 포함하는 방법.
  22. 음성 프로세서로서,
    음성을 나타내는 데이터를 수신하기 위한 입력; 및
    음성 처리 블록
    을 포함하고,
    상기 음성 프로세서는 제18항 내지 제21항 중 어느 한 항에 기재된 방법을 수행하도록 구성되는 음성 프로세서.
  23. 음성 프로세서로서,
    음성을 나타내는 데이터를 수신하기 위한 입력; 및
    음성 처리 블록에 연결하기 위한 출력
    을 포함하고,
    상기 음성 프로세서는 제18항 내지 제21항 중 어느 한 항에 기재된 방법을 수행하도록 구성되는 음성 프로세서.
  24. 제22항 또는 제23항에 기재된 음성 프로세서를 포함하는 모바일 디바이스.
  25. 처리 디바이스로 하여금 제18항 내지 제21항 중 어느 한 항에 기재된 방법을 수행하게 하기 위한 컴퓨터 판독가능 코드를 포함하는 컴퓨터 프로그램 제품.
  26. 음성을 나타내는 수신 데이터를 처리하는 방법으로서,
    상기 수신 데이터를 저장하는 단계;
    상기 수신 데이터에서 제1 트리거 구문을 나타내는 데이터의 존재를 검출하는 단계;
    상기 검출에 응답하여, 상기 제1 트리거 구문의 적어도 일부를 나타내는 상기 저장된 데이터의 제1 부분을 적응적 음성 향상 블록에 공급하는 단계;
    상기 음성 향상 블록에 대한 적응된 파라미터들을 도출하기 위해 상기 저장된 데이터의 상기 제1 부분을 바탕으로 상기 음성 향상 블록을 트레이닝하는 단계;
    상기 저장된 데이터의 제2 부분을 상기 적응된 파라미터들로 동작하는 상기 적응적 음성 향상 블록에 공급하는 단계 - 상기 저장된 데이터의 상기 제2 부분은 상기 저장된 데이터의 상기 제1 부분과 중첩함 -; 및
    향상된 음성 데이터를 상기 음성 향상 블록으로부터 출력하는 단계
    를 포함하는 방법.
  27. 제26항에 있어서,
    상기 제1 트리거 구문은 전체 트리거 구문의 일부이고, 상기 방법은 상기 전체 트리거 구문을 검출하려고 시도하는 단계를 포함하고, 상기 전체 트리거 구문이 검출되는 경우에만 상기 저장된 데이터의 상기 제2 부분을 상기 적응적 음성 향상 블록에 공급하는 단계를 더 포함하는 방법.
  28. 제26항에 있어서,
    상기 저장된 데이터의 상기 제1 부분은 제1 정의된 시작 지점부터 저장된 데이터인 방법.
  29. 제28항에 있어서,
    상기 저장된 데이터의 상기 제2 부분은 제2 정의된 시작 지점부터 저장된 데이터이고, 상기 제2 정의된 시작 지점은 상기 제1 정의된 시작 지점보다 더 늦은 방법.
  30. 제26항 내지 제29항 중 어느 한 항에 있어서,
    상기 저장된 데이터의 상기 제2 부분은 상기 전체 트리거 구문의 적어도 일부를 나타내는 데이터를 포함하는 방법.
  31. 제26항에 있어서,
    상기 음성 향상 블록으로부터 출력된 상기 향상된 음성 데이터를 음성 인식 엔진으로 송신하는 단계를 더 포함하는 방법.
  32. 제31항에 있어서,
    상기 음성 향상 블록으로부터 출력된 상기 향상된 음성 데이터를 단일의 디바이스 내의 상기 음성 인식 엔진으로 송신하는 단계를 포함하는 방법.
  33. 제26항 내지 제32항 중 어느 한 항에 있어서,
    상기 저장된 데이터의 상기 제2 부분을 상기 음성 향상 블록에 공급하고, 상기 향상된 음성 데이터를 실시간보다 더 높은 레이트로 상기 음성 향상 블록으로부터 출력하는 단계를 포함하는 방법.
  34. 제33항에 있어서,
    공급되는 데이터가 저장되는 데이터와 실질적으로 시간 정렬될 때까지, 상기 저장된 데이터의 상기 제2 부분을 상기 음성 향상 블록에 공급하고, 상기 향상된 음성 데이터를 실시간보다 더 높은 레이트로 상기 음성 향상 블록으로부터 출력하는 단계를 포함하는 방법.
  35. 제26항 내지 제34항 중 어느 한 항에 있어서,
    수신된 음성 데이터에 대해 제2 적응적 음성 향상을 수행하는 단계를 더 포함하는 방법.
  36. 제35항에 있어서,
    상기 음성 향상 블록을 트레이닝하는 동안에 상기 제2 적응적 음성 향상의 적응을 억제하는 단계를 더 포함하는 방법.
  37. 제36항에 있어서,
    상기 음성 향상 블록을 트레이닝한 이후에 상기 제2 적응적 음성 향상의 적응을 재개하는 단계를 더 포함하는 방법.
  38. 제35항 내지 제37항 중 어느 한 항에 있어서,
    상기 제2 적응적 음성 향상은 음향 반향 제거(acoustic echo cancellation)인 방법.
  39. 음성 프로세서로서,
    음성을 나타내는 데이터를 수신하기 위한 입력; 및
    음성 처리 블록
    을 포함하고,
    상기 음성 프로세서는 제26항 내지 제38항 중 어느 한 항에 기재된 방법을 수행하도록 구성되는 음성 프로세서.
  40. 음성 프로세서로서,
    음성을 나타내는 데이터를 수신하기 위한 입력; 및
    음성 처리 블록에 연결하기 위한 출력
    을 포함하고,
    상기 음성 프로세서는 제26항 내지 제38항 중 어느 한 항에 기재된 방법을 수행하도록 구성되는 음성 프로세서.
  41. 제39항 또는 제40항에 기재된 음성 프로세서를 포함하는 모바일 디바이스.
  42. 처리 디바이스로 하여금 제26항 내지 제38항 중 어느 한 항에 기재된 방법을 수행하게 하기 위한 컴퓨터 판독가능 코드를 포함하는 컴퓨터 프로그램 제품.
  43. 음성을 나타내는 수신 데이터를 처리하는 방법으로서,
    상기 수신 데이터의 세그먼트에서 제1 트리거 구문의 존재를 검출하면:
    적응된 파라미터들을 도출하기 위해 상기 수신 데이터의 세그먼트의 적어도 일부를 바탕으로 적응적 음성 향상 블록을 트레이닝하는 단계; 및
    상기 적응된 파라미터들을 사용하여 상기 수신 데이터의 세그먼트의 상기 일부의 적어도 일부를 재처리하는 단계
    를 포함하는 방법.
KR1020167018894A 2013-12-18 2014-12-17 보이스 커맨드로 트리거되는 음성 향상 KR102327476B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1322349.0 2013-12-18
GB1322349.0A GB2523984B (en) 2013-12-18 2013-12-18 Processing received speech data
PCT/GB2014/053738 WO2015092400A1 (en) 2013-12-18 2014-12-17 Voice command triggered speech enhancement

Publications (2)

Publication Number Publication Date
KR20160099636A true KR20160099636A (ko) 2016-08-22
KR102327476B1 KR102327476B1 (ko) 2021-11-16

Family

ID=50070964

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167018894A KR102327476B1 (ko) 2013-12-18 2014-12-17 보이스 커맨드로 트리거되는 음성 향상

Country Status (5)

Country Link
US (3) US9779726B2 (ko)
KR (1) KR102327476B1 (ko)
CN (2) CN106030706B (ko)
GB (5) GB2523984B (ko)
WO (1) WO2015092400A1 (ko)

Families Citing this family (205)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US20120309363A1 (en) 2011-06-03 2012-12-06 Apple Inc. Triggering notifications associated with tasks items that represent tasks to perform
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
DE112014000709B4 (de) 2013-02-07 2021-12-30 Apple Inc. Verfahren und vorrichtung zum betrieb eines sprachtriggers für einen digitalen assistenten
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US9689960B1 (en) * 2013-04-04 2017-06-27 Amazon Technologies, Inc. Beam rejection in multi-beam microphone systems
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
EP3008641A1 (en) 2013-06-09 2016-04-20 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
KR101749009B1 (ko) 2013-08-06 2017-06-19 애플 인크. 원격 디바이스로부터의 활동에 기초한 스마트 응답의 자동 활성화
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
GB2523984B (en) * 2013-12-18 2017-07-26 Cirrus Logic Int Semiconductor Ltd Processing received speech data
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
AU2015266863B2 (en) 2014-05-30 2018-03-15 Apple Inc. Multi-command single utterance input method
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US20160055847A1 (en) * 2014-08-19 2016-02-25 Nuance Communications, Inc. System and method for speech validation
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US11087379B1 (en) 2015-02-12 2021-08-10 Google Llc Buying products within video content by voice command
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
WO2016161641A1 (zh) * 2015-04-10 2016-10-13 华为技术有限公司 语音识别方法、语音唤醒装置、语音识别装置及终端
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10452339B2 (en) * 2015-06-05 2019-10-22 Apple Inc. Mechanism for retrieval of previously captured audio
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
KR102476600B1 (ko) 2015-10-21 2022-12-12 삼성전자주식회사 전자 장치, 그의 음성 인식 방법 및 비일시적 컴퓨터 판독가능 기록매체
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10074364B1 (en) * 2016-02-02 2018-09-11 Amazon Technologies, Inc. Sound profile generation based on speech recognition results exceeding a threshold
US10509626B2 (en) 2016-02-22 2019-12-17 Sonos, Inc Handling of loss of pairing between networked devices
US9820039B2 (en) 2016-02-22 2017-11-14 Sonos, Inc. Default playback devices
US9965247B2 (en) 2016-02-22 2018-05-08 Sonos, Inc. Voice controlled media playback system based on user profile
US10264030B2 (en) 2016-02-22 2019-04-16 Sonos, Inc. Networked microphone device control
US10095470B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Audio response playback
US9947316B2 (en) 2016-02-22 2018-04-17 Sonos, Inc. Voice control of a media playback system
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US9978390B2 (en) 2016-06-09 2018-05-22 Sonos, Inc. Dynamic player selection for audio signal processing
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10134399B2 (en) 2016-07-15 2018-11-20 Sonos, Inc. Contextualization of voice inputs
US10152969B2 (en) 2016-07-15 2018-12-11 Sonos, Inc. Voice detection by multiple devices
FR3054362B1 (fr) * 2016-07-22 2022-02-04 Dolphin Integration Sa Circuit et procede de reconnaissance de parole
US10431211B2 (en) * 2016-07-29 2019-10-01 Qualcomm Incorporated Directional processing of far-field audio
US10115400B2 (en) 2016-08-05 2018-10-30 Sonos, Inc. Multiple voice services
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10158902B2 (en) * 2016-09-26 2018-12-18 Amazon Technologies, Inc. Streaming and storing video for audio/video recording and communication devices
US9942678B1 (en) 2016-09-27 2018-04-10 Sonos, Inc. Audio playback settings for voice interaction
US9743204B1 (en) 2016-09-30 2017-08-22 Sonos, Inc. Multi-orientation playback device microphones
US10181323B2 (en) 2016-10-19 2019-01-15 Sonos, Inc. Arbitration-based voice recognition
WO2018097969A1 (en) * 2016-11-22 2018-05-31 Knowles Electronics, Llc Methods and systems for locating the end of the keyword in voice sensing
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
CN108632439B (zh) * 2017-03-23 2020-07-10 北京小唱科技有限公司 一种移动终端和音频接收设备的通信方法和装置
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10311870B2 (en) * 2017-05-10 2019-06-04 Ecobee Inc. Computerized device with voice command input capability
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10789949B2 (en) * 2017-06-20 2020-09-29 Bose Corporation Audio device with wakeup word detection
US10475449B2 (en) 2017-08-07 2019-11-12 Sonos, Inc. Wake-word detection suppression
US10204624B1 (en) * 2017-08-14 2019-02-12 Lenovo (Singapore) Pte. Ltd. False positive wake word
US10048930B1 (en) 2017-09-08 2018-08-14 Sonos, Inc. Dynamic computation of system response volume
US10546581B1 (en) * 2017-09-08 2020-01-28 Amazon Technologies, Inc. Synchronization of inbound and outbound audio in a heterogeneous echo cancellation system
US10446165B2 (en) 2017-09-27 2019-10-15 Sonos, Inc. Robust short-time fourier transform acoustic echo cancellation during audio playback
US10621981B2 (en) 2017-09-28 2020-04-14 Sonos, Inc. Tone interference cancellation
US10482868B2 (en) 2017-09-28 2019-11-19 Sonos, Inc. Multi-channel acoustic echo cancellation
US10466962B2 (en) 2017-09-29 2019-11-05 Sonos, Inc. Media playback system with voice assistance
US10916252B2 (en) 2017-11-10 2021-02-09 Nvidia Corporation Accelerated data transfer for latency reduction and real-time processing
US10110994B1 (en) * 2017-11-21 2018-10-23 Nokia Technologies Oy Method and apparatus for providing voice communication with spatial audio
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10880650B2 (en) 2017-12-10 2020-12-29 Sonos, Inc. Network microphone devices with automatic do not disturb actuation capabilities
US10818290B2 (en) 2017-12-11 2020-10-27 Sonos, Inc. Home graph
US10601599B2 (en) 2017-12-29 2020-03-24 Synaptics Incorporated Voice command processing in low power devices
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
EP3680895B1 (en) * 2018-01-23 2021-08-11 Google LLC Selective adaptation and utilization of noise reduction technique in invocation phrase detection
KR102629385B1 (ko) 2018-01-25 2024-01-25 삼성전자주식회사 바지-인 관련 직접 경로를 지원하는 저전력 보이스 트리거 시스템을 포함하는 애플리케이션 프로세서, 이를 포함하는 전자 장치 및 그 동작 방법
US11343614B2 (en) 2018-01-31 2022-05-24 Sonos, Inc. Device designation of playback and network microphone device arrangements
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10861462B2 (en) 2018-03-12 2020-12-08 Cypress Semiconductor Corporation Dual pipeline architecture for wakeup phrase detection with speech onset detection
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11175880B2 (en) 2018-05-10 2021-11-16 Sonos, Inc. Systems and methods for voice-assisted media content selection
US10847178B2 (en) 2018-05-18 2020-11-24 Sonos, Inc. Linear filtering for noise-suppressed speech detection
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US10959029B2 (en) 2018-05-25 2021-03-23 Sonos, Inc. Determining and adapting to changes in microphone performance of playback devices
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
US11076039B2 (en) 2018-06-03 2021-07-27 Apple Inc. Accelerated task performance
US11417351B2 (en) * 2018-06-26 2022-08-16 Google Llc Multi-channel echo cancellation with scenario memory
US10681460B2 (en) 2018-06-28 2020-06-09 Sonos, Inc. Systems and methods for associating playback devices with voice assistant services
KR102040406B1 (ko) * 2018-07-27 2019-11-05 (주)휴맥스 스마트 디바이스 및 그 제어 방법
US10575085B1 (en) * 2018-08-06 2020-02-25 Bose Corporation Audio device with pre-adaptation
CN108986833A (zh) * 2018-08-21 2018-12-11 广州市保伦电子有限公司 基于麦克风阵列的拾音方法、系统、电子设备及存储介质
US10461710B1 (en) 2018-08-28 2019-10-29 Sonos, Inc. Media playback system with maximum volume setting
US11076035B2 (en) 2018-08-28 2021-07-27 Sonos, Inc. Do not disturb feature for audio notifications
US10878811B2 (en) * 2018-09-14 2020-12-29 Sonos, Inc. Networked devices, systems, and methods for intelligently deactivating wake-word engines
US10587430B1 (en) 2018-09-14 2020-03-10 Sonos, Inc. Networked devices, systems, and methods for associating playback devices based on sound codes
US11024331B2 (en) 2018-09-21 2021-06-01 Sonos, Inc. Voice detection optimization using sound metadata
US10861444B2 (en) * 2018-09-24 2020-12-08 Rovi Guides, Inc. Systems and methods for determining whether to trigger a voice capable device based on speaking cadence
US10811015B2 (en) 2018-09-25 2020-10-20 Sonos, Inc. Voice detection optimization based on selected voice assistant service
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11100923B2 (en) 2018-09-28 2021-08-24 Sonos, Inc. Systems and methods for selective wake word detection using neural network models
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US10692518B2 (en) 2018-09-29 2020-06-23 Sonos, Inc. Linear filtering for noise-suppressed speech detection via multiple network microphone devices
US11899519B2 (en) * 2018-10-23 2024-02-13 Sonos, Inc. Multiple stage network microphone device with reduced power consumption and processing load
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
EP3654249A1 (en) 2018-11-15 2020-05-20 Snips Dilated convolutions and gating for efficient keyword spotting
US11183183B2 (en) 2018-12-07 2021-11-23 Sonos, Inc. Systems and methods of operating media playback systems having multiple voice assistant services
US11132989B2 (en) 2018-12-13 2021-09-28 Sonos, Inc. Networked microphone devices, systems, and methods of localized arbitration
US10811032B2 (en) 2018-12-19 2020-10-20 Cirrus Logic, Inc. Data aided method for robust direction of arrival (DOA) estimation in the presence of spatially-coherent noise interferers
US10602268B1 (en) 2018-12-20 2020-03-24 Sonos, Inc. Optimization of network microphone devices using noise classification
TWI713016B (zh) * 2019-01-03 2020-12-11 瑞昱半導體股份有限公司 語音偵測處理系統與語音偵測方法
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11315556B2 (en) 2019-02-08 2022-04-26 Sonos, Inc. Devices, systems, and methods for distributed voice processing by transmitting sound data associated with a wake word to an appropriate device for identification
US10867604B2 (en) 2019-02-08 2020-12-15 Sonos, Inc. Devices, systems, and methods for distributed voice processing
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11120794B2 (en) 2019-05-03 2021-09-14 Sonos, Inc. Voice assistant persistence across multiple network microphone devices
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11200894B2 (en) 2019-06-12 2021-12-14 Sonos, Inc. Network microphone device with command keyword eventing
US11361756B2 (en) 2019-06-12 2022-06-14 Sonos, Inc. Conditional wake word eventing based on environment
US10586540B1 (en) 2019-06-12 2020-03-10 Sonos, Inc. Network microphone device with command keyword conditioning
US11380312B1 (en) * 2019-06-20 2022-07-05 Amazon Technologies, Inc. Residual echo suppression for keyword detection
US11138969B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US11138975B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US10871943B1 (en) 2019-07-31 2020-12-22 Sonos, Inc. Noise classification for event detection
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11189286B2 (en) 2019-10-22 2021-11-30 Sonos, Inc. VAS toggle based on device orientation
KR20210055347A (ko) 2019-11-07 2021-05-17 엘지전자 주식회사 인공 지능 장치
US11200900B2 (en) 2019-12-20 2021-12-14 Sonos, Inc. Offline voice control
US11562740B2 (en) 2020-01-07 2023-01-24 Sonos, Inc. Voice verification for media playback
US11556307B2 (en) 2020-01-31 2023-01-17 Sonos, Inc. Local voice data processing
US11308958B2 (en) 2020-02-07 2022-04-19 Sonos, Inc. Localized wakeword verification
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11043220B1 (en) 2020-05-11 2021-06-22 Apple Inc. Digital assistant hardware abstraction
US11727919B2 (en) 2020-05-20 2023-08-15 Sonos, Inc. Memory allocation for keyword spotting engines
US11482224B2 (en) 2020-05-20 2022-10-25 Sonos, Inc. Command keywords with input detection windowing
US11308962B2 (en) 2020-05-20 2022-04-19 Sonos, Inc. Input detection windowing
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US11698771B2 (en) 2020-08-25 2023-07-11 Sonos, Inc. Vocal guidance engines for playback devices
CN112188341B (zh) * 2020-09-24 2024-03-12 江苏紫米电子技术有限公司 一种耳机唤醒方法、装置、耳机及介质
US11657814B2 (en) * 2020-10-08 2023-05-23 Harman International Industries, Incorporated Techniques for dynamic auditory phrase completion
CN112233673A (zh) * 2020-10-10 2021-01-15 广东美的厨房电器制造有限公司 厨房系统的控制方法、厨房系统和计算机可读存储介质
US11984123B2 (en) 2020-11-12 2024-05-14 Sonos, Inc. Network device interaction by range
US11551700B2 (en) 2021-01-25 2023-01-10 Sonos, Inc. Systems and methods for power-efficient keyword detection
US11783826B2 (en) * 2021-02-18 2023-10-10 Nuance Communications, Inc. System and method for data augmentation and speech processing in dynamic acoustic environments
CN113281727B (zh) * 2021-06-02 2021-12-07 中国科学院声学研究所 一种基于水平线列阵的输出增强的波束形成方法及其系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100241428A1 (en) * 2009-03-17 2010-09-23 The Hong Kong Polytechnic University Method and system for beamforming using a microphone array

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6839669B1 (en) * 1998-11-05 2005-01-04 Scansoft, Inc. Performing actions identified in recognized speech
US6604071B1 (en) * 1999-02-09 2003-08-05 At&T Corp. Speech enhancement with gain limitations based on speech activity
JP3910898B2 (ja) 2002-09-17 2007-04-25 株式会社東芝 指向性設定装置、指向性設定方法及び指向性設定プログラム
DE10251113A1 (de) * 2002-11-02 2004-05-19 Philips Intellectual Property & Standards Gmbh Verfahren zum Betrieb eines Spracherkennungssystems
CN100392723C (zh) * 2002-12-11 2008-06-04 索夫塔马克斯公司 在稳定性约束下使用独立分量分析的语音处理系统和方法
US7698136B1 (en) * 2003-01-28 2010-04-13 Voxify, Inc. Methods and apparatus for flexible speech recognition
DE10339973A1 (de) * 2003-08-29 2005-03-17 Daimlerchrysler Ag Intelligentes akustisches Mikrofon-Frontend mit Spracherkenner-Feedback
US7447630B2 (en) * 2003-11-26 2008-11-04 Microsoft Corporation Method and apparatus for multi-sensory speech enhancement
CA2454296A1 (en) * 2003-12-29 2005-06-29 Nokia Corporation Method and device for speech enhancement in the presence of background noise
US20070140471A1 (en) * 2004-01-20 2007-06-21 Koninklijke Philips Electronics N.V. Enhanced usage of telephone in noisy surroundings
US7624018B2 (en) * 2004-03-12 2009-11-24 Microsoft Corporation Speech recognition using categories and speech prefixing
CN1965218A (zh) * 2004-06-04 2007-05-16 皇家飞利浦电子股份有限公司 交互式语音识别系统的性能预测
JP5260561B2 (ja) * 2007-03-19 2013-08-14 ドルビー ラボラトリーズ ライセンシング コーポレイション 知覚モデルを使用した音声の強調
CN101281745B (zh) * 2008-05-23 2011-08-10 深圳市北科瑞声科技有限公司 一种车载语音交互系统
US8566088B2 (en) * 2008-11-12 2013-10-22 Scti Holdings, Inc. System and method for automatic speech to text conversion
US20100225461A1 (en) * 2009-03-05 2010-09-09 Raja Singh Tuli Apparatus and method for detection of a specified audio signal or gesture
US8386251B2 (en) * 2009-06-08 2013-02-26 Microsoft Corporation Progressive application of knowledge sources in multistage speech recognition
EP3610918B1 (en) * 2009-07-17 2023-09-27 Implantica Patent Ltd. Voice control of a medical implant
US8311820B2 (en) * 2010-01-28 2012-11-13 Hewlett-Packard Development Company, L.P. Speech recognition based on noise level
EP2664062B1 (en) * 2011-01-14 2015-08-19 Huawei Technologies Co., Ltd. A method and an apparatus for voice quality enhancement
US9117449B2 (en) * 2012-04-26 2015-08-25 Nuance Communications, Inc. Embedded system for construction of small footprint speech recognition with user-definable constraints
CN102831898B (zh) * 2012-08-31 2013-11-13 厦门大学 带声源方向跟踪功能的麦克风阵列语音增强装置及其方法
CN103065631B (zh) * 2013-01-24 2015-07-29 华为终端有限公司 一种语音识别的方法、装置
CN103208291A (zh) * 2013-03-08 2013-07-17 华南理工大学 一种可用于强噪声环境的语音增强方法及装置
GB2523984B (en) * 2013-12-18 2017-07-26 Cirrus Logic Int Semiconductor Ltd Processing received speech data
US9972322B2 (en) * 2016-03-29 2018-05-15 Intel Corporation Speaker recognition using adaptive thresholding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100241428A1 (en) * 2009-03-17 2010-09-23 The Hong Kong Polytechnic University Method and system for beamforming using a microphone array

Also Published As

Publication number Publication date
US10755697B2 (en) 2020-08-25
GB2582461A (en) 2020-09-23
GB201322349D0 (en) 2014-02-05
US20170358294A1 (en) 2017-12-14
US20160322045A1 (en) 2016-11-03
GB2523984A (en) 2015-09-16
CN106030706B (zh) 2020-05-05
US9779726B2 (en) 2017-10-03
GB202014524D0 (en) 2020-10-28
CN111508515A (zh) 2020-08-07
GB2582461B (en) 2021-06-09
GB2536836B (en) 2020-07-01
GB201612379D0 (en) 2016-08-31
GB2584379A (en) 2020-12-02
GB202014523D0 (en) 2020-10-28
GB2523984B (en) 2017-07-26
US20190251954A1 (en) 2019-08-15
GB2584264A (en) 2020-11-25
GB2536836A (en) 2016-09-28
GB2584264B (en) 2021-06-09
GB202006209D0 (en) 2020-06-10
US10319372B2 (en) 2019-06-11
GB2584379B (en) 2021-06-09
CN106030706A (zh) 2016-10-12
WO2015092400A1 (en) 2015-06-25
KR102327476B1 (ko) 2021-11-16

Similar Documents

Publication Publication Date Title
US10755697B2 (en) Voice command triggered speech enhancement
CN106104675B (zh) 激活语音处理
US11705135B2 (en) Detection of liveness
US11017252B2 (en) Detection of liveness
US9324322B1 (en) Automatic volume attenuation for speech enabled devices
US11437021B2 (en) Processing audio signals
US20140278394A1 (en) Apparatus and Method for Beamforming to Obtain Voice and Noise Signals
US20130156212A1 (en) Method and arrangement for noise reduction
CN103988487A (zh) 基于超声波运动检测的声学回声消除
CN112218198A (zh) 便携式设备及其操作方法
EP1905224A2 (en) Audio data stream synchronization
US20180174574A1 (en) Methods and systems for reducing false alarms in keyword detection
US20140341386A1 (en) Noise reduction
EP2757765B1 (en) Audio system signal processing control using microphone movement information
US20200202843A1 (en) Unwanted keyword detection abatement systems and methods
US9549055B2 (en) Method in an electronic mobile device, and such a device
US11776538B1 (en) Signal processing
CN114838807A (zh) 固体声敏感式加速度传感器的校准方法和系统及其测量信号的校正方法

Legal Events

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