KR20160099636A - 보이스 커맨드로 트리거되는 음성 향상 - Google Patents
보이스 커맨드로 트리거되는 음성 향상 Download PDFInfo
- 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
Links
- 230000001960 triggered effect Effects 0.000 title description 22
- 238000001514 detection method Methods 0.000 claims abstract description 148
- 238000012545 processing Methods 0.000 claims abstract description 53
- 230000003044 adaptive effect Effects 0.000 claims abstract description 43
- 230000004044 response Effects 0.000 claims abstract description 23
- 238000012549 training Methods 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 115
- 230000008569 process Effects 0.000 claims description 57
- 230000006978 adaptation Effects 0.000 claims description 43
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012958 reprocessing Methods 0.000 claims 1
- 230000000694 effects Effects 0.000 description 36
- 230000006870 function Effects 0.000 description 20
- 230000036961 partial effect Effects 0.000 description 14
- 101100099988 Arabidopsis thaliana TPD1 gene Proteins 0.000 description 11
- 101100352918 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PTC1 gene Proteins 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 10
- 230000003139 buffering effect Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 230000002829 reductive effect Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 101150040844 Bin1 gene Proteins 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000002411 adverse Effects 0.000 description 3
- 230000035945 sensitivity Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech 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/02—Speech enhancement, e.g. noise reduction or echo cancellation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/065—Adaptation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/20—Speech recognition techniques specially adapted for robustness in adverse environments, e.g. in noise, of stress induced speech
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/285—Memory allocation or algorithm optimisation to reduce hardware requirements
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/22—Interactive procedures; Man-machine interfaces
- G10L17/24—Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech 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/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech 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/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0216—Noise filtering characterised by the method used for estimating noise
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/78—Detection of presence or absence of voice signals
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/78—Detection of presence or absence of voice signals
- G10L25/84—Detection of presence or absence of voice signals for discriminating voice from noise
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L2015/088—Word spotting
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech 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/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0216—Noise filtering characterised by the method used for estimating noise
- G10L2021/02161—Number of inputs available containing the signal or the noise to be suppressed
- G10L2021/02166—Microphone 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
본 발명은 수신된 음성 데이터를 처리하는 방법, 및 이러한 방법을 구현하기 위한 시스템에 관한 것이다.
인터넷을 통해 액세스되는 원격지에 위치된 음성 인식 알고리즘을 사용하여 모바일 디바이스에 대한 자동 음성 인식(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은 본 발명의 일 양태에 따른 모바일 디바이스를 도시한다.
도 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 실시예와 협력하여 가능할 수 있다.
이것은 다음과 같이 요약될 수 있다:
앞서 언급된 바와 같이, 신호 활동의 실제 시작과 신호 활동 검출 블록에 의한 그의 검출 사이에 시간 지연이 있을 수 있다. 제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)
- 음성을 나타내는 수신 데이터를 처리하는 방법으로서,
상기 수신 데이터를 저장하는 단계;
상기 수신 데이터에서 트리거 구문(trigger phrase)을 나타내는 데이터의 존재를 검출하는 단계;
상기 검출에 응답하여, 상기 트리거 구문의 적어도 일부를 나타내는 상기 저장된 데이터의 제1 부분을 적응적 음성 향상 블록(adaptive speech enhancement block)에 공급하는 단계;
상기 음성 향상 블록에 대한 적응된 파라미터들을 도출하기 위해 상기 저장된 데이터의 상기 제1 부분을 바탕으로 상기 음성 향상 블록을 트레이닝하는 단계;
향상되는 저장된 데이터를 형성하기 위해, 상기 저장된 데이터의 제2 부분을 상기 적응된 파라미터들로 동작하는 상기 적응적 음성 향상 블록에 공급하는 단계 - 상기 저장된 데이터의 상기 제2 부분은 상기 저장된 데이터의 상기 제1 부분과 중첩함 -;
상기 향상되는 저장된 데이터에서 상기 트리거 구문을 나타내는 데이터의 존재를 검출하는 단계; 및
상기 향상되는 저장된 데이터에서 상기 트리거 구문을 나타내는 데이터의 존재를 검출하는 것에 응답하여, 추가 처리를 위해 상기 음성 향상 블록으로부터 향상된 음성 데이터를 출력하는 단계
를 포함하고,
상기 수신 데이터에서 트리거 구문을 나타내는 데이터의 존재를 검출하는 단계는 제1 트리거 구문 검출 블록에 의해 수행되고,
상기 향상되는 저장된 데이터에서 상기 트리거 구문을 나타내는 데이터의 존재를 검출하는 단계는 제2 트리거 구문 검출 블록에 의해 수행되고, 상기 제2 트리거 구문 검출 블록은 상기 제1 트리거 구문 검출 블록과 상이한 검출 기준들로 동작하는 방법. - 제1항에 있어서,
상기 향상되는 저장된 데이터에서 상기 트리거 구문을 나타내는 데이터의 존재를 검출하는데 실패하는 것에 응답하여, 상기 제1 트리거 구문 검출 블록을 리셋시키는 단계를 포함하는 방법. - 제1항 또는 제2항에 있어서,
상기 제2 트리거 구문 검출 블록은 상기 제1 트리거 구문 검출 블록보다 더 엄격한 검출 기준들로 동작하는 방법. - 제1항 내지 제3항 중 어느 한 항에 있어서,
다수의 마이크로폰으로부터 데이터를 수신하여 저장하는 단계;
상기 마이크로폰들의 서브세트로부터 수신된 데이터에서 상기 트리거 구문을 나타내는 데이터의 존재를 검출하기 위해 상기 마이크로폰들의 서브세트로부터 수신된 데이터를 상기 제1 트리거 구문 검출 블록에 공급하는 단계;
상기 검출에 응답하여, 상기 트리거 구문의 적어도 일부를 나타내는, 상기 다수의 마이크로폰으로부터의 상기 저장된 데이터의 상기 제1 부분을 상기 적응적 음성 향상 블록에 공급하는 단계;
상기 음성 향상 블록에 대한 적응된 파라미터들을 도출하기 위해 상기 다수의 마이크로폰으로부터의 상기 저장된 데이터의 상기 제1 부분을 바탕으로 상기 음성 향상 블록을 트레이닝하는 단계; 및
상기 향상되는 저장된 데이터를 형성하기 위해, 상기 다수의 마이크로폰으로부터의 상기 저장된 데이터의 상기 제2 부분을 상기 적응된 파라미터들로 동작하는 상기 적응적 음성 향상 블록에 공급하는 단계
를 포함하는 방법. - 제4항에 있어서,
상기 음성 향상 블록은 빔형성기(beamformer)인 방법. - 제1항 내지 제5항 중 어느 한 항에 있어서,
상기 저장된 데이터의 상기 제1 부분은 제1 정의된 시작 지점부터 저장된 데이터인 방법. - 제6항에 있어서,
상기 저장된 데이터의 상기 제2 부분은 제2 정의된 시작 지점부터 저장된 데이터이고, 상기 제2 정의된 시작 지점은 상기 제1 정의된 시작 지점보다 더 늦은 방법. - 제1항 내지 제7항 중 어느 한 항에 있어서,
상기 저장된 데이터의 상기 제2 부분을 상기 음성 향상 블록에 공급하고, 상기 향상된 음성 데이터를 실시간보다 더 높은 레이트로 상기 음성 향상 블록으로부터 출력하는 단계를 포함하는 방법. - 제8항에 있어서,
공급되는 데이터가 저장되는 데이터와 실질적으로 시간 정렬될 때까지, 상기 저장된 데이터의 상기 제2 부분을 상기 음성 향상 블록에 공급하고, 상기 향상된 음성 데이터를 실시간보다 더 높은 레이트로 상기 음성 향상 블록으로부터 출력하는 단계를 포함하는 방법. - 음성 프로세서로서,
음성을 나타내는 데이터를 수신하기 위한 입력; 및
음성 처리 블록
을 포함하고,
상기 음성 프로세서는 제1항 내지 제10항 중 어느 한 항에 기재된 방법을 수행하도록 구성되는 음성 프로세서. - 음성 프로세서로서,
음성을 나타내는 데이터를 수신하기 위한 입력; 및
음성 처리 블록에 연결하기 위한 출력
을 포함하고,
상기 음성 프로세서는 제1항 내지 제10항 중 어느 한 항에 기재된 방법을 수행하도록 구성되는 음성 프로세서. - 제10항 또는 제11항에 기재된 음성 프로세서를 포함하는 모바일 디바이스.
- 처리 디바이스로 하여금 제1항 내지 제10항 중 어느 한 항에 기재된 방법을 수행하게 하기 위한 컴퓨터 판독가능 코드를 포함하는 컴퓨터 프로그램 제품.
- 음성을 나타내는 수신 데이터를 처리하는 방법으로서,
상기 수신 데이터의 세그먼트가 트리거 구문을 나타낸다는 것을 검출하면:
적응적 음성 향상 블록에 대한 파라미터들을 도출하기 위해 상기 수신 데이터의 세그먼트의 적어도 일부를 바탕으로 상기 적응적 음성 향상 블록을 트레이닝하는 단계;
향상된 데이터 세그먼트를 발생시키기 위해 상기 수신 데이터의 세그먼트를 상기 도출된 파라미터들을 사용하는 상기 적응적 음성 향상 블록을 통과시키는 단계; 및
상기 향상된 데이터 세그먼트에서 상기 트리거 구문을 검출하려고 시도하는 단계
를 포함하는 방법. - 제14항에 있어서,
상기 향상된 데이터 세그먼트에서 상기 트리거 구문을 검출하려고 시도하는데 있어서 성공하지 못하는 경우, 상기 수신 데이터의 세그먼트가 트리거 구문을 나타낸다는 것을 검출하기 위한 검출기를 리셋시키는 단계를 포함하는 방법. - 제14항 또는 제15항에 있어서,
상기 향상된 데이터 세그먼트에서 상기 트리거 구문을 검출하려고 시도하는데 있어서 성공하는 경우, 추가 다운스트림 신호 처리를 위해 추가 수신 데이터를 상기 적응적 음성 향상 블록을 통과시키는 단계를 포함하는 방법. - 제14항 내지 제16항 중 어느 한 항에 있어서,
상기 수신 데이터의 세그먼트가 트리거 구문을 나타내는지를 검출하는데 사용되는 것들과 상이한 검출 기준들을 사용하여 상기 향상된 데이터 세그먼트에서 상기 트리거 구문을 검출하려고 시도하는 단계를 포함하는 방법. - 음성을 나타내는 수신 데이터를 처리하는 방법으로서,
상기 수신 데이터에서 주변 잡음 레벨을 검출하는 단계;
상기 주변 잡음 레벨이 제1 임계값 초과이며, 상기 제1 임계값보다 더 높은 제2 임계값 미만인 경우, 상기 수신 데이터에 대해 음성 향상 프로세스를 수행하고, 상기 음성 향상 프로세스로부터 출력된 데이터에 대해 음성 인식 프로세스를 수행하는 단계;
상기 주변 잡음 레벨이 상기 제1 임계값 미만인 경우, 상기 음성 향상 프로세스에 의해 처리되지 않은 상기 수신 데이터에 대해 음성 인식 프로세스를 수행하는 단계; 및
상기 주변 잡음 레벨이 상기 제2 임계값 초과인 경우, 상기 수신 데이터에 대해 음성 인식 프로세스를 수행하는 것을 생략하는 단계
를 포함하는 방법. - 제18항에 있어서,
상기 음성 인식 프로세스는 트리거 구문 검출 프로세스인 방법. - 제19항에 있어서,
상기 수신 데이터에서 트리거 구문을 성공적으로 검출하는 것에 응답하여:
상기 주변 잡음 레벨이 상기 제1 임계값 초과이며 상기 제2 임계값 미만인 경우, 추가 수신 데이터에 대해 음성 향상 프로세스를 수행하고, 상기 음성 향상 프로세스로부터 음성 향상된 데이터를 출력하는 단계; 및
상기 주변 잡음 레벨이 상기 제1 임계값 미만인 경우, 상기 음성 향상 프로세스에 의해 처리되지 않은 상기 추가 수신 데이터를 출력하는 단계
를 더 포함하는 방법. - 제18항 내지 제20항 중 어느 한 항에 있어서,
상기 주변 잡음 레벨이 상기 제1 임계값보다 더 낮은 제3 임계값 미만인 경우, 상기 음성 인식 프로세스를 파워 다운하는 단계를 더 포함하는 방법. - 음성 프로세서로서,
음성을 나타내는 데이터를 수신하기 위한 입력; 및
음성 처리 블록
을 포함하고,
상기 음성 프로세서는 제18항 내지 제21항 중 어느 한 항에 기재된 방법을 수행하도록 구성되는 음성 프로세서. - 음성 프로세서로서,
음성을 나타내는 데이터를 수신하기 위한 입력; 및
음성 처리 블록에 연결하기 위한 출력
을 포함하고,
상기 음성 프로세서는 제18항 내지 제21항 중 어느 한 항에 기재된 방법을 수행하도록 구성되는 음성 프로세서. - 제22항 또는 제23항에 기재된 음성 프로세서를 포함하는 모바일 디바이스.
- 처리 디바이스로 하여금 제18항 내지 제21항 중 어느 한 항에 기재된 방법을 수행하게 하기 위한 컴퓨터 판독가능 코드를 포함하는 컴퓨터 프로그램 제품.
- 음성을 나타내는 수신 데이터를 처리하는 방법으로서,
상기 수신 데이터를 저장하는 단계;
상기 수신 데이터에서 제1 트리거 구문을 나타내는 데이터의 존재를 검출하는 단계;
상기 검출에 응답하여, 상기 제1 트리거 구문의 적어도 일부를 나타내는 상기 저장된 데이터의 제1 부분을 적응적 음성 향상 블록에 공급하는 단계;
상기 음성 향상 블록에 대한 적응된 파라미터들을 도출하기 위해 상기 저장된 데이터의 상기 제1 부분을 바탕으로 상기 음성 향상 블록을 트레이닝하는 단계;
상기 저장된 데이터의 제2 부분을 상기 적응된 파라미터들로 동작하는 상기 적응적 음성 향상 블록에 공급하는 단계 - 상기 저장된 데이터의 상기 제2 부분은 상기 저장된 데이터의 상기 제1 부분과 중첩함 -; 및
향상된 음성 데이터를 상기 음성 향상 블록으로부터 출력하는 단계
를 포함하는 방법. - 제26항에 있어서,
상기 제1 트리거 구문은 전체 트리거 구문의 일부이고, 상기 방법은 상기 전체 트리거 구문을 검출하려고 시도하는 단계를 포함하고, 상기 전체 트리거 구문이 검출되는 경우에만 상기 저장된 데이터의 상기 제2 부분을 상기 적응적 음성 향상 블록에 공급하는 단계를 더 포함하는 방법. - 제26항에 있어서,
상기 저장된 데이터의 상기 제1 부분은 제1 정의된 시작 지점부터 저장된 데이터인 방법. - 제28항에 있어서,
상기 저장된 데이터의 상기 제2 부분은 제2 정의된 시작 지점부터 저장된 데이터이고, 상기 제2 정의된 시작 지점은 상기 제1 정의된 시작 지점보다 더 늦은 방법. - 제26항 내지 제29항 중 어느 한 항에 있어서,
상기 저장된 데이터의 상기 제2 부분은 상기 전체 트리거 구문의 적어도 일부를 나타내는 데이터를 포함하는 방법. - 제26항에 있어서,
상기 음성 향상 블록으로부터 출력된 상기 향상된 음성 데이터를 음성 인식 엔진으로 송신하는 단계를 더 포함하는 방법. - 제31항에 있어서,
상기 음성 향상 블록으로부터 출력된 상기 향상된 음성 데이터를 단일의 디바이스 내의 상기 음성 인식 엔진으로 송신하는 단계를 포함하는 방법. - 제26항 내지 제32항 중 어느 한 항에 있어서,
상기 저장된 데이터의 상기 제2 부분을 상기 음성 향상 블록에 공급하고, 상기 향상된 음성 데이터를 실시간보다 더 높은 레이트로 상기 음성 향상 블록으로부터 출력하는 단계를 포함하는 방법. - 제33항에 있어서,
공급되는 데이터가 저장되는 데이터와 실질적으로 시간 정렬될 때까지, 상기 저장된 데이터의 상기 제2 부분을 상기 음성 향상 블록에 공급하고, 상기 향상된 음성 데이터를 실시간보다 더 높은 레이트로 상기 음성 향상 블록으로부터 출력하는 단계를 포함하는 방법. - 제26항 내지 제34항 중 어느 한 항에 있어서,
수신된 음성 데이터에 대해 제2 적응적 음성 향상을 수행하는 단계를 더 포함하는 방법. - 제35항에 있어서,
상기 음성 향상 블록을 트레이닝하는 동안에 상기 제2 적응적 음성 향상의 적응을 억제하는 단계를 더 포함하는 방법. - 제36항에 있어서,
상기 음성 향상 블록을 트레이닝한 이후에 상기 제2 적응적 음성 향상의 적응을 재개하는 단계를 더 포함하는 방법. - 제35항 내지 제37항 중 어느 한 항에 있어서,
상기 제2 적응적 음성 향상은 음향 반향 제거(acoustic echo cancellation)인 방법. - 음성 프로세서로서,
음성을 나타내는 데이터를 수신하기 위한 입력; 및
음성 처리 블록
을 포함하고,
상기 음성 프로세서는 제26항 내지 제38항 중 어느 한 항에 기재된 방법을 수행하도록 구성되는 음성 프로세서. - 음성 프로세서로서,
음성을 나타내는 데이터를 수신하기 위한 입력; 및
음성 처리 블록에 연결하기 위한 출력
을 포함하고,
상기 음성 프로세서는 제26항 내지 제38항 중 어느 한 항에 기재된 방법을 수행하도록 구성되는 음성 프로세서. - 제39항 또는 제40항에 기재된 음성 프로세서를 포함하는 모바일 디바이스.
- 처리 디바이스로 하여금 제26항 내지 제38항 중 어느 한 항에 기재된 방법을 수행하게 하기 위한 컴퓨터 판독가능 코드를 포함하는 컴퓨터 프로그램 제품.
- 음성을 나타내는 수신 데이터를 처리하는 방법으로서,
상기 수신 데이터의 세그먼트에서 제1 트리거 구문의 존재를 검출하면:
적응된 파라미터들을 도출하기 위해 상기 수신 데이터의 세그먼트의 적어도 일부를 바탕으로 적응적 음성 향상 블록을 트레이닝하는 단계; 및
상기 적응된 파라미터들을 사용하여 상기 수신 데이터의 세그먼트의 상기 일부의 적어도 일부를 재처리하는 단계
를 포함하는 방법.
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)
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)
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)
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 |
-
2013
- 2013-12-18 GB GB1322349.0A patent/GB2523984B/en active Active
-
2014
- 2014-12-17 WO PCT/GB2014/053738 patent/WO2015092400A1/en active Application Filing
- 2014-12-17 GB GB2014524.9A patent/GB2584379B/en active Active
- 2014-12-17 CN CN201480075790.8A patent/CN106030706B/zh active Active
- 2014-12-17 KR KR1020167018894A patent/KR102327476B1/ko active IP Right Grant
- 2014-12-17 GB GB1612379.6A patent/GB2536836B/en active Active
- 2014-12-17 CN CN202010286430.XA patent/CN111508515A/zh active Pending
- 2014-12-17 US US15/105,882 patent/US9779726B2/en active Active
- 2014-12-17 GB GB2006209.7A patent/GB2582461B/en active Active
- 2014-12-17 GB GB2014523.1A patent/GB2584264B/en active Active
-
2017
- 2017-08-28 US US15/688,380 patent/US10319372B2/en active Active
-
2019
- 2019-04-24 US US16/393,542 patent/US10755697B2/en active Active
Patent Citations (1)
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 |