KR101917790B1 - 핫 워드 인식 - Google Patents

핫 워드 인식 Download PDF

Info

Publication number
KR101917790B1
KR101917790B1 KR1020160131558A KR20160131558A KR101917790B1 KR 101917790 B1 KR101917790 B1 KR 101917790B1 KR 1020160131558 A KR1020160131558 A KR 1020160131558A KR 20160131558 A KR20160131558 A KR 20160131558A KR 101917790 B1 KR101917790 B1 KR 101917790B1
Authority
KR
South Korea
Prior art keywords
audio data
audio
hot word
hot
word
Prior art date
Application number
KR1020160131558A
Other languages
English (en)
Other versions
KR20170045123A (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
Priority claimed from US14/943,287 external-priority patent/US9747926B2/en
Priority claimed from US15/176,830 external-priority patent/US9928840B2/en
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20170045123A publication Critical patent/KR20170045123A/ko
Application granted granted Critical
Publication of KR101917790B1 publication Critical patent/KR101917790B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/06Decision making techniques; Pattern matching strategies
    • G10L17/08Use of distortion metrics or a particular distance between probe pattern and reference templates
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/02Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3343Query execution using phonetics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F17/30743
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/20Individual registration on entry or exit involving the use of a pass
    • G07C9/22Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder
    • G07C9/25Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder using biometric data, e.g. fingerprints, iris scans or voice recognition
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/20Individual registration on entry or exit involving the use of a pass
    • G07C9/22Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder
    • G07C9/25Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder using biometric data, e.g. fingerprints, iris scans or voice recognition
    • G07C9/257Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder using biometric data, e.g. fingerprints, iris scans or voice recognition electronically
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/04Training, enrolment or model building
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/06Decision making techniques; Pattern matching strategies
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/22Interactive procedures; Man-machine interfaces
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/30Individual registration on entry or exit not involving the use of a pass
    • G07C9/32Individual registration on entry or exit not involving the use of a pass in combination with an identity check
    • G07C9/37Individual registration on entry or exit not involving the use of a pass in combination with an identity check using biometric data, e.g. fingerprints, iris scans or voice recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/018Audio watermarking, i.e. embedding inaudible data in the audio signal
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Library & Information Science (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephone Function (AREA)
  • Machine Translation (AREA)

Abstract

발언에 해당하는 오디오 데이터를 수신하고; 상기 오디오 데이터가 핫 워드에 해당하는지를 판단하고; 상기 핫 워드에 해당하는 것으로 결정된 오디오 데이터의 핫 워드 오디오 핑거프린트를 생성하고; 상기 핫 워드 오디오 핑거프린트와 상기 핫 워드에 해당하는 것으로 이전에 결정된 오디오 데이터의 오디오 핑거프린트들과의 사이에 유사도를 판단하고; 상기 핫 워드 오디오 핑거프린트와 상기 하나 이상의 저장된 오디오 핑거프린트들 중 하나 간의 유사도가 미리 정해진 임계치를 만족하는지에 기초하여, 상기 핫 워드 오디오 핑거프린트가 상기 핫 워드에 해당하는 것으로 이전에 결정된 오디오 데이터의 저장된 오디오 핑거프린트와 매칭하는지를 판단하고; 그리고 상기 핫 워드 오디오 핑거프린트가 저장된 오디오 핑거프린트와 매칭함을 검출함에 응답하여, 상기 발언이 말해진 컴퓨팅 디바이스에 대한 액세스를 디스에이블링하게 하는 방법, 시스템 및 이 동작들을 수행하게 하는 컴퓨터 프로그램을 저장하고 있는 비-일시적인 컴퓨터 판독가능 저장 매체가 개시된다.

Description

핫 워드 인식{HOTWORD RECOGNITION}
관련 출원의 상호 참조
본 출원은 2015년 10월 16일 출원된 미국 가출원 번호 62/242,650, 2015년 11월 17일 출원된 미국 가출원 번호 14/943,287, 2016년 6월 8일 출원된 미국 가출원 번호 15/176,482, 및 의 우선권을 주장하며, 및 2016년 6월 8일 출원된 미국 가출원 번호 15/176,830의 우선권을 주장하며, 이 가출원의 모든 내용은 참고로 여기에 포함된다.
본 발명은 일반적으로 음성 인식에 관한 것이다.
자동 음성 인식은 컴퓨팅 디바이스에 사용되는 중요한 기술이다. 전자 디바이스에 대한 음성 인식 서비스는 일반적으로 사용자가 말한 워드들을 (spoken words)포함하는 음성 발언(vocal utterances)를 수신하고, 상기 사용자가 말한 워드들을 텍스트로 표기한다. 음성 발언들은 핫 워드 즉, 시스템 또는 디바이스로 하여금 해당 동작(들)을 수행하게 하는 미리 결정된 예약 워드를 포함한다.
본 발명의 실시예들은 예를 들어 음성을 통해 모바일 디바이스에 액세스하는 것을 언록킹하거나 인에이블링하고 그리고 재생 공격(replay attacks)을 금지하기 위해 핫 워드를 이용하는 핫 워드 인식에 관한 것이다. 재생 공격은 허가되지 않은 사용자가 디바이스의 소유자 또는 허가된 사용자가 말한 핫 워드의 오디오를 캡처하여 상기 디바이스에의 무단 액세스의 일부 레벨을 얻기 위해 이를 재생하는 프로세스이다. 본 발명의 실시 예들에 따르면, 핫 워드 또는 음성 기반의 재생 공격은 각 발언의 고유성(uniqueness)을 검증함으로써 금지할 수 있다. 특히, 가장 최근의 마지막 N 또는 특정 디바이스 또는 특정 사용자에 대하여 인식되었던 모든 핫 워드 발언들이 기록 및 저장될 수 있다. 오디오 핑거프린트가 생성되어 각 핫 워드 발언에 대해 저장되며, 재생을 표시하는 동일 발언이 이전에 사용되었는지를 체크하기 위해 새로운 발언으로부터 생성된 상기 오디오 핑거프린트와 이전에 기록된 각각의 오디오 핑거프린트와의 비교가 수행될 수 있다. 또한, 특정 실시 예들에서, 다른 신호들 (예를 들어, 초음파 오디오 인젝션 및 크로스-발언 검증)이 재생 공격의 효과를 더욱 제한하기 위해 사용될 수 있다.
본 명세서에서 설명된 발명의 하나의 혁신적 양태가 방법들에서 구체화되며, 상기 방법들은 발언에 해당하는 오디오 데이터를 수신하고; 상기 오디오 데이터가 핫 워드에 해당하는지를 판단하고; 상기 핫 워드에 해당하는 것으로 결정된 오디오 데이터의 핫 워드 오디오 핑거프린트를 생성하고; 상기 핫 워드 오디오 핑거프린트와 상기 핫 워드에 해당하는 것으로 이전에 결정된 오디오 데이터의 오디오 핑거프린트들과의 사이에 유사도를 판단하고; 상기 핫 워드 오디오 핑거프린트와 상기 하나 이상의 저장된 오디오 핑거프린트들 중 하나 간의 유사도가 미리 정해진 임계치를 만족하는지에 기초하여, 상기 핫 워드 오디오 핑거프린트가 상기 핫 워드에 해당하는 것으로 이전에 결정된 오디오 데이터의 저장된 오디오 핑거프린트와 매칭하는지를 판단하고; 그리고 상기 핫 워드 오디오 핑거프린트가 저장된 오디오 핑거프린트와 매칭함을 검출함에 응답하여, 상기 발언이 말해진 컴퓨팅 디바이스에 대한 액세스를 디스에이블링하는 동작들을 포함한다.
일반적으로, 본 명세서에 기술된 본 발명의 다른 양태는 방법들에서 구체화되며, 상기 방법들은 추가적인 발언에 해당하는 추가적인 오디오 데이터를 수신하고; 상기 추가적인 오디오 데이터를 이용하여 화자 식별 딥-벡터들(d-벡터들)(speaker-identification deep-vectors)을 식별하고; 상기 추가적인 오디오 데이터로부터의 화자 식별 d-벡터들과 상기 발언에 해당하는 음성 데이터로부터의 핫 워드 d-벡터들 사이의 유사도를 판단하고; 상기 발언에 해당하는 오디오 데이터로부터의 화자-식별 d-벡터들과 상기 추가적인 오디오 데이터로부터의 화자 식별 d-벡터들 사이의 유사도가 특정 임계치를 만족하는지에 기초하여, 상기 핫 워드에 해당하는 오디오 데이터가 상기 추가적인 오디오 데이터와 매칭하는 지를 검출하고; 그리고 상기 핫 워드에 해당하는 오디오 데이터가 상기 추가적인 오디오 데이터와 매칭하지 않음을 검출함에 응답하여 상기 컴퓨팅 디바이스에 대한 액세스를 디스에이블링하는 동작들을 포함한다.
본 명세서에 기술된 본 발명의 또 다른 양태에 따르면, 상기 핫 워드는 특정 용어일 수 있는바, 이 특정 용어는 이 특정 용어에 후속되는 하나 이상의 용어들 중 추가적인 용어의 시멘틱 해석(semantice interpretation)을 트리거한다. 상기 특정 용어에 후속하는 하나 이상의 용어들 중 상기 추가적인 용어는 쿼리(query) 또는 명령(command)과 관련될 수 있다.
본 명세서에 기술된 본 발명의 또 다른 양태는 방법들에서 구체화되며, 상기 방법들은 음성 명령이나 쿼리에 해당하는 추가적인 오디오 데이터를 수신하고; 그리고 음성 명령 또는 쿼리의 유형을 결정하는 동작을 포함한다. 또한, 상기 미리 정해진 임계치는 상기 음성 명령 또는 쿼리의 결정된 유형에 따라 조정될 수 있다.
이들 및 다른 실시 예들은 각각 옵션에 따라 다음 특성들 중 하나 이상을 포함할 수 있다. 예를 들어, 오디오 데이터가 핫 워드에 해당하는지 판단하는 것은 상기 오디오 데이터의 하나 이상의 음향 특성을 식별하고; 상기 오디오 데이터의 하나 이상의 음향 특성을 데이터베이스에 저장된 하나 이상의 핫 워드와 관련된 하나 이상의 음향 특성과 비교하고; 그리고 상기 하나 이상의 오디오 데이터의 음향 특성을 데이터베이스에 저장된 하나 이상의 핫 워드와 관련된 하나 이상의 음향 특성과 비교함에 기초하여, 상기 오디오 데이터가 상기 데이터베이스에 저장된 하나 이상의 핫 워드 중 하나에 해당함을 판단하는 것을 포함한다.
일부 실시 예들에서, 상기 오디오 데이터가 핫 워드에 해당함을 판단하는 것은 오디오 데이터의 초기 부분이 상기 핫 워드의 초기 부분에 해당함을 판단하고; 그리고 상기 오디오 데이터의 초기 부분이 상기 핫 워드의 초기 부분에 해당한다는 결정에 응답하여, 복수의 고유 초음파 오디오 샘플들 중 하나를 상기 오디오 데이터의 초기 부분이 수신된 후 출력되게 하는 것을 포함한다.
본 명세서에 기술된 본 발명의 또 다른 양태는 방법들에서 구체화되며, 상기 방법들은 상기 수신된 오디오 데이터가 상기 복수의 고유 초음파 오디오 샘플들 중 하나에 해당하는 오디오 데이터를 포함함을 판단하고; 그리고 상기 수신된 오디오 데이터가 상기 복수의 고유 초음파 오디오 샘플들 중 하나에 해당하는 오디오 데이터를 포함한다고 결정함에 응답하여, 상기 컴퓨팅 디바이스에 대한 액세스를 디스에일블링하는 것을 포함한다.
이들 양태들의 다른 실시 예들은 해당 시스템, 디바이스 및 컴퓨팅 디바이스들에 수록되어 상기 방법들을 수행하도록 된 컴퓨터 프로그램들을 포함한다.
본 발명의 하나 이상의 실시 예들의 상세내용이 첨부된 도면 및 이하의 상세한 설명에 제시된다. 본 발명의 다른 특성들 및 장점이 상세한 설명, 도면 및 특허청구범위로부터 명백해질 것이다.
도 1은 본 발명의 실시 예들에 따른, 핫 워드를 검출 및 검증하기 위한 예시적인 시스템을 도시한다.
도 2a 및 도 2b는 본 발명의 실시 예들에 따른, 핫 워드를 검출 및 검증하기 위한 예시적인 프로세스들의 선도를 도시한다.
도 3은 본 발명의 실시 예들에 따른, 핫 워드를 검출 및 검증하기 위한 예시적인 흐름도를 도시한다.
도 4는 여기에 기재된 기술들을 실시하는데 사용될 수 있는 컴퓨터 디바이스 및 모바일 컴퓨터 디바이스를 도시한다.
여러 도면들에서 유사한 참조 번호 및 표시들은 유사한 구성 요소를 나타낸다.
도 1은 본 발명의 실시 예들에 따른, 핫 워드를 검출 및 검증하기 위한 예시적인 시스템(100)을 도시한다. 이 시스템(100)은 재생 공격을 금지할 수 있다. 일부 실시 예들에서, 시스템(100)은 오디오 서브 시스템(120), 핫 워드 검출기 (130), 오디오 핑거프린트 생성기(140) 및 재생 공격 엔진(150)을 포함한다. 일부 예들에서, 시스템(100)은 컴퓨팅 디바이스(예를 들면, 스마트 폰, 랩탑 컴퓨터, 데스크탑 또는 개인용 컴퓨터, 태블릿 등, 또는 이들의 조합)에 실시된다. 이 컴퓨팅 디바이스는 사용자로부터의 발언들을 검출하는 음성 검출 수단 (예를 들어, 마이크로폰)을 포함한다.
본 발명의 실시 예들은 예컨대, 음성을 통해 모바일 디바이스에 대한 액세스를 언록킹 또는 인에이블링하기 위해 핫 워드를 이용하여 핫 워드 인식을 가능하게 한다. 핫 워드의 이용을 가능하게 하는 방법 중 하나는 항시 온(always on)의 핫 워드 인식을 통해서이다. 항시-온 핫 워드 인식은 컴퓨팅 디바이스를 깨움(wake-up)으로서 동작을 개시시키기 위해 미리 정해진 어구, 예컨대 "OK 컴퓨터"를 지속적으로 청취하는 프로세스이다. 전체 음성 인식기(a full speech recognizer)의 실행을 통한 핫 워드 검출의 하나의 장점은 단지 정해진 트리거 어구만을 인식함을 필요로 하기 때문에 효율성이 높고 강건한 인식을 가능하게 한다는 점이다. 또한, 핫 워드 인식은 입력 발언에서의 음성 인식을 수행함이 없이, 입력 음성의 오디오 특성들을 핫 워드의 알려진 발언들의 오디오 특성들과 비교하는 것을 포함할 수 있다. 이러한 동작들은 음성 인식기를 실시하는 것에 비해 대폭적으로 적은 연산비용으로 수행될 수 있다.
말해진 핫 워드는 디바이스에 대한 액세스를 제공하고 이 핫 워드는 특정 발언이며 소리 내어 말해지기 때문에, 핫 워드 인식의 사용은 재생 공격에 취약할 수 있다. 재생 공격은 허가되지 않은 사용자가 디바이스의 소유자 또는 허가된 사용자가 말한 핫 워드의 오디오를 캡처하여 상기 디바이스에 대한 무단 액세스의 일부 레벨을 얻기 위해 이를 재생하는 프로세스이다. 본 발명의 실시 예들에 따르면, 핫 워드 또는 음성 기반의 재생 공격은 각 발언의 고유성을 검증함으로써 금지될 수 있다.
특정 실시 예들에서, 항시-온 핫 워드 인식은 디바이스의 소유자에 의해 말해지지 않은 발언들을 필터링하기 위한 화자 검증(speaker verification)과 결합하여 사용될 수 있다. 화자 검증과 핫 워드 인식의 조합은 핫 워드 인식이 텍스트 의존적이므로 즉, 말해진 발언이 주어진 핫 워드에 대해 동일하기 때문에 장점을 갖는다.
일부 실시 예들에서, 사용자는 컴퓨팅 디바이스가 발언으로서 검출하는 하나 이상의 워드를 말할 수 있다. 이 발언은 컴퓨팅 디바이스에 의해 동작이 수행되도록 하는 하나 이상의 핫 워드들 또는 부분적인 핫 워드들을 포함할 수 있다.
특정 실시 예들에서, 컴퓨팅 디바이스가 록킹 상태에 있는 경우, 핫 워드는 디바이스에 대한 부분적 또는 완전한 액세스를 얻기 위한 방식으로서 작용할 수 있다. 예컨대, 만일 스크린이 오프 상태 및/또는 컴퓨팅 디바이스가 록킹 상태에 있고 그리고 화자 프로파일이 성공적으로 검증된 때, 사용자가 "OK 컴퓨터"라고 말하면, "나의 다음 미팅은 언제이지", "상사에게 메시지 전송해" 등과 같은 개인적이거나 민감한 데이터를 액세스하는 특정 쿼리들이 허용될 수 있다. 일부 실시 예들에서, 핫 워드는 사용자로 하여금, "메일 전송해"와 같은 음성 동작들을 수행할 수 있게 하거나, 특히 위치와 같은 그러한 추가적인 컨텍스트 신호들(contextual signals)과 결합될 때 컴퓨팅 디바이스를 완전히 언록킹하는데 이용될 수 있다.
도시된 예에 보인 바와 같이, 사용자는, 예를 들어, "OK 컴퓨터"(110)라고 말할 수 있다. 컴퓨팅 디바이스는 "OK 컴퓨터"(110)를 검출하고, 이때 오디오 서브 시스템(120)은 발언 "OK 컴퓨터"(110)을 적절히 수신할 수 있다.
도시된 예에서, 오디오 서브 시스템(120)은 발언 "OK 컴퓨터"와 관련된 오디오 데이터를 수신할 수 있다. 수신된 오디오 데이터는 이 발언의 일련의 오디오 프레임을 포함하거나 또는 이 발언과 관련된 오디오 데이터의 미리 결정된 시간 양을 포함할 수 있다. 일부 실시 예들에서, 오디오 서브 시스템 (120)은 이 발언을 처리하여 발언의 일부 또는 실질적으로 발언 전체 부분을 포함하는 파형 데이터를 생성할 수 있다.
일부 실시 예들에서, 오디오 서브 시스템(120)는 수신된 오디오 데이터를 적절하게 처리할 수 있다. 예를 들어, 오디오 서브 시스템(120)은 오디오 데이터의 하나 이상의 음향 특성을 식별할 수 있다. 도시된 예에서, 오디오 서브 시스템(120)은 발언 "OK 컴퓨터"와 관련된 오디오 데이터에 관한 음향 특성들을 식별할 수 있다.
일부 실시 예들에서, 오디오 서브 시스템(120)은 처리된 오디오 데이터를 핫 워드 검출기(130)에 제공할 수 있다. 예를 들어, 오디오 서브 시스템(120)은 발언 "OK 컴퓨터"와 관련된 상기 처리된 오디오 데이터를 핫 워드 검출기(130)에 제공할 수 있다. 일부 실시 예들에서, 처리된 음성 데이터는 발언 "OK 컴퓨터"와 관련된 음향 특성들, 발언 "OK 컴퓨터"와 관련된 오디오 데이터, 발언 "OK 컴퓨터"와 관련된 표기 및 이들의 조합을 포함할 수 있다.
핫 워드 검출기(130)는 처리된 오디오 데이터를 수신할 수 있다. 도시된 예에서, 핫 워드 검출기(130)는 발언 "OK 컴퓨터"와 관련된 처리된 오디오 데이터를 수신할 수 있다. 핫 워드 검출기(130)는 수신된 오디오 데이터가 핫 워드에 해당하는 지를 판단할 수 있다. 구체적으로, 핫 워드는 오디오 데이터가 핫 워드에 해당하는지를 판단할 수 있다. 도시된 예에서, 핫 워드 검출기(130)는 발언 "OK 컴퓨터"와 관련된 오디오 데이터가 핫 워드 "OK 컴퓨터"에 해당하는지를 판단할 수 있다.
일부 실시 예들에서, 수신된 오디오 데이터는 예컨대 오디오 서브 시스템(120)에 의해 식별되는 관련 음향 특성들을 포함할 수 있다. 핫 워드 검출기(130)는 발언 "OK 컴퓨터"와 관련된 오디오 데이터의 음향 특성들을 데이터베이스에 저장된 하나 이상의 핫 워드들과 관련된 음향 특성들과 비교할 수 있다. 구체적으로, 각 핫 워드는 하나 이상의 음향 특성, 예를 들어, 핫 워드의 음성학(phonetics)과 관련될 수 있다. 데이터베이스 또는 테이블이 상기 핫 워드들과 관련 음향 특성(들) 사이의 매핑을 저장할 수 있다. 일부 실시 예들에서, 핫 워드는 2개 이상의 음향 특성들과 관련될 수 있다. 일부 실시 예들에서, 음향 특성은 2개 이상의 핫 워드들과 관련될 수 있다.
상기 음향 특성들의 비교에 기초하여, 발언 "OK 컴퓨터"와 관련된 오디오 데이터는 데이터베이스에 저장된 핫 워드에 해당하는 것으로 결정될 수 있다. 예를 들면, 발언 "OK 컴퓨터"와 관련된 오디오 데이터의 음향 특성들이, 발언 "OK 컴퓨터"의 음향 특성과 핫 워드 "OK 컴퓨터"의 음향 특성과의 비교에 기초하여 핫 워드 "OK 컴퓨터"에 해당하는 것으로 결정된다. 본 발명의 실시 예들에 따라 사용될 수 있는 예시적인 핫 워드 인식 기법은 참고로서 본 명세서에 포함되는 미국 특허출원공개 번호 2015/0279351 A1에 개시되어 있으며, 보다 구체적으로, 도 6의 프로세스 및 이의 세부 내용이 도 2 - 5에 도시되어 있으며, 이들의 모든 사항은 참고로서 본 명세서에 포함된다.
핫 워드 검출기(130)는 오디오 데이터가 핫 워드에 해당한다는 결정의 결과를 오디오 핑거프린트 생성기(140)에 제공한다. 구체적으로, 도시된 예에서, 핫 워드 검출기(130)는 핫 워드 "OK 컴퓨터" 또는 이 핫 워드 "OK 컴퓨터"와 관련된 신호를 오디오 핑거프린트 생성기(140)에 제공할 수 있다.
오디오 핑거프린트 생성기(140)는 오디오 데이터가 핫 워드에 해당한다는 결정의 결과를 핫 워드 검출기(130)로부터 수신한다. 구체적으로, 도시된 예에서, 오디오 핑거프린트 생성기(140)는 핫 워드 "OK 컴퓨터" 또는 이 핫 워드 "OK 컴퓨터"와 관련된 신호를 핫 워드 검출기(130)로부터 수신한다. 이 신호는 발언 "OK 컴퓨터"와 관련된 오디오 데이터가 핫 워드에 해당한다는 표시를 포함할 수 있다.
오디오 핑거프린트 생성기(140)는 핫 워드의 발언과 관련된 음성 데이터의 핑거프린트를 생성한다. 특히, 도시된 예에서, 오디오 핑거프린트 생성기(140)는 발언 "OK 컴퓨터"의 오디오 핑거프린트를 생성하기 위해, 핫 워드에 해당하는 발언 "OK 컴퓨터"와 관련된 오디오 데이터를 처리한다.
일부 실시 예들에서, 오디오 핑거프린트들은 극심한 잡음, 및 피치 시스트 및 시간 스트레치와 같은 기타 왜곡들의 존재하에서 정확한 매칭이 가능하도록 설계된다. 또한, 각각의 오디오 핑거프린트는 고유(unique)하다. 예를 들어, 동일한 환경 조건들에서 동일 화자로부터의 핫 워드 발언들은 여전히 상이한 핑거프린트들을 갖는다. 이 오디오 핑거프린트는 말해진 발언에 추가적으로 배경 잡음을 포함할 수 있다.
그 어떤 유형의 오디오 핑거프린트도 본 발명의 실시에 따라 사용될 수 있다. 예를 들어, 미국 특허 제8,411,977 B1에 개시된 오디오 핑거프린트가 참고로 본 명세서에 포함된다. 이 오디오 핑거프린트는 재생 공격자에 의해 적용될 수 있는 변형들(transformations)인 잡음과 피치 및 시간 시프트에 대한 저항을 제공할 수 있다. 이 핑거프린트는 오디오 신호에서의 시간-주파수 피크들을 검출함으로써 생성될 수 있는 바, 이들은 피치에 대한 불변(invariance)을 제공하도록 트리플로 결합되고 주파수 비율로 특징(characterization) 지어질 수 있다.
대안적으로, 다른 특성들이 핑거프린트를 생성하는데 사용될 수 있다. 예를 들면, 핑거프린트는 필터뱅크 에너지들(filterbank energies)의 일련의 프레임들로 구성될 수 있다. 이 일련의 프레임들은 정규화되고, 거리 L2와 같은 그러한 거리 함수를 사용하여 다른 발언으로부터의 한 프레임과 비교될 수 있다. 또 다른 대안에 따르면, 핑거프린트를 생성하기 위해 사용되는 특성들은 거의-정확한 매칭 태스크(near-exact matching task)에서 훈련된 신경망(neural network)에서 중간층(intermediate layer)의 활성화들(activations)일 수 있다.
일부 실시 예들에서, 오디오 핑거프린트 생성기(140)는 핫 워드 발언의 오디오 핑거프린트를 재생 공격 엔진(150)에 제공한다. 구체적으로, 도시된 예에서, 오디오 핑거프린트 생성기(140)는 발언 "OK 컴퓨터"의 오디오 핑거프린트를 재생 공격 엔진(150)에 제공할 수 있다.
재생 공격 엔진(150)은 오디오 핑거프린트 생성기(140)에 의해 생성된 핫 워드 발언의 오디오 핑거프린트를 수신할 수 있다. 일부 실시 예들에서, 재생 공격 엔진은 핫 워드 핑거프린트 데이터베이스(160)에 액세스할 수 있다. 핫 워드 핑거프린트 데이터베이스(160)는 특정 디바이스와 관련되거나 특정 사용자에 관련되거나 또는 이들 둘 다에 관련된 가장 최근의, 마지막 N, 혹은 모든 핫 워드 발언들을 저장하는 데이터베이스일 수 있다. 가장 최근의 핫 워드 발언들은 특정 시간 기간에 따라 측정될 수 있다. 핫 워드 핑거프린트 데이터베이스(160)는 예를 들어, 재생 공격에 가장 취약할 수 있는 핫 워드 발언들의 특정 서브세트를 저장하는 데이터베이스일 수 있다. 예를 들어, 핫 워드 핑거프린트 데이터베이스(160)는 예컨대, 위치, 배경 잡음 등, 혹은 이들의 조합에 기초하여 공공 장소들에서 행해지거나 혹은 예컨대 사용자의 홈, 자동차, 사무실 등의 신뢰할 수 있는 환경 외부에서 행해진 핫 워드 발언들을 저장할 수 있다. 핫 워드 핑거프린트 데이터베이스(160)는 핫 워드 발언들의 특정 서브세트의 가장 최근의, 마지막 N, 또는 모든 핫 워드 발언들을 저장할 수 있다.
재생 공격 엔진(150)은 상기 오디오 핑거프린트 생성기(140)에 의해 생성된 핫 워드 발언의 오디오 핑거프린트를 핫 워드 핑거프린트 데이터베이스(160)에 저장된 핫 워드 핑거프린트와 비교한다. 상기 오디오 핑거프린트 생성기(140)에 의해 생성된 핫 워드 발언의 오디오 핑거프린트를 핫 워드 핑거프린트 데이터베이스(160)에 저장된 핫 워드 핑거프린트와 비교함으로써, 재생 공격 엔진(150)은 오디오 핑거프린트 생성기(140)에 의해 생성된 핫 워드 발언이 재생 공격 핫 워드 핑거프린트 데이터베이스(160)에 저장된 핫 워드 핑거프린트들 중 하나 이상과 매칭되는지 여부를 판단한다.
한 쌍의 핑거프린트가 2개의 발언들에서 x번 및 y번의 모든 쌍에서 핑거프린트의 특성들 즉, 수신된 핫 워드 발언과 저장된 핫 워드 발언들 각각과를 비교함으로써 매칭을 판단할 수 있다. 예를 들면, 핑거프린트들은 L2 유사도와 같은 그러한 유사도 함수를 이용하거나, 트리플 디스크립터들의 오버랩의 측정을 이용하거나 혹은 관심 포인트들 및 기타 유도된 특성들의 오버랩의 측정을 이용하여 비교될 수 있다. 이 유사도 함수는 그래픽 히트 맵을 생성하는데 사용될 수 있다. 히트 맵에서 대각선을 따른 강한 유사도에 기초하여 매칭이 검출될 수 있다. 매칭이 시작되는 가변 시작 오프셋이 가능하도록 상기 대각선이 수직 또는 수평으로 시프트될 수 있다. 유사도의 강도는 모든 것(x-y)에 대한 유사도 점수(score)들을 집계함으로써 검출될 수 있다. 결과적인 히스토그램에서의 강한 피크는 약간의 시프트에서 이들 2개 사이의 매칭을 나타낸다. 만일 발언이 시간 스트레치되는 경우, 히스토그램의 피크는 넓은 피크를 또한 가질 수 있다. 대안적으로, 히트 맵이 분류기에 입력으로서 제공되며, 이 분류기는 핑거프린트들의 쌍이 매칭하는지 여부를 판단할 수 있다. 임의의 경우에, 재생 공격 엔진(150)은 미리 정해진 유사도 임계치가 만족 됨에 기초하여 매칭을 결정할 수 있다. 예를 들어, 재생 공격 엔진(150)은 유사도 점수 또는 값을 생성할 수 있으며, 유사도 점수 또는 값이 미리 정해진 임계 점수 또는 값을 만족하는지 여부를 판단할 수 있다.
일부 실시 예들에서, 오디오 핑거프린트 생성기(140)에 의해 생성된 핫 워드 발언의 오디오 핑거프린트가 데이터베이스(160)에 저장된 핫 워드 핑거프린트와 매칭함을 결정하면 재생 공격 엔진(150)은 재생 공격을 나타낸다. 특히, 핫 워드 핑거프린트 데이터베이스(160)에 저장된 오디오 핑거프린트와 오디오 핑거프린트 생성기(140)에 의해 생성된 발언 "OK 컴퓨터"의 오디오 핑거프린트의 매칭은 "OK 컴퓨터"의 동일 발언이 이전에 수신되었고 그리고 허가되지 않은 사용자가 디바이스에 액세스하거나 또는 사용하려는 시도에서 재생됨을 나타낸다.
오디오 핑거프린트 생성기(140)에 의해 생성된 핫 워드 발언의 음성 핑거프린트가 핫 워드 핑거프린트 데이터베이스(160)에 저장된 핫 워드 핑거프린트와 매칭함을 결정함에 응답하여, 재생 공격 엔진은 디바이스가 언록킹되는 것을 방지하거나, 디바이스를 록킹하거나, 디바이스에 대한 액세스를 디스에이블링하거나, 2차 인증 프로세스를 개시하는 등의 신호를 출력한다. 오디오 핑거프린트 생성기(140)에 의해 생성된 핫 워드 발언의 오디오 핑거프린트가 핫 워드 핑거프린트 데이터베이스(160)에 저장된 핫 워드 핑거프린트와 매칭하지 않음을 결정함에 응답하여, 재생 공격 엔진은 디바이스에서 동작이 실행되도록 하는 신호를 출력한다.
도 2a는 본 발명의 실시 예들에 따른, 핫 워드를 검출 및 검증하기 위한 예시적인 프로세스의 선도이다. 이 선도는 특정 시퀀스로 예시되거나/되지 않은 상태들 201-219를 보여준다.
201에서, 오디오 서브 시스템(220)은 발언 "OK 컴퓨터"의 부분에 해당하는 오디오 데이터를 수신한다. 오디오 서브 시스템(220)은 발언 "OK 컴퓨터"에 해당하는 수신된 오디오 데이터를 처리하여 이 오디오 데이터를 핫 워드 검출기(230)에 제공한다. 202에서, 핫 워드 검출기(230)는 발언 "OK 컴퓨터" 에 해당하는 오디오 데이터를 수신하고, 예컨대 전술한 음향 특성들의 비교에 기초하여 발언 "OK 컴퓨터"가 디바이스에 대한 핫 워드에 해당하는지 여부를 판단한다.
핫 워드 검출기(230)가 수신된 발언이 디바이스에 대한 핫 워드에 해당하지 않음을 결정한 경우, 상기 핫 워드 검출기(230)는 핫 워드가 수신되지 않았음을 나타내는 신호를 제공하며, 오디오 서브 시스템(220)이 발언을 듣는 것으로 프로세스가 재시작된다. 그러나, 핫 워드 검출기(203)가 발언 "OK 컴퓨터"는 디바이스에 대한 핫 워드에 해당함을 결정함에 응답하여, 오디오 핑거프린트(240)은 203에서 발언 "OK 컴퓨터"의 오디오 핑거프린트를 생성한다. 오디오 핑거프린트(240)에 의해 생성되는 발언 "OK 컴퓨터"의 오디오 핑거프린트가 204에서 저장된다.
205에서, 재생 공격 엔진(250)은 오디오 핑거프린트 생성기(240)에 의해 생성된 발언 "OK 컴퓨터"의 오디오 핑거프린트를 수신하고, 생성된 오디오 핑거프린트를 예컨대 데이터베이스에 저장된 핫 워드 핑거프린트들과 비교한다. 특히, 재생 공격 엔진(250)은 오디오 핑거프린트 (240)에 의해 생성된 발언 "OK 컴퓨터"의 오디오 핑거프린트와 비교하기 위해, 206에서 저장된 핫 워드 핑거프린트들에 액세스할 수 있다.
208에서 재생 공격 엔진(150)이 오디오 핑거프린트 생성기(240)에 의해 생성된 발언 "OK 컴퓨터"의 오디오 핑거프린트와 상기 저장된 핫 워드 핑거프린트들 중 하나 이상과의 사이에 매칭이 없는 것으로 결정하는 경우, 디바이스에 대한 액세스가 허여되거나 핫 워드에 후속하는 쿼리 또는 명령들의 프로세싱이 209에서 인에이블된다. 207에서, 재생 공격 엔진(150)이 오디오 핑거프린트 생성기(240)에 의해 생성된 발언 "OK 컴퓨터"의 오디오 핑거프린트와 상기 저장된 핫 워드 핑거프린트들 중 하나 이상과의 사이에 매칭이 있는 것으로 결정하는 경우, 210에서 디바이스에 대한 액세스가 디스에이블 또는 제한되거나, 혹은 디바이스의 언록킹 또는 깨움 등이 방지된다.
일부 실시예들에서, 핫 워드 발언 뒤에 쿼리 또는 명령 발언이 후속될 수 있기 때문에, 핫 워드 발언으로부터 추출된 d-벡터들이 쿼리 또는 명령 발언에서 추출된 d-벡터들과 대략적으로 매칭하는지 여부가 결정될 수 있다. 핫 워드 발언과 쿼리 또는 명령 발언 사이의 비교는 허가되지 않은 사용자가 기록된 핫 워드를 재생하고 자신의 목소리로 새로운 쿼리 또는 명령을 발부할 수 있는 능력을 금지시킬 수 있다.
211에서, 오디오 서브 시스템 (220)은 핫 워드의 발언에 후속되는 쿼리 또는 명령 발언을 수신한다. 도시된 예에서, 오디오 서브 시스템(220)은 핫 워드 발언 "OK 컴퓨터"후 명령 발언 "엄마에게 콜"을 수신한다. 오디오 서브 시스템(220)은 발언 "엄마에게 콜"에 해당하는 상기 수신된 오디오 데이터를 처리하여, 핫 워드 검출기(230)에 상기 오디오 데이터를 제공한다.
212에서, 핫 워드 검출기(230)는 발언 "엄마에게 콜"에 해당하는 오디오 데이터를 수신하고, 예컨대 전술한 음향 특성들의 비교에 기초하여 발언 "엄마에게 콜"이 디바이스에 대한 핫 워드에 해당하는지 여부를 결정한다. 도시된 예에서, 핫 워드 검출기(230)는 발언 "엄마에게 콜"이 핫 워드에 해당하지 않는 것으로 결정할 수 있다. 만일 핫 워드 검출기(230)가 수신된 발언이 디바이스에 대한 핫 워드에 해당하지 않는 것으로 결정하면, 핫 워드 검출기 (230)는 핫 워드가 수신되지 않았음을 나타내는 신호를 제공한다.
일부 실시 예들에서, 핫 워드가 수신되지 않은 것으로 결정된 때, 쿼리 또는 명령이 수신되는 것으로 결정된다. 예를 들어, 핫 워드가 수신되었다고 결정하고 이전에 수신된 저장된 핫 워드와 매칭가 없다고 검증함에 응답하여, 쿼리 또는 명령 처리가 핫 워드 발언에 후속하는 발언에 대해 인에이블될 수 있다. 도시된 예에서, 상기 오디오 핑거프린트(240)는 213에서 발언 "엄마에게 콜"의 오디오 핑거프린트를 생성한다.
일부 실시 예들에서, 쿼리 또는 명령의 오디오 핑거프린트는 핫 워드 교차 발언 검증을 수행하는데 사용될 수 있다. 특히, 214에서, 재생 공격 엔진 (250)은 발언 "엄마에게 콜"으로부터 생성된 화자 식별 d-벡터를 수신하고, 발언 "엄마에게 콜"의 생성된 화자 식별 d-벡터들을 발언 "OK 컴퓨터"의 생성된 핫 워드 d-벡터들과 비교한다. 일부 실시 예들에서, 재생 공격 엔진(250)은 발언 "엄마에게 콜"의 화자 식별 d-벡터들을 예컨대 데이터베이스에 저장된 발언 "OK 컴퓨터"의 핫 워드 d-벡터들과 비교한다.
만일 재생 공격 엔진(150)이 발언 "OK 컴퓨터"에 해당하는 오디오 데이터와 발언 "엄마에게 콜" 에 해당하는 오디오 데이터 사이의 매칭(215)을 결정하면, 디바이스에 대한 액세스가 허여되거나 상기 핫 워드에 후속하는 쿼리 또는 명령의 처리가 219에서 실행된다. 만일 재생 공격 엔진(150)이 발언 "OK 컴퓨터"에 해당하는 오디오 데이터와 발언 "엄마에게 콜" 에 해당하는 오디오 데이터 사이의 비매칭(218)을 결정하면, 218에서 쿼리 또는 명령이 실행되지 않고 디바이스에 대한 액세스가 디스에이블 또는 제한되며, 2차 인증 처리가 개시되거나 혹은 디바이스의 언록킹 또는 깨움 등 또는 이들의 조합이 방지된다. 대안적으로, 유사한 처리로, 핫 워드 발언에 해당하는 오디오 데이터가 수신 및 저장된 어떤 이전의 발언과 비교될 수 있다.
전술한 바와 같이, 재생 공격 엔진(150)은 발언 "엄마에게 콜"의 생성된 오디오 핑거프린트와 발언 "OK 컴퓨터"의 생성된 오디오 핑거프린트와의 비교를 위해 유사도 점수 또는 값을 생성할 수 있으며, 이 유사도 점수 또는 값이 미리 결정된 임계 점수 또는 값을 만족하는지 여부를 판단할 수 있다. 일부 실시 예들에서, 쿼리 또는 명령의 콘텍스트가 결정될 수 있다. 쿼리 또는 명령의 결정된 콘텍스트는 예컨대, 유사도 점수 또는 값을 가중하거나, 미리 결정된 임계 점수 또는 값을 조정하는데 이용될 수 있다.
예를 들어, 만일 명령 또는 쿼리의 콘텍스트가 개인이나 또는 개인 데이터에 관하여 낮은 레벨의 감도를 표시하면, 유사도 점수 또는 값은 가중될 수도 있고, 미리 결정된 임계 점수 또는 값은 쿼리 또는 명령이 발언 "엄마에게 콜"의 생성된 오디오 핑거프린트와 발언 "OK 컴퓨터"의 생성된 오디오 핑거프린트 사이의 밀접한 유사도에 관계없이, 실행되도록 보다 자주 조정될 수 있다. 이와는 반대로, 만일 명령 또는 쿼리의 콘텍스트가 높은 레벨의 감도를 표시하면, 유사도 점수 또는 값은 가중될 수도 있고, 미리 결정된 임계 점수 또는 값은 예컨대, 발언 "엄마에게 콜"의 생성된 오디오 핑거프린트와 발언 "OK 컴퓨터"의 생성된 오디오 핑거프린트 사이의 더욱 밀접한 유사도를 요구함과 함께, 쿼리 또는 명령이 보다 덜 자주 실행되게 조정될 수 있다. 따라서, 상기 핫 워드 발언과 상기 쿼리 또는 명령 발언 사이의 비교는 허가되지 않은 사용자가 기록된 핫 워드를 재생하고 자신의 목소리로 새로운 쿼리 또는 명령을 발행할 능력을 금지할 수 있다.
부분적 핫 워드가 예컨대 본 명세서에 참고로 포함된 미국 특허 제 8,768,712 B1에 기재된 바와 같이 검출될 수 있으며, 보다 구체적으로는 도 3의 프로세스 및 도 2a에 도시된 세부 사항들 중 일부에 의해 검출될 수 있는바, 이들 각각은 본 명세서에 참고로 포함된다. 일부 실시 예에서, 부분 핫 워드를 검출 한 후 또는 상기 핫 워드에 후속되는 발언 동안, 상기 디바이스는 (예컨대, 주파수-시프트 키잉을 이용하여) 인식을 위한 고유한 토큰(unique token)을 인코딩할 수 있는 고유한 초음파 오디오 클립을 출력할 수 있다. 만일 이전 토큰이 핫 워드의 부분으로서 인식되면, 이 핫 워드는 거부될 수 있다. 고유한 주파수 세트가 각 토큰을 인코딩하는데 사용되어 상기 토큰은 디바이스가 새로운 토큰을 출력할 때 검출될 수 있다. 대안적으로, 인코딩된 토큰을 검출하는 대신에, 상기 디바이스는 이 디바이스가 새로운 토큰을 위해 사용하는 주파수 대역 이외의 어떤 유의한(significant) 초음파 오디오를 검출할 수 있다. 만일 어떤 유의한 초음파 오디오가 검출되면, 상기 핫 워드는 거부될 수 있다.
예를 들어, 도 1에 도시된 바와 같이, 핫 워드 검출기(130)는 부분적인 핫 워드 검출기(135)를 포함할 수 있다. 또한, 오디오 서브 시스템(120)은 초음파 오디오 서브 시스템(125)을 포함할 수 있다. 초음파 오디오 서브 시스템(125)은 고유한 초음파 오디오 클립을 출력하도록 구성될 수 있다. 초음파 오디오 서브 시스템(125)은 초음파 오디오 샘플들을 수신 및 처리하도록 구성될 수 있다.
도 2b는 본 발명의 실시들에 따른, 핫 워드를 검출 및 검증하기 위한 예시적인 프로세스의 선도이다. 예를 들어, 도 2b에 도시된 바와 같이, 오디오 서브 시스템(220)은 281에서 발언 "OK"와 관련된 오디오 데이터의 초기 부분을 수신할 수 있다. 오디오 데이터의 초기 부분은 발언의 제1의 몇 개의 오디오 프레임을 포함하거나 또는 발언과 관련된 제1의 수백 밀리 초의 오디오 데이터를 포함할 수 있다. 일부 예들에서, 오디오 서브 시스템 (220)은 발언의 일부 또는 실질적으로 발언의 전체 부분을 포함하는 파형 데이터를 생성하도록 발언을 처리한다. 오디오 서브 시스템(220)은 오디오 데이터의 초기 부분의 하나 이상의 음향 특성을 식별할 수 있다. 도시된 예에서, 오디오 서브 시스템(220)은 발언 "OK"와 관련된 오디오 데이터의 초기 부분과 관련된 음향 특성들을 식별할 수 있다.
도시된 예에서, 핫 워드 검출기(230)는 초기에, 발언 "OK"와 관련된 처리된 오디오 데이터, 예를 들어, 오디오 데이터의 초기 부분을 수신한다. 핫 워드 검출기(230)는 수신된 오디오 데이터가 핫 워드의 초기 부분에 해당함을 판단할 수 있다. 구체적으로, 핫 워드 검출기(230)는 부분적인 핫 워드 검출기(225)를 포함한다. 부분적인 핫 워드 검출기(225)는 오디오 데이터의 초기 부분이 핫 워드의 초기 부분에 해당함을 판단할 수 있다. 도시된 예에서, 상기 부분적인 핫 워드 검출기(225)는 발언 "OK"와 관련된 오디오 데이터의 초기 부분이 핫 워드 "OK 컴퓨터"의 초기 부분에 해당함을 판단할 수 있다. 일부 실시들에서, 핫 워드의 초기 부분은 전체 핫 워드보다 적게 핫 워드를 포함한다. 예를 들어, 초기부분 "OK"는 전체 핫 워드 "OK 컴퓨터" 보다 적다. 부분적인 핫 워드 검출기(225)는 발언 "OK"와 관련된 오디오 데이터의 초기 부분의 음향 특성을 데이터베이스에 저장된 하나 이상의 핫 워드와 관련된 음향 특성과 비교할 수 있다.
상기 음향 특성의 비교에 기초하여, 발언 "OK"와 관련된 음성 데이터의 초기 부분은 데이터베이스에 저장된 핫 워드의 초기 부분에 해당하는 것으로 결정될 수 있다. 예를 들어, 핫 워드 검출기(230)는 282에서 발언 "OK"의 음향 특성과 핫 워드 "OK 컴퓨터"의 음향 특성과의 비교에 기초하여 발언 "OK"와 관련된 음성 데이터의 초기 부분의 음향 특성이 핫 워드 "OK 컴퓨터"의 초기부분에 해당함을 결정할 수 있다.
일부 실시 예에서, 발언과 관련된 오디오 데이터의 초기 부분이 핫 워드의 초기 부분에 해당하는 것으로 결정됨에 응답하여, 초음파 오디오 서브 시스템 (225)은 283에서 고유한 초음파 오디오 클립을 생성할 수 있다. 일부 실시 예에서, 초음파 오디오 서브 시스템(225)은 전체 핫 워드가 수신된 후 고유한 초음파 오디오 클립을 출력할 수 있다.
284에서, 오디오 서브 시스템(220)은 발언 "컴퓨터"의 부분에 해당하는 오디오 데이터를 수신할 수 있다. 오디오 서브 시스템(220)은 발언 "컴퓨터"의 부분에 해당하는 오디오 데이터를 수신한다. 오디오 서브 시스템(220)은 발언 "컴퓨터"의 부분에 대응하는 수신된 오디오 데이터를 처리하여 이를 핫 워드 검출기(230)에 제공한다. 285에서, 핫 워드 검출기(230)는 발언 "OK"에 해당하는 이전에 수신된 오디오 데이터에 추가하여, 발언 "컴퓨터"에 해당하는 오디오 데이터를 수신하고, 예를 들면, 전술한 바와 같은 음향 특성의 비교에 기초하여 발언 "OK 컴퓨터"가 디바이스에 대한 핫 워드에 해당하는지 여부를 판단한다.
만일 핫 워드 검출기(230)가 수신된 발언이 디바이스에 대한 핫 워드에 해당하지 않음을 판정한 경우, 상기 핫 워드 검출기(230)는 핫 워드가 수신되지 않았음을 나타내는 신호를 제공할 수 있으며, 오디오 서브 시스템(220)이 발언을 듣는 것으로 프로세스가 재시작된다. 그러나, 핫 워드 검출기(230)가 발언 "OK 컴퓨터"는 디바이스의 핫 워드에 해당하는 것으로 결정함에 응답하여, 오디오 핑거프린트 생성기(240)는 286에서 발언 "OK 컴퓨터"의 오디오 핑거프린트를 생성한다. 오디오 핑거프린트 생성기(240)에 의해 생성되는 발언 "OK 컴퓨터"(287)의 오디오 핑거프린트가 287에서 저장된다.
288에서, 재생 공격 엔진 (250)은 오디오 핑거프린트 (240)에 의해 생성된 발언 "OK 컴퓨터"의 오디오 핑거프린트를 수신하고, 이를 예컨대 데이터베이스에 저장된 핫 워드 핑거프린트와 비교한다. 특히, 재생 공격 엔진(250)은 오디오 핑거프린트 생성기(240)에 의해 생성된 발언 "OK 컴퓨터"의 오디오 핑거프린트와 비교하기 위해, 289에서 저장된 핫 워드 핑거프린트에 액세스한다.
만일 재생 공격 엔진(150)이 오디오 핑거프린트 생성기(240)에 의해 생성된 발언 "OK 컴퓨터"의 오디오 핑거프린트와 상기 저장된 핫 워드 핑거프린트들 중 하나 이상과의 사이에 비매칭(291)을 결정하는 경우(290), 디바이스에 대한 액세스가 허용될 수 있거나 혹은 이 핫 워드에 후속하는 쿼리 또는 명령들의 프로세싱이 292에서 인에이블된다. 만일 재생 공격 엔진(150)이 오디오 핑거프린트 생성기(240)에 의해 생성된 발언 "OK 컴퓨터"의 오디오 핑거프린트와 상기 저장된 핫 워드 핑거프린트들 중 하나 이상과의 사이에 매칭(290)을 결정하는 경우, 293에서 디바이스에 대한 액세스가 디스에이블링 또는 제한되거나 이 디바이스의 언록킹 또는 깨움이 금지된다.
따라서, 본 발명의 실시 예들에 따르면, 핫 워드 또는 음성 기반 재생 공격이 각 발언의 고유성을 검증함으로써 금지될 수 있다. 특히, 가장 최근의 마지막 N, 또는 특정 디바이스 혹은 특정 사용자에 의해 인식된 모든 핫 워드 발언들이 기록 및 저장될 수 있다. 오디오 핑거프린트가 생성되고, 재생을 나타내는 동일한 발언 의 오디오가 이전에 사용되었는지를 체크하기 위해 새로운 발언으로부터 생성된 오디오 핑거프린트와 각각 이전에 기록된 오디오 핑거프린트와의 비교가 수행된다. 예를 들어, 핫 워드가 인식되는 경우, 핫 워드 발언의 오디오 핑거프린트가 생성 될 수 있고, 유도된 핑거프린트가 핫 워드 이전 발언들로부터 핑거프린트과 비교 될 수 있다. 매칭이 결정되는 경우, 가능성 있는 재생을 나타내는 발언이 이전에 사용되었을 수 있어 거부된다. 발언이 거부됨에 응답하여, 예를 들어 디바이스 차단, 디바이스에 경고, 경고 표시 등등 또는 이들의 조합을 포함하는 추가적인 동작들이 취해질 수 있다. 또한, 특정 실시 예들에서, 다른 신호들, 예를 들어, 초음파 오디오 인젝션 및 크로스 발언의 신호들이 재생 공격의 효과를 더 제한하는데 사용될 수 있다.
도 3은 본 발명의 실시 예에 따른 핫 워드를 검출 및 검증하기 위한 예시적인 흐름도를 도시한다. 도 1에 도시된 바와 같이, 310에서 프로세스(300)는 발언와 관련된 오디오 데이터를 수신하는 것을 포함한다. 수신된 오디오 데이터가 처리되고, 발언과 관련된 오디오 데이터가 핫 워드에 해당하는지 여부를 결정하는데 이용된다(320). 예를 들어, 수신된 발언의 오디오 특성과 디바이스에 대한 핫 워드의 발언의 오디오 특성과의 사이에 비교가 행해진다. 특히, 벡터들의 시퀀스가 발언에 해당하는 수신된 오디오 데이터로부터 생성되고, 벡터들의 시퀀스가 디바이스와 관련된 핫 워드의 발언의 벡터들과 비교된다.
330에서, 수신된 발언에 대한 오디오 핑거프린트가 생성된다. 예를 들어, 수신된 발언에 해당하는 오디오 데이터가 상기 수신된 핫 워드의 발언의 핫 워드 오디오 핑거프린트를 생성 또는 계산하는데 사용될 수 있다. 340에서, 저장된 오디오 핑거프린트의 데이터베이스가 액세스되고, 핫 워드 핑거프린트가 예를 들어 생성된 핫 워드 오디오 핑거 프린트와 상기 저장된 핫 워드 저장된 오디오 핑거프린트들 각각과의 사이의 유사도를 결정하기 위해 저장된 오디오 핑거프린트와 비교될 수 있다.
생성된 핫 워드 오디오 핑거프린트와 상기 저장된 핫 워드 오디오 핑거프린트의 비교가, 저장된 핫 워드 오디오 핑거프린트들 중 어느 것과 상기 생성된 핫 워드 오디오 핑거 프린트 사이에 매칭이 존재하는지를 결정하기 위해 사용될 수 있다(350). 예를 들어, 생성된 핫 워드 오디오 핑거프린트와 상기 저장된 핫 워드 오디오 핑거프린트들 중 하나 이상 사이의 유사도가 미리 결정된 임계값을 만족하는지 여부가 결정될 수 있다.
만일 상기 생성된 핫 워드 오디오 핑거프린트가 상기 저장된 핫 워드 오디오 핑거프린트들중 하나 이상과 매칭("예")하는 것으로 판정되면, 디바이스에 대한 액세스가 디스에이블 또는 방지된다(360). 예를 들어, 매칭은 허락되지 않은 사용자가 디바이스에 무단으로 액세스하려는 시도에서 이전에 허락된 사용자에 의해 발언된 핫 워드의 기록된 오디오를 재생함을 나타낸다.
상기 생성된 핫 워드 오디오 핑거프린트가 상기 저장된 핫 워드 오디오 핑거프린트 중 하나 이상과 비매칭("아니오")하는 것으로 판정되는 경우, 디바이스에 대한 액세스가 인에이블되거나 동작이 실행된다(370). 예를 들어, 비매칭이라는 판정은 발언이 핫 워드의 새로운 고유한 발언이며, 허가된 사용자에 의해 이전에 발언된 핫 워드의 기록된 오디오의 재생이 아님을 표시한다.
본 발명의 실시 예에 따르면, 핫 워드 검출 및 화자 검증이 하드웨어 또는 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 수행될 수 있다. 핑거프린트 기반 핫 워드 검증이 단일 디바이스의 레벨에서 혹은 복수의 디바이스들에 걸쳐 적용될 수 있다.
만일 핫 워드 검증이 단일 디바이스의 레벨에서 적용되는 경우, 이전의 발언으로부터 핑거프린트의 세트는 디바이스에 로컬로 저장될 수 있다. 만일 이전 발언들로부터의 핑거프린트의 세트가 디바이스에 로컬로 저장되는 경우, 핑거프린팅 및 매칭 프로세스가 디바이스의 깨움 전, 예컨대 디바이스의 디지털 신호 프로세서에서 핫 워드 검출 후 발생할 수 있다.
만일 핫 워드 검증이 복수의 디바이스들에 적용되는 경우, 이전의 발언들로부터 의 핑거프린트들의 세트가 서버에 저장될 수 있다. 만일 이전 발언들로부터의 핑거프린트들의 세트가 서버에 저장되는 경우, 핫 워드가 디바이스를 깨우고, 핫 워드 발언 또는 핫 워드 발언의 오디오 핑거프린트가 후속적인 쿼리 또는 명령의 인식을 수행하는 데 사용되는 동일 서버에 전송된다. 이 서버는 핫 워드의 발언의 고유성을 검증할 수 있으며, 쿼리 또는 명령이 허용되어야 하는지 또는 거부되어야 하는지 여부를 나타내는 상태를 리턴할 수 있다. 대안적으로, 만일 핫 워드 검증 복수의 디바이스에 적용되는 경우, 이전의 발언들로부터의 핑거프린트들의 세트가 복수의 디바이스들에 걸쳐 동기화되어 상기 검증이 클라이언트 디바이스에서 수행될 수 있게 한다.
도 4는 여기에 설명된 기법들로 사용될 수 있는 범용 컴퓨터 디바이스(400) 및 범용 모바일 컴퓨터 디바이스(450)의 일례를 나타낸다. 컴퓨팅 디바이스(400)는 랩탑, 데스크탑, 워크스테이션, 개인 휴대 정보 단말기, 서버, 블레이드 서버, 메인 프레임, 및 다른 적절한 컴퓨터 등의 디지털 컴퓨터의 다양한 형태를 대표하는 것으로 의도되었다. 컴퓨팅 디바이스(450)는 개인 휴대 정보 단말기, 셀룰러 전화기, 스마트 폰, 및 다른 유사한 컴퓨팅 디바이스와 같은 모바일 디바이스의 다양한 형태를 대표하는 것으로 의도되었다. 여기에 도시된 컴포넌트들, 이들의 연결 관계 및 특성들은 단지 예시적인 것으로 의도된 것이며, 본 문서에 설명 및/또는 청구된 발명의 실시 예들을 제한하고자 의도된 것이 아니다.
컴퓨팅 디바이스(400)는 프로세서(402), 메모리(404), 저장 디바이스(406), 메모리(404) 및 고속 확장 포트(410)에 연결된 고속 인터페이스(408), 그리고 저속 버스(414) 및 저장 디바이스(407)에 연결된 저속 인터페이스(412)를 포함한다. 컴포넌트들(402, 404, 406, 408, 410, 및 412)의 각각은 다양한 버스들을 이용하여 상호연결되고, 공통 마더보드 상에 또는 다른 방식들로 적절하게 장착될 수 있다. 프로세서(402)는 고속 인터페이스(408)에 결합된 디스플레이(416)와 같은 외부 입/출력 디바이스 상의 GUI에 대한 그래픽 정보를 디스플레이하기 위해 메모리(404)에 또는 저장 디바이스(706) 상에 저장된 명령어들을 포함하여, 컴퓨팅 디바이스(700) 내에서의 실행을 위한 명령어들을 프로세스할 수 있다. 다른 실시들에서, 복수의 프로세서들 및/또는 복수의 버스들이 복수의 메모리들 및 메모리 타입들과 함께 적절하게 사용될 수 있다. 또한, 복수의 컴퓨팅 디바이스들(400)이 연결되며, 각각의 디바이스는 (예컨대, 서버 뱅크, 블레이드 서버들의 그룹 또는 다중-프로세서 시스템으로서) 필수 동작들의 부분들을 제공한다.
메모리(404)는 컴퓨팅 디바이스(400) 내에 정보를 저장한다. 일 실시에서, 메모리(404)는 휘발성 메모리 유닛 또는 유닛들이다. 다른 실시에서, 메모리(704)는 비휘발성 메모리 유닛 또는 유닛들이다. 메모리(404)는 또한, 자기 디스크 또는 광 디스크와 같은 그러한 다른 형태의 컴퓨터 판독가능 매체일 수 있다.
저장 디바이스(406)는 컴퓨팅 디바이스(400)에 대한 매스 저장을 제공할 수 있다. 일 실시에서, 저장 디바이스(406)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스 또는, 저장 영역 네트워크 또는 다른 구성들 내의 디바이스들을 포함하는 디바이스들의 어레이일 수 있다. 컴퓨터 프로그램 물은 정보 캐리어에 유형으로 수록된다. 컴퓨터 프로그램 물은 또한 명령어들을 포함하며, 상기 명령어들은 실행될 때 상기 기술된 방법들과 같은 하나 이상의 방법들을 수행한다. 정보 캐리어는 메모리(404), 저장 디바이스(406) 또는 프로세서(402) 상의 메모리와 같은 컴퓨터 또는 머신 판독가능 매체이다.
고속 제어기(408)는 컴퓨팅 디바이스(400)에 대한 대역폭 집약적 동작들을 관리하며, 저속 제어기(412)는 적은 대역폭 집약적 동작(lower bandwidth-intensive operation)들을 관리한다. 이러한 기능들의 할당은 단지 예시적일 뿐이다. 일 실시에서, 고속 제어기(408)는 메모리(404), (예컨대, 그래픽 프로세서 또는 가속도계를 통해) 디스플레이(416)에 결합되고 다양한 확장 카드들(미도시)을 받아들일 수 있는 고속 확장 포트들(410)에 결합된다. 상기 실시에서, 저속 제어기(412)는 저장 디바이스(406) 및 저속 확장 포트(414)에 결합된다. 다양한 통신 포트들(예컨대, USB, 블루투스, 이더넷, 무선 이더넷)을 포함하는 저속 확장 포트는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스들에 또는, 예컨대 네트워크 어댑터를 통해 스위치 또는 라우터와 같은 네트워킹 디바이스에 결합될 수 있다.
컴퓨팅 디바이스(400)는 도면에 도시된 바와 같이 다수의 서로 다른 형태들로 실시될 수 있다. 예를 들어, 이는 표준 서버(420)로서 또는 이러한 서버들의 그룹에 복수번 실시될 수 있다. 이는 또한, 랙(rack) 서버 시스템(424)의 일부로서 실시될 수 있다. 추가적으로, 이는 랩탑 컴퓨터(422)와 같은 개인용 컴퓨터로 실시될 수 있다. 대안적으로는, 컴퓨팅 디바이스(400)로부터의 컴포넌트들은 디바이스(450)와 같은 모바일 디바이스(미도시) 내의 다른 컴포넌트들과 결합될 수 있다. 이러한 디바이스들 각각은 컴퓨팅 디바이스(400, 450) 중 하나 이상을 포함할 수 있고, 전체 시스템은 서로와 통신하는 복수의 컴퓨팅 디바이스들(400, 450)로 구성될 수 있다.
컴퓨팅 디바이스(450)는 다른 컴포넌트들 중에서도 특히, 프로세서(452), 메모리(464), 디스플레이(454)와 같은 입력/출력 디바이스, 통신 인터페이스(466) 및 송수신기(468)를 포함한다. 디바이스(450)에는 또한, 추가적인 저장을 제공하기 위해 마이크로-드라이브 또는 다른 디바이스와 같은 저장 디바이스가 제공될 수 있다. 컴포넌트들(450, 452, 464, 454, 466, 및 468) 각각은 다양한 버스들을 이용하여 상호연결되고, 여러 컴포넌트들은 공통 마더보드 상에 또는 다른 방식들로 적절하게 고정될 수 있다.
프로세서(452)는 메모리(464)에 저장된 명령어들을 비롯, 컴퓨팅 디바이스(450) 내에서 실행하기 위한 명령어들을 프로세스할 수 있다. 프로세서는 별개의 아날로그 및 디지털 프로세서들을 포함하는 칩들의 칩세트로서 구현될 수 있다. 프로세서는 예컨대, 사용자 인터페이스들, 디바이스(450)에 의해 실행되는 어플리케이션들 및 디바이스(450)에 의한 무선 통신의 제어와 같은 그러한 디바이스(450)의 다른 컴포넌트들의 조화(coordination)를 제공할 수 있다.
프로세서(452)는 디스플레이(454)에 결합된 제어 인터페이스(458) 및 디스플레이 인터페이스(456)를 통해 사용자와 통신할 수 있다. 디스플레이(454)는 예컨대, TFT LCD 디스플레이 또는 OLED 디스플레이 또는 다른 적절한 디스플레이 기술일 수 있다. 디스플레이 인터페이스(456)는 사용자에게 그래픽 및 다른 정보를 제시하기 위해 디스플레이(454)를 구동하기 위한 적절한 회로망을 포함할 수 있다. 제어 인터페이스(458)는 사용자로부터 명령들을 수신하고 이들을 프로세서(452)에 제출하기 위해 변환할 수 있다. 추가적으로, 외부 인터페이스(462)가 다른 디바이스들과의 디바이스(450)의 근거리 통신(near area communication)을 할 수 있게 하도록 프로세서(452)와의 통신에 제공될 수 있다. 외부 인터페이스(462)는 예컨대 일부 실시들에서 유선 통신을 또는 다른 실시들에서 무선 통신을 제공할 수 있으며, 복수의 인터페이스들이 또한 이용될 수 있다.
메모리(464)는 컴퓨팅 디바이스(450) 내에 정보를 저장한다. 일 실시에서, 메모리(764)는 컴퓨터 판독가능 매체 또는 미디어, 휘발성 메모리 유닛 및 유닛들, 혹은 비휘발성 메모리 유닛 및 유닛들 중 하나 이상으로서 구현될 수 있다. 확장 메모리(454)가 또한, 제공되며, 예컨대, SIMM 카드 인터페이스를 포함할 수 있는 확장 인터페이스(452)를 통해 디바이스(450)에 연결될 수 있다. 이러한 확장 메모리(454)는 디바이스(450)에 대한 추가적인(extra) 저장 공간을 제공할 수 있거나 또는 디바이스(450)에 대한 어플리케이션들 또는 다른 정보를 또한 저장할 수 있다. 특히, 확장 메모리(454)는 상기에 기술된 프로세스들을 수행 또는 보충하기 위한 명령어들을 포함할 수 있고, 보안 정보 또한 포함할 수 있다. 따라서, 예컨대, 확장 메모리(454)는 디바이스(450)에 대한 보안 모듈로서 제공될 수 있고, 디바이스(450)의 보안 사용을 허가하는 명령어들로 프로그래밍될 수 있다. 추가적으로, 보안 어플리케이션들이, 해킹불가능한 방식으로 SIMM 카드 상에 식별 정보를 배치하는 것과 같이, 추가적인 정보와 함께 SIMM 카드를 통해 제공될 수 있다.
메모리는 하기에 논의되는 바와 같이 예컨대, 플래시 메모리 및/또는 MRAM 메모리를 포함할 수 있다. 일 실시에서, 컴퓨터 프로그램 물은 정보 캐리어에 유형으로 수록된다. 컴퓨터 프로그램 물은 명령어들을 포함하며, 상기 명령어들은 실행될 때 상기 기술된 방법들과 같은 하나 이상의 방법들을 수행한다. 정보 캐리어는 메모리(464), 확장 메모리(474) 또는 프로세서(452) 상의 메모리와 같은 컴퓨터 또는 머신 판독가능 매체이거나, 혹은 예컨대, 송수신기(468) 또는 외부 인터페이스(462)를 통해 수신될 수 있는 전파신호이다.
디바이스(450)는 필요한 경우 디지털 신호 프로세싱 회로망을 포함할 수 있는 통신 인터페이스(466)를 통해 무선으로 통신할 수 있다. 통신 인터페이스(466)는 다른 것들 중에서도 특히, GSM 음성 호출들, SMS, EMS 또는 MMS 메시징, CDMA, TDMA, PDC, WCDMA, CDMA2000 또는 GPRS와 같은 다양한 모드들 또는 프로토콜들 하의 통신들을 제공할 수 있다. 이러한 통신은 예컨대, 무선 주파수 송수신기(468)를 통해 발생될 수 있다. 추가적으로, 단거리 통신은 예컨대, 블루투스®, 와이파이 또는 다른 이러한 송수신기(미도시)를 이용하여 발생될 수 있다. 추가적으로, GPS 수신기 모듈(470)은 디바이스(450) 상에서 실행되는 어플리케이션들에 의해 적절하게 사용될 수 있는 추가적인 무선 데이터를 디바이스(450)에 제공할 수 있다.
디바이스(450)는 또한, 사용자로부터 발언 정보를 수신하고 이를 이용가능한 디지털 정보로 변환할 수 있는 오디오 코덱(460)을 이용하여 들을 수 있게(audibly) 통신할 수 있다. 마찬가지로, 오디오 코덱(460)은 예컨대 디바이스(450)의 헤드셋에서 가령, 스피커를 통해, 사용자로부터 가청 사운드를 생성할 수 있다. 이러한 사운드는 음성 전화 호출들로부터의 사운드를 포함할 수 있고, 레코딩된 사운드(예컨대, 음성 메시지들, 음악 파일들, 등)를 포함할 수 있고, 그리고 또한, 디바이스(450) 상에서 동작하는 어플리케이션들에 의해 생성되는 사운드를 포함할 수 있다.
컴퓨팅 디바이스(450)는 도면에 도시된 바와 같이 다수의 서로 다른 형태들로 실시될 수 있다. 예를 들어, 이는 셀룰러 전화기(480)로서 실시될 수 있다. 이는 또한, 스마트폰(482), 개인용 디지털 단말기(PDA) 또는 다른 모바일 디바이스의 일부로서 실시될 수 있다.
다수의 실시 예들이 설명되었다. 그럼에도 불구하고, 다양한 변형들이 본 발명의 사상 및 범위를 벗어나지 않고 이루어질 수 있음을 이해할 수 있을 것이다. 예를 들어, 전술한 흐름들의 다양한 형태들이 재순서화, 추가, 또는 제거의 단계를 거쳐 사용될 수 있다.
본 명세서에 설명된 본 발명의 실시 예들 및 모든 기능적 동작들은 디지털 전자 회로로 구현되거나, 본 명세서에 개시된 구조들과 이들의 구조적 균등물 비롯한 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 혹은 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 발명의 실시 예들은 하나 이상의 컴퓨터 프로그램 물로서 구현될 수 있다. 즉, 데이터 처리 디바이스에 의한 실행을 위해 혹은 데이터 처리 디바이스의 동작을 제어하기 위해 컴퓨터 판독 가능 매체 상에 인코딩된 컴퓨터 프로그램 명령어의 하나 이상의 모듈들로서 구현될 수 있다. 컴퓨터 판독 가능 매체는 기계 판독 가능한 저장 디바이스, 컴퓨터 판독 가능 저장 기판, 메모리 디바이스, 컴퓨터 판독가능 전파 신호를 일으키는 요소(matter)의 조성물, 또는 이들 중 하나 이상의 조합일 수 있다. 용어 "데이터 처리 디바이스"는 예컨대 프로그램 가능 프로세서, 컴퓨터 또는 다중 프로세서들 또는 컴퓨터들을 비롯한, 데이터 처리를 위한 모든 디바이스, 디바이스 및 시스템을 포괄한다. 상기 디바이스는, 하드웨어에 부가적으로, 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예컨대 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 시스템, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 전파 신호는 인위적으로 생성 신호, 예컨대 적절한 수신 디바이스로의 전송을 위한 정보를 인코딩하는데 발생되는 머신에 의해 생성되는 전기, 광학 혹은 전자기 신호이다.
컴퓨터 프로그램(또한 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트, 또는 코드라고도 함)은 컴파일 또는 해석 언어를 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있고, 예컨대 스탠드 얼론형 프로그램으로서 혹은 모듈, 컴포넌트, 서브 루틴, 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛으로서 어떤 형태로든 전개될 수 있다. 컴퓨터 프로그램은 반드시 파일 시스템에서 파일에 해당할 필요는 없다. 프로그램은 다른 프로그램 또는 데이터를 유지하는 파일의 일부(예를 들어, 마크 업 언어 문서에 저장된 하나 이상의 스크립트)에, 문제의 프로그램에 전용인 단일 파일에 혹은 복수의 좌표 파일(예를 들면 하나 이상의 모듈들, 서브 프로그램, 또는 코드의 부분들을 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터상에서 실행되거나 또는 하나의 사이트에 위치 또는 여러 장소들에 거쳐 분산 및 통신 네트워크에 의해 상호 접속되는 다수의 컴퓨터상에서 실행되도록 전개될 수 있다.
이들 컴퓨터 프로그램들(프로그램들, 소프트웨어, 소프트웨어 어플리케이션들 또는 코드로도 알려짐)은 프로그램가능한 프로세서에 대한 머신 명령어들을 포함하며, 상위 계층 절차 및/또는 객체 지향 프로그래밍 언어로 그리고/또는 어셈블리/머신 언어로 실시될 수 있다. 본 명세서에 사용된 용어들 "머신 판독가능 매체", "컴퓨터 판독가능 매체"는 머신 판독가능 신호로서 머신 명령어들을 수신하는 머신 판독가능 매체를 포함하여, 프로그램가능 프로세서에 머신 명령어들 및/또는 데이터를 제공하기 위해 사용되는 어떤 컴퓨터 프로그램 물, 디바이스 및/또는 디바이스(예컨대, 자기 디스크들, 광학 디스크들, 메모리, 프로그램가능 로직 디바이스(PLD)들)를 나타낸다. 용어 "컴퓨터 판독가능 신호"는 프로그램가능 프로세서에 머신 명령어들 및/또는 데이터를 제공하기 위해 사용되는 어떤 신호를 나타낸다.
본 명세서에 설명된 프로세스들 및 로직 흐름들은 입력 데이터로 동작하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍 가능한 프로세서에 의해 수행될 수 있다. 이 프로세서들 및 로직 흐름들은 특수 목적의 로직 회로 예컨대 FPGA (필드 프로그래머블 게이트 어레이) 또는 ASIC (주문형 집적 회로)에 의해 수행될 수 있으며, 디바이스 역시 특수 목적의 로직 회로 예컨대 FPGA 또는 ASIC로서 실시될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서들은, 예컨대, 범용 목적은 물론 특수 목적의 마이크로 프로세서들, 디지털 컴퓨터의 어떤 종류의 하나 또는 그 이상의 프로세서를 포함할 수 있다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 혹은 이들 모두로부터 명령 및 데이터를 수신한다. 컴퓨터의 필수 요소들은 명령들을 실행하는 프로세서 및 명령들 및 데이터를 저장하는 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하는 하나 이상의 대용량 저장 디바이스들, 예컨대 자기 디스크, 자기 광학 디스크, 또는 광 디스크를 포함하며, 이들 간에서 데이터를 수신 및 송신하거나 송수신하는 도록 동작시 이들에 결합된다. 그러나, 컴퓨터는 그러한 디바이스들을 반드시 가질 필요는 없다. 또한, 컴퓨터는 다른 디바이스, 몇 가지 예로서, 태블릿 컴퓨터, 휴대 전화기, PDA, 모바일 오디오 플레이어, GPS 수신기 등에 내장될 수 있다.
컴퓨터 프로그램 명령들 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 예를 들면, 반도체 메모리 디바이스(예컨대, EPROM, EEPROM, 및 플래시 메모리 디바이스), 자기 디스크(예컨대, 내부 하드 디스크 또는 착탈형 디스크), 광자기 디스크, 및 CD ROM 및 DVD-ROM 디스크를 비롯한 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 이 프로세서 및 메모리는 특수 목적의 로직회로에 의해 보충하거나 이 로직 회로에 통합될 수 있다.
사용자와의 상호대화를 제공하기 위해, 본 발명의 실시 예들은 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터 및 사용자가 입력을 컴퓨터에 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 가지는 컴퓨터상에서 구현될 수 있다. 다른 종류의 디바이스들 또한 사용자에게 상호작용을 제공하기 위해 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백(예를 들어, 시각 피드백, 청각 피드백 또는 촉각 피드백)일 수 있고; 그리고 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.
본 발명의 실시 예들은 백엔트 컴포넌트(예를 들어, 데이터 서버)를 포함하거나 또는 미들웨어 컴포넌트(예를 들어, 어플리케이션 서버)를 포함하거나 또는 프론트 엔트 컴포넌트(예를 들어, 사용자가 본 명세서에서 서술되는 시스템들 및 기술들의 구현과 상호대화할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 가지는 클라이언트 컴퓨터) 또는 그와 같은 백 엔트, 미들웨어 또는 프론트 엔트 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 임의의 형태 또는 매체의 디지털 데이터 통신(예를 들어, 통신 네트워크)에 의해 상호접속 될 수 있다. 통신 네트워크의 예들은 LAN(local area network), WAN(wide area network) 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로로부터 원격이며 보통 통신 네트워크를 통해 상호작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터들 상에서 동작하고 각각에 대하여 클라이언트-서버 관계를 가지는 컴퓨터 프로그램들에 의해 발생한다.
본 명세서가 다수의 특정 구현예의 세부 사항들을 포함하고 있지만, 이러한 것들이 임의의 발명들의 범위 혹은 요구될 수 있는 것에 관한 한정의 의미로서 해석돼서는 안 되며, 오히려 본 명세서에서 설명되는 방법들 및 시스템들의 특정 구현예들에 특정된 특징들에 관한 설명들로서 해석돼야 한다. 개별적 구현예들의 맥락으로 본 명세서에서 설명되는 특정 특징들은 또한, 단일의 구현예로 결합되어 구현될 수 있다. 반대로, 단일의 구현예의 맥락으로 설명되는 다양한 특징들은 또한, 복수의 구현예들로 따로따로 구현될 수 있거나 혹은 임의의 적절한 하위조합(subcombination)으로 구현될 수 있다. 더욱이, 특징들이 앞에서 특정 조합들로서 동작하는 것으로서 설명될 수 있어도, 그리고 심지어 초기에 그렇게 요구될 수 있을지라도, 요구되는 조합으로부터의 하나 이상의 특징들은, 일부 경우들에서, 조합으로부터 삭제될 수 있고, 그리고 요구되는 조합은 하위조합 혹은 하위조합의 변형이 될 수 있다.
유사하게, 동작들이 도면들에서 특정 순서로 도시되고 있지만, 이것이, 원하는 결과들을 달성하기 위해, 이러한 동작들이 순차적 순서로 혹은 제시된 특정 순서로 수행돼야 하는 것을 요구하는 것으로서 이해돼서는 안 되며, 또는 예시되는 모든 동작들이 수행돼야 하는 것을 요구하는 것으로서 이해돼서는 안 된다. 일부 경우들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 더욱이, 전술한 실시예들에서 다양한 시스템 컴포넌들의 분리는 모든 실시예들에서 그러한 분리를 요구하는 것으로 이해되어서는 안 되며, 기술된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일의 소프트웨어 물에 서로 통합되거나 복수의 소프트웨어 물 내에 패키징될 수 있는 것으로 이해되어야만 한다.
HTML 파일이 언급되는 각 경우에, 다른 파일 형식 또는 포맷들이 치환될 수 있다. 예를 들어, HTML 파일은 XML, JSON, 플레인 텍스트, 또는 다른 형식의 파일로 대체될 수 있다. 또한, 테이블 또는 해시 테이블이 언급되는 경우, 스프레드 시트, 관계형 데이터베이스 또는 구조화된 파일과 같은 그러한 다른 데이터 구조들이 사용될 수 있다.
본 명세서에 기술된 시스템들 및 기법들의 다양한 실시들은 디지털 전자 회로망, 집적 회로망, 특별하게 설계된 ASIC(주문형 집적 회로들), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합들로 실현될 수 있다. 이 다양한 실시들은 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하고 이들에 데이터 및 명령어들을 전송하도록 결합된, 특수용 또는 범용일 수 있는 적어도 하나의 프로그래밍가능 프로세서를 포함하는 프로그래밍가능 시스템상에서 실행가능 및/또는 해석가능한 하나 이상의 컴퓨터 프로그램들로의 실시를 포함할 수 있다.
[0103] 따라서, 본 발명의 특정 실시 예들을 설명하였다. 다음의 특허청구범위 내에서, 다른 실시 예들이 있을 수 있다. 예컨대, 특허청구범위에 기재된 동작들은 다른 순서로 수행되어도 원하는 결과를 달성할 수 있다. 다수의 실시 예들이 여기에 설명되었다. 그럼에도 불구하고, 본 발명의 정신 및 범위내에서 다양한 수정들이 만들이 질 수 있음을 이해할 수 있을 것이다. 예컨대, 전술한 다양한 형태의 흐름들이 재순서화, 추가가 또는 제거의 단계를 거쳐 사용될 수 있다. 따라서, 다른 실시 예들은 다음의 특허청구범위 내에 있다.

Claims (20)

  1. 컴퓨터에 의해 구현되는 방법으로서,
    컴퓨팅 디바이스가 락 모드(lock mode)에서 동작하는 동안 수신된 발언에 해당하는 오디오 데이터를 수신하는 단계 - 상기 컴퓨팅 디바이스는 상기 오디오 데이터가 핫 워드에 대응한다는 결정에 기초하여 상기 락 모드를 종료하도록 구성됨 -;
    상기 오디오 데이터가 상기 핫 워드에 해당하는지를 판단하는 단계와;
    상기 핫 워드에 해당하는 것으로 결정된 상기 오디오 데이터의 핫 워드 오디오 핑거프린트를 생성하는 단계와;
    상기 핫 워드 오디오 핑거프린트와 상기 핫 워드에 해당하는 것으로 이전에 결정된 오디오 데이터의 하나 이상의 저장된 오디오 핑거프린트들과의 사이에 유사도를 판단하는 단계와;
    상기 핫 워드 오디오 핑거프린트와 상기 하나 이상의 저장된 오디오 핑거프린트들 중 하나 간의 유사도가 미리 정해진 임계치를 만족하는지에 기초하여, 상기 핫 워드 오디오 핑거프린트가 상기 핫 워드에 해당하는 것으로 이전에 결정된 오디오 데이터의 저장된 오디오 핑거프린트와 매칭하는지를 판단하는 단계와; 그리고
    상기 핫 워드 오디오 핑거프린트가 저장된 오디오 핑거프린트와 매칭함을 검출함에 응답하여, 상기 오디오 데이터가 상기 핫 워드에 해당한다는 판단에도 불구하고, 상기 발언이 말해진 상기 컴퓨팅 디바이스의 상기 락 모드가 종료되는 것을 방지하는 단계를 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 방법.
  2. 제1항에 있어서,
    상기 오디오 데이터가 핫 워드에 해당하는지를 판단하는 단계는:
    상기 오디오 데이터의 하나 이상의 음향 특성을 식별하는 것과;
    상기 오디오 데이터의 하나 이상의 음향 특성을 데이터베이스에 저장된 하나 이상의 핫 워드와 관련된 하나 이상의 음향 특성과 비교하는 것과; 그리고
    상기 오디오 데이터의 하나 이상의 음향 특성을 데이터베이스에 저장된 하나 이상의 핫 워드와 관련된 하나 이상의 음향 특성과 비교함에 기초하여, 상기 오디오 데이터가 상기 데이터베이스에 저장된 하나 이상의 핫 워드 중 하나에 해당하는지를 판단하는 것을 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 방법.
  3. 제1항에 있어서,
    추가적인 발언에 해당하는 추가적인 오디오 데이터를 수신하는 단계와;
    상기 추가적인 오디오 데이터로부터 생성된 화자-식별 딥-벡터들(deep-vectors)을 식별하는 단계와;
    상기 추가적인 오디오 데이터로부터 생성된 화자-식별 딥-벡터들과 상기 발언에 해당하는 오디오 데이터로부터 생성된 핫 워드 딥-벡터들과의 유사도를 결정하는 단계와;
    상기 추가적인 오디오 데이터로부터 생성된 화자-식별 딥-벡터들과 상기 발언에 해당하는 오디오 데이터로부터 생성된 핫 워드 딥-벡터들과의 유사도가 특정 임계값을 만족하는지 여부에 기초하여, 상기 핫 워드에 해당하는 오디오 데이터가 상기 추가적인 오디오 데이터와 매칭하는지 여부를 검출하는 단계와; 그리고
    상기 핫 워드에 해당하는 오디오 데이터가 상기 추가적인 오디오 데이터와 비매칭함을 결정함에 응답하여, 컴퓨팅 디바이스에 대한 액세스를 디스에이블링하는 단계를 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 방법.
  4. 제1항에 있어서,
    상기 핫 워드는 특정 말이며, 상기 특정 말은 상기 특정 말에 후속하는 하나 이상의 말 중 추가적인 말의 시멘틱 해석(semantic interpretation)을 트리거하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 방법.
  5. 제1항에 있어서,
    음성 명령이나 쿼리에 해당하는 추가적인 오디오 데이터를 수신하는 단계와; 그리고
    상기 음성 명령 또는 쿼리의 유형을 결정하는 단계를 포함하며,
    상기 미리 결정된 임계값은 상기 음성 명령 또는 쿼리의 유형에 기초하여 조정되는 것을 특징으로 하는 컴퓨터에 의해 구현되는 방법.
  6. 제1항에 있어서,
    상기 오디오 데이터가 핫 워드에 해당하는지를 판단하는 단계는:
    상기 오디오 데이터의 초기 부분이 상기 핫 워드의 초기 부분에 해당하는 지를 판단하는 것과; 그리고
    상기 오디오 데이터의 초기 부분이 상기 핫 워드의 초기 부분에 해당한다는 결정에 응답하여, 복수의 고유 초음파 오디오 샘플들 중 하나가 상기 오디오 데이터의 초기 부분이 수신된 후 출력되도록 하는 것을 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 방법.
  7. 제6항에 있어서,
    상기 수신된 오디오 데이터가 상기 복수의 고유 초음파 오디오 샘플들 중 하나에 해당하는 오디오 데이터를 포함하는지를 판단하는 단계와; 그리고
    상기 수신된 오디오 데이터가 상기 복수의 고유 초음파 오디오 샘플들 중 하나에 해당하는 오디오 데이터를 포함한다는 결정에 응답하여, 상기 컴퓨팅 디바이스에 대한 액세스를 디스에이블링하는 것을 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 방법.
  8. 하나 이상의 컴퓨터; 및
    상기 하나 이상의 컴퓨터에 의해 실행될 때, 명령어들을 저장하는 하나 이상의 저장 디바이스를 포함하는 시스템으로서,
    상기 명령어들은 상기 하나 이상의 컴퓨터에 의한 실행시 상기 하나 이상의 컴퓨터로 하여금:
    컴퓨팅 디바이스가 락 모드(lock mode)에서 동작하는 동안 수신된 발언에 해당하는 오디오 데이터를 수신하는 단계 - 상기 컴퓨팅 디바이스는 상기 오디오 데이터가 핫 워드에 대응한다는 결정에 기초하여 상기 락 모드를 종료하도록 구성됨 -;
    상기 오디오 데이터가 상기 핫 워드에 해당하는지를 판단하고;
    상기 핫 워드에 해당하는 것으로 결정된 오디오 데이터의 핫 워드 오디오 핑거프린트를 생성하고;
    상기 핫 워드 오디오 핑거프린트와 상기 핫 워드에 해당하는 것으로 이전에 결정된 오디오 데이터의 오디오 핑거프린트들과의 사이에 유사도를 판단하고;
    상기 핫 워드 오디오 핑거프린트와 상기 하나 이상의 저장된 오디오 핑거프린트들 중 하나 간의 유사도가 미리 정해진 임계치를 만족하는지에 기초하여, 상기 핫 워드 오디오 핑거프린트가 상기 핫 워드에 해당하는 것으로 이전에 결정된 오디오 데이터의 저장된 오디오 핑거프린트와 매칭하는지를 판단하고; 그리고
    상기 핫 워드 오디오 핑거프린트가 저장된 오디오 핑거프린트와 매칭함을 검출함에 응답하여, 상기 오디오 데이터가 상기 핫 워드에 해당한다는 판단에도 불구하고, 상기 발언이 말해진 상기 컴퓨팅 디바이스의 상기 락 모드가 종료되는 것을 방지하는 동작들을 수행하게 하는 것을 특징으로 하는 하나 이상의 컴퓨터 및 하나 이상의 저장 디바이스를 포함하는 시스템.
  9. 제8항에 있어서,
    상기 오디오 데이터가 핫 워드에 해당하는지를 판단하는 것은:
    상기 오디오 데이터의 하나 이상의 음향 특성을 식별하는 것과;
    상기 오디오 데이터의 하나 이상의 음향 특성을 데이터베이스에 저장된 하나 이상의 핫 워드와 관련된 하나 이상의 음향 특성과 비교하는 것과; 그리고
    상기 오디오 데이터의 하나 이상의 음향 특성을 데이터베이스에 저장된 하나 이상의 핫 워드와 관련된 하나 이상의 음향 특성과 비교함에 기초하여, 상기 오디오 데이터가 상기 데이터베이스에 저장된 하나 이상의 핫 워드 중 하나에 해당하는지를 판단하는 것을 포함하는 것을 특징으로 하는 하나 이상의 컴퓨터 및 하나 이상의 저장 디바이스를 포함하는 시스템.
  10. 제8항에 있어서,
    상기 동작들은:
    추가적인 발언에 해당하는 추가적인 오디오 데이터를 수신하고;
    상기 추가적인 오디오 데이터부터 생성된 화자-식별 딥-벡터들(deep-vectors)을 식별하고;
    상기 추가적인 오디오 데이터로부터 생성된 화자-식별 딥-벡터들과 상기 발언에 해당하는 오디오 데이터로부터 생성된 핫 워드 딥-벡터들과의 유사도를 결정하고;
    상기 추가적인 오디오 데이터로부터 생성된 화자-식별 딥-벡터들과 상기 발언에 해당하는 오디오 데이터부터 생성된 핫 워드 딥-벡터들과의 유사도가 특정 임계값을 만족하는지 여부에 기초하여, 상기 핫 워드에 해당하는 오디오 데이터가 상기 추가적인 오디오 데이터와 매칭하는지 여부를 검출하고; 그리고
    상기 핫 워드에 해당하는 오디오 데이터가 상기 추가적인 오디오 데이터와 비매칭함을 결정함에 응답하여, 컴퓨팅 디바이스에 대한 액세스를 디스에이블링하는 것을 포함하는 것을 특징으로 하는 하나 이상의 컴퓨터 및 하나 이상의 저장 디바이스를 포함하는 시스템.
  11. 제8항에 있어서,
    상기 핫 워드는 특정 말이며, 상기 특정 말은 상기 특정 말에 후속하는 하나 이상의 말 중 추가적인 말의 시멘틱 해석(semantic interpretation)을 트리거하는 것을 특징으로 하는 하나 이상의 컴퓨터 및 하나 이상의 저장 디바이스를 포함하는 시스템.
  12. 제8항에 있어서,
    상기 동작들은:
    음성 명령이나 쿼리에 해당하는 추가적인 오디오 데이터를 수신하는 것과; 그리고
    상기 음성 명령 또는 쿼리의 유형을 결정하는 것을 포함하며,
    상기 미리 결정된 임계값은 상기 음성 명령 또는 쿼리의 유형에 기초하여 조정되는 것을 특징으로 하는 하나 이상의 컴퓨터 및 하나 이상의 저장 디바이스를 포함하는 시스템.
  13. 제8항에 있어서,
    상기 오디오 데이터가 핫 워드에 해당하는지를 판단하는 것은:
    상기 오디오 데이터의 초기 부분이 상기 핫 워드의 초기 부분에 해당하는 지를 판단하는 것과; 그리고
    상기 오디오 데이터의 초기 부분이 상기 핫 워드의 초기 부분에 해당한다는 결정에 응답하여, 복수의 고유 초음파 오디오 샘플들 중 하나가 상기 오디오 데이터의 초기 부분이 수신된 후 출력되도록 하는 것을 포함하는 것을 특징으로 하는 하나 이상의 컴퓨터 및 하나 이상의 저장 디바이스를 포함하는 시스템.
  14. 제13항에 있어서,
    상기 동작들은:
    상기 수신된 오디오 데이터가 상기 복수의 고유 초음파 오디오 샘플들 중 하나에 해당하는 오디오 데이터를 포함하는지를 판단하는 것과; 그리고
    상기 수신된 오디오 데이터가 상기 복수의 고유 초음파 오디오 샘플들 중 하나에 해당하는 오디오 데이터를 포함한다는 결정에 응답하여, 상기 컴퓨팅 디바이스에 대한 액세스를 디스에이블링하는 것을 포함하는 것을 특징으로 하는 하나 이상의 컴퓨터 및 하나 이상의 저장 디바이스를 포함하는 시스템.
  15. 하나 이상의 컴퓨터에 의해 실행가능한 명령어들을 포함하는 소프트웨어를 저장한 비-일시적인 컴퓨터 판독가능 저장 디바이스로서, 상기 명령어들은 상기 하나 이상의 컴퓨터에 의한 실행시 상기 하나 이상의 컴퓨터로 하여금:
    컴퓨팅 디바이스가 락 모드(lock mode)에서 동작하는 동안 수신된 발언에 해당하는 오디오 데이터를 수신하는 단계 - 상기 컴퓨팅 디바이스는 상기 오디오 데이터가 핫 워드에 대응한다는 결정에 기초하여 상기 락 모드를 종료하도록 구성됨 -;
    상기 오디오 데이터가 상기 핫 워드에 해당하는지를 판단하고;
    상기 핫 워드에 해당하는 것으로 결정된 오디오 데이터의 핫 워드 오디오 핑거프린트를 생성하고;
    상기 핫 워드 오디오 핑거프린트와 상기 핫 워드에 해당하는 것으로 이전에 결정된 오디오 데이터의 오디오 핑거프린트들과의 사이에 유사도를 판단하고;
    상기 핫 워드 오디오 핑거프린트와 상기 하나 이상의 저장된 오디오 핑거프린트들 중 하나 간의 유사도가 미리 정해진 임계치를 만족하는지에 기초하여, 상기 핫 워드 오디오 핑거프린트가 상기 핫 워드에 해당하는 것으로 이전에 결정된 오디오 데이터의 저장된 오디오 핑거프린트와 매칭하는지를 판단하고; 그리고
    상기 핫 워드 오디오 핑거프린트가 저장된 오디오 핑거프린트와 매칭함을 검출함에 응답하여, 상기 오디오 데이터가 상기 핫 워드에 해당한다는 판단에도 불구하고, 상기 발언이 말해진 상기 컴퓨팅 디바이스의 상기 락 모드가 종료되는 것을 방지하는 동작들을 수행하게 하는 것을 특징으로 하는 소프트웨어를 저장한 비-일시적인 컴퓨터 판독가능 저장 디바이스.
  16. 제15항에 있어서,
    상기 오디오 데이터가 핫 워드에 해당하는지를 판단하는 것은:
    상기 오디오 데이터의 하나 이상의 음향 특성을 식별하는 것과;
    상기 오디오 데이터의 하나 이상의 음향 특성을 데이터베이스에 저장된 하나 이상의 핫 워드와 관련된 하나 이상의 음향 특성과 비교하는 것과; 그리고
    상기 오디오 데이터의 하나 이상의 음향 특성을 데이터베이스에 저장된 하나 이상의 핫 워드와 관련된 하나 이상의 음향 특성과 비교함에 기초하여, 상기 오디오 데이터가 상기 데이터베이스에 저장된 하나 이상의 핫 워드 중 하나에 해당하는지를 판단하는 것을 포함하는 것을 특징으로 하는 소프트웨어를 저장한 비-일시적인 컴퓨터 판독가능 저장 디바이스.
  17. 제15항에 있어서,
    상기 동작들은:
    추가적인 발언에 해당하는 추가적인 오디오 데이터를 수신하고;
    상기 추가적인 오디오 데이터부터 생성된 화자-식별 딥-벡터들(deep-vectors)을 식별하고;
    상기 추가적인 오디오 데이터로부터 생성된 화자-식별 딥-벡터들과 상기 발언에 해당하는 오디오 데이터부터 생성된 핫 워드 딥-벡터들과의 유사도를 결정하고;
    상기 추가적인 오디오 데이터로부터 생성된 화자-식별 딥-벡터들과 상기 발언에 해당하는 오디오 데이터로부터 생성된 핫 워드 딥-벡터들과의 유사도가 특정 임계값을 만족하는지 여부에 기초하여, 상기 핫 워드에 해당하는 오디오 데이터가 상기 추가적인 오디오 데이터와 매칭하는지 여부를 검출하고; 그리고
    상기 핫 워드에 해당하는 오디오 데이터가 상기 추가적인 오디오 데이터와 비매칭함을 결정함에 응답하여, 컴퓨팅 디바이스에 대한 액세스를 디스에이블링하는 것을 포함하는 것을 특징으로 하는 소프트웨어를 저장한 비-일시적인 컴퓨터 판독가능 저장 디바이스.
  18. 제15항에 있어서,
    상기 핫 워드는 특정 말이며, 상기 특정 말은 상기 특정 말에 후속하는 하나 이상의 말 중 추가적인 말의 시멘틱 해석(semantic interpretation)을 트리거하는 것을 특징으로 하는 소프트웨어를 저장한 비-일시적인 컴퓨터 판독가능 저장 디바이스.
  19. 제15항에 있어서,
    상기 동작들은:
    음성 명령이나 쿼리에 해당하는 추가적인 오디오 데이터를 수신하는 것과; 그리고
    상기 음성 명령 또는 쿼리의 유형을 결정하는 것을 포함하며,
    상기 미리 결정된 임계값은 상기 음성 명령 또는 쿼리의 유형에 기초하여 조정되는 것을 특징으로 하는 소프트웨어를 저장한 비-일시적인 컴퓨터 판독가능 저장 디바이스.
  20. 제15항에 있어서,
    상기 오디오 데이터가 핫 워드에 해당하는지를 판단하는 것은:
    상기 오디오 데이터의 초기 부분이 상기 핫 워드의 초기 부분에 해당하는 지를 판단하는 것과; 그리고
    상기 오디오 데이터의 초기 부분이 상기 핫 워드의 초기 부분에 해당한다는 결정에 응답하여, 복수의 고유 초음파 오디오 샘플들 중 하나가 상기 오디오 데이터의 초기 부분이 수신된 후 출력되도록 하는 것을 포함하는 것을 특징으로 하는 소프트웨어를 저장한 비-일시적인 컴퓨터 판독가능 저장 디바이스.
KR1020160131558A 2015-10-16 2016-10-11 핫 워드 인식 KR101917790B1 (ko)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201562242650P 2015-10-16 2015-10-16
US62/242,650 2015-10-16
US14/943,287 2015-11-17
US14/943,287 US9747926B2 (en) 2015-10-16 2015-11-17 Hotword recognition
US15/176,482 US9934783B2 (en) 2015-10-16 2016-06-08 Hotword recognition
US15/176,830 2016-06-08
US15/176,830 US9928840B2 (en) 2015-10-16 2016-06-08 Hotword recognition
US15/176,482 2016-06-08

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020160131573A Division KR101918696B1 (ko) 2015-10-16 2016-10-11 핫 워드 인식
KR1020160131571A Division KR101917791B1 (ko) 2015-10-16 2016-10-11 핫 워드 인식

Publications (2)

Publication Number Publication Date
KR20170045123A KR20170045123A (ko) 2017-04-26
KR101917790B1 true KR101917790B1 (ko) 2018-11-13

Family

ID=58550238

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020160131558A KR101917790B1 (ko) 2015-10-16 2016-10-11 핫 워드 인식
KR1020160131571A KR101917791B1 (ko) 2015-10-16 2016-10-11 핫 워드 인식
KR1020160131573A KR101918696B1 (ko) 2015-10-16 2016-10-11 핫 워드 인식

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020160131571A KR101917791B1 (ko) 2015-10-16 2016-10-11 핫 워드 인식
KR1020160131573A KR101918696B1 (ko) 2015-10-16 2016-10-11 핫 워드 인식

Country Status (4)

Country Link
US (1) US10650828B2 (ko)
JP (1) JP6463710B2 (ko)
KR (3) KR101917790B1 (ko)
CN (1) CN107016999B (ko)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10743101B2 (en) 2016-02-22 2020-08-11 Sonos, Inc. Content mixing
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
US10134399B2 (en) 2016-07-15 2018-11-20 Sonos, Inc. Contextualization of voice inputs
US10115400B2 (en) 2016-08-05 2018-10-30 Sonos, Inc. Multiple voice services
US10079015B1 (en) * 2016-12-06 2018-09-18 Amazon Technologies, Inc. Multi-layer keyword detection
US10170112B2 (en) * 2017-05-11 2019-01-01 Google Llc Detecting and suppressing voice queries
US10395650B2 (en) * 2017-06-05 2019-08-27 Google Llc Recorded media hotword trigger suppression
GB2563953A (en) 2017-06-28 2019-01-02 Cirrus Logic Int Semiconductor Ltd Detection of replay attack
GB201801526D0 (en) 2017-07-07 2018-03-14 Cirrus Logic Int Semiconductor Ltd Methods, apparatus and systems for authentication
GB201801532D0 (en) 2017-07-07 2018-03-14 Cirrus Logic Int Semiconductor Ltd Methods, apparatus and systems for audio playback
GB201801527D0 (en) 2017-07-07 2018-03-14 Cirrus Logic Int Semiconductor Ltd Method, apparatus and systems for biometric processes
US10475449B2 (en) 2017-08-07 2019-11-12 Sonos, Inc. Wake-word detection suppression
US10048930B1 (en) 2017-09-08 2018-08-14 Sonos, Inc. Dynamic computation of system response volume
KR102087202B1 (ko) * 2017-09-13 2020-03-10 (주)파워보이스 인공 지능 비서 서비스 제공 방법, 및 이에 사용되는 음성 인식 장비
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
CN107799120A (zh) * 2017-11-10 2018-03-13 北京康力优蓝机器人科技有限公司 服务机器人识别唤醒方法及装置
CN108109619B (zh) * 2017-11-15 2021-07-06 中国科学院自动化研究所 基于记忆和注意力模型的听觉选择方法和装置
US10276175B1 (en) * 2017-11-28 2019-04-30 Google Llc Key phrase detection with audio watermarking
US11475899B2 (en) 2018-01-23 2022-10-18 Cirrus Logic, Inc. Speaker identification
US11264037B2 (en) 2018-01-23 2022-03-01 Cirrus Logic, Inc. Speaker identification
US11735189B2 (en) 2018-01-23 2023-08-22 Cirrus Logic, Inc. Speaker identification
JP7186375B2 (ja) 2018-03-29 2022-12-09 パナソニックIpマネジメント株式会社 音声処理装置、音声処理方法および音声処理システム
US11175880B2 (en) 2018-05-10 2021-11-16 Sonos, Inc. Systems and methods for voice-assisted media content selection
EP3776530A1 (en) 2018-05-17 2021-02-17 Google LLC Synthesis of speech from text in a voice of a target speaker using neural networks
GB2573809B (en) 2018-05-18 2020-11-04 Emotech Ltd Speaker Recognition
US10692496B2 (en) * 2018-05-22 2020-06-23 Google Llc Hotword suppression
US10959029B2 (en) 2018-05-25 2021-03-23 Sonos, Inc. Determining and adapting to changes in microphone performance of playback devices
WO2020016967A1 (ja) * 2018-07-18 2020-01-23 三菱電機株式会社 音声認識装置、車載用ナビゲーション装置、自動音声対話装置、及び音声認識方法
US10692490B2 (en) 2018-07-31 2020-06-23 Cirrus Logic, Inc. Detection of replay attack
US11076035B2 (en) 2018-08-28 2021-07-27 Sonos, Inc. Do not disturb feature for audio notifications
CN110875058A (zh) * 2018-08-31 2020-03-10 中国移动通信有限公司研究院 一种语音通信处理方法、终端设备及服务器
US10915614B2 (en) 2018-08-31 2021-02-09 Cirrus Logic, Inc. Biometric authentication
US11024331B2 (en) 2018-09-21 2021-06-01 Sonos, Inc. Voice detection optimization using sound metadata
US10811015B2 (en) * 2018-09-25 2020-10-20 Sonos, Inc. Voice detection optimization based on selected voice assistant service
KR102492783B1 (ko) 2018-09-25 2023-01-27 구글 엘엘씨 화자 임베딩(들)과 트레이닝된 생성 모델을 이용한 화자 분리
US11100923B2 (en) 2018-09-28 2021-08-24 Sonos, Inc. Systems and methods for selective wake word detection using neural network models
US11899519B2 (en) 2018-10-23 2024-02-13 Sonos, Inc. Multiple stage network microphone device with reduced power consumption and processing load
KR102102387B1 (ko) * 2018-10-29 2020-04-21 주식회사 사운드잇 다채널오디오스트리밍에서 화자의 발화구간을 검출하는 방법 및 시스템
EP4270224A3 (en) * 2018-12-03 2023-11-15 Google LLC Text independent speaker recognition
US11183183B2 (en) 2018-12-07 2021-11-23 Sonos, Inc. Systems and methods of operating media playback systems having multiple voice assistant services
JP7271925B2 (ja) * 2018-12-07 2023-05-12 コニカミノルタ株式会社 音声操作システム、音声操作方法および音声操作プログラム
US11132989B2 (en) 2018-12-13 2021-09-28 Sonos, Inc. Networked microphone devices, systems, and methods of localized arbitration
CN109448725A (zh) * 2019-01-11 2019-03-08 百度在线网络技术(北京)有限公司 一种语音交互设备唤醒方法、装置、设备及存储介质
JP6635394B1 (ja) 2019-01-29 2020-01-22 パナソニックIpマネジメント株式会社 音声処理装置および音声処理方法
US10992297B2 (en) 2019-03-29 2021-04-27 Cirrus Logic, Inc. Device comprising force sensors
US11120794B2 (en) 2019-05-03 2021-09-14 Sonos, Inc. Voice assistant persistence across multiple network microphone devices
US11189286B2 (en) 2019-10-22 2021-11-30 Sonos, Inc. VAS toggle based on device orientation
CN110765239B (zh) * 2019-10-29 2023-03-28 腾讯科技(深圳)有限公司 热词识别方法、装置及存储介质
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
WO2021146661A2 (en) * 2020-01-17 2021-07-22 Syntiant Systems and methods for generating wake signals from known users
US11308958B2 (en) 2020-02-07 2022-04-19 Sonos, Inc. Localized wakeword verification
RU2767962C2 (ru) 2020-04-13 2022-03-22 Общество С Ограниченной Ответственностью «Яндекс» Способ и система для распознавания воспроизведенного речевого фрагмента
US11482224B2 (en) 2020-05-20 2022-10-25 Sonos, Inc. Command keywords with input detection windowing
US11948565B2 (en) * 2020-12-11 2024-04-02 Google Llc Combining device or assistant-specific hotwords in a single utterance
US11915711B2 (en) 2021-07-20 2024-02-27 Direct Cursus Technology L.L.C Method and system for augmenting audio signals

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5265191A (en) 1991-09-17 1993-11-23 At&T Bell Laboratories Technique for voice-based security systems
US6480825B1 (en) 1997-01-31 2002-11-12 T-Netix, Inc. System and method for detecting a recorded voice
US6330672B1 (en) 1997-12-03 2001-12-11 At&T Corp. Method and apparatus for watermarking digital bitstreams
JPH11231895A (ja) * 1998-02-17 1999-08-27 Nippon Telegr & Teleph Corp <Ntt> 音声認識方法及びその装置
US7013301B2 (en) 2003-09-23 2006-03-14 Predixis Corporation Audio fingerprinting system and method
US7444353B1 (en) 2000-01-31 2008-10-28 Chen Alexander C Apparatus for delivering music and information
US6963975B1 (en) 2000-08-11 2005-11-08 Microsoft Corporation System and method for audio fingerprinting
US20040059922A1 (en) 2002-09-20 2004-03-25 Harris Rodney C. Continuous voice recognition for user authentication by a digital transmitting device
US7516074B2 (en) 2005-09-01 2009-04-07 Auditude, Inc. Extraction and matching of characteristic fingerprints from audio signals
KR100711094B1 (ko) 2005-11-29 2007-04-27 삼성전자주식회사 분산 통신 환경에서의 이동체들 간의 자원 할당 방법
US20070239675A1 (en) 2006-03-29 2007-10-11 Microsoft Corporation Web search media service
US8411977B1 (en) 2006-08-29 2013-04-02 Google Inc. Audio identification using wavelet-based signatures
AU2007336832B2 (en) 2006-12-22 2012-05-24 Apple Inc. Communicating and storing information associated with media broadcasts
US20080222105A1 (en) 2007-03-09 2008-09-11 Joseph Matheny Entity recommendation system using restricted information tagged to selected entities
US20080275846A1 (en) 2007-05-04 2008-11-06 Sony Ericsson Mobile Communications Ab Filtering search results using contact lists
US8375131B2 (en) 2007-12-21 2013-02-12 Yahoo! Inc. Media toolbar and aggregated/distributed media ecosystem
WO2010027847A1 (en) 2008-08-26 2010-03-11 Dolby Laboratories Licensing Corporation Robust media fingerprints
US20100070488A1 (en) 2008-09-12 2010-03-18 Nortel Networks Limited Ranking search results based on affinity criteria
DE102008058883B4 (de) * 2008-11-26 2023-07-27 Lumenvox Corporation Verfahren und Anordnung zur Steuerung eines Nutzerzugriffs
GB2466242B (en) * 2008-12-15 2013-01-02 Audio Analytic Ltd Sound identification systems
US8180765B2 (en) 2009-06-15 2012-05-15 Telefonaktiebolaget L M Ericsson (Publ) Device and method for selecting at least one media for recommendation to a user
US8402533B2 (en) 2010-08-06 2013-03-19 Google Inc. Input to locked computing device
GB2483370B (en) 2010-09-05 2015-03-25 Mobile Res Labs Ltd A system and method for engaging a person in the presence of ambient audio
US9093120B2 (en) 2011-02-10 2015-07-28 Yahoo! Inc. Audio fingerprint extraction by scaling in time and resampling
US9087182B2 (en) 2011-03-02 2015-07-21 Blackberry Limited Password-based operation of a locked computing device
US9262612B2 (en) * 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US20140310006A1 (en) 2011-08-29 2014-10-16 Telefonica, S.A. Method to generate audio fingerprints
US20130117259A1 (en) 2011-11-04 2013-05-09 Nathan J. Ackerman Search Query Context
US20130124371A1 (en) 2011-11-15 2013-05-16 Verizon Patent And Licensing Inc. Determining local catalog of digital content
US9665643B2 (en) 2011-12-30 2017-05-30 Microsoft Technology Licensing, Llc Knowledge-based entity detection and disambiguation
CN103327158A (zh) * 2012-03-19 2013-09-25 上海博路信息技术有限公司 一种语音识别的锁定和开锁方法
CN103366745B (zh) * 2012-03-29 2016-01-20 三星电子(中国)研发中心 基于语音识别保护终端设备的方法及其终端设备
US8484017B1 (en) 2012-09-10 2013-07-09 Google Inc. Identifying media content
US10229676B2 (en) * 2012-10-05 2019-03-12 Avaya Inc. Phrase spotting systems and methods
JP2014081441A (ja) * 2012-10-15 2014-05-08 Sharp Corp コマンド判定装置およびその制御方法、コマンド判定プログラム
US20150279351A1 (en) 2012-12-19 2015-10-01 Google Inc. Keyword detection based on acoustic alignment
EP2989807A4 (en) 2013-05-03 2016-11-09 Digimarc Corp WATERMARK MARKING AND SIGNAL RECOGNITION FOR ADMINISTERING AND DIVISION OF INTEGRATED CONTENT, METADATA RECORDING AND RELATED ARRANGEMENTS
US9258425B2 (en) 2013-05-22 2016-02-09 Nuance Communications, Inc. Method and system for speaker verification
JP6179337B2 (ja) * 2013-10-17 2017-08-16 富士通株式会社 音声認証装置、音声認証方法及び音声認証プログラム
US8768712B1 (en) 2013-12-04 2014-07-01 Google Inc. Initiating actions based on partial hotwords
US9424841B2 (en) 2014-10-09 2016-08-23 Google Inc. Hotword detection on multiple devices
US9769564B2 (en) * 2015-02-11 2017-09-19 Google Inc. Methods, systems, and media for ambient background noise modification based on mood and/or behavior information
US9704488B2 (en) 2015-03-20 2017-07-11 Microsoft Technology Licensing, Llc Communicating metadata that identifies a current speaker
US9747926B2 (en) 2015-10-16 2017-08-29 Google Inc. Hotword recognition
US9928840B2 (en) 2015-10-16 2018-03-27 Google Llc Hotword recognition

Also Published As

Publication number Publication date
KR20180040028A (ko) 2018-04-19
KR101917791B1 (ko) 2018-11-13
JP6463710B2 (ja) 2019-02-06
US10650828B2 (en) 2020-05-12
KR101918696B1 (ko) 2018-11-14
CN107016999B (zh) 2022-06-14
CN107016999A (zh) 2017-08-04
KR20180040027A (ko) 2018-04-19
US20190287536A1 (en) 2019-09-19
KR20170045123A (ko) 2017-04-26
JP2017076117A (ja) 2017-04-20

Similar Documents

Publication Publication Date Title
KR101917790B1 (ko) 핫 워드 인식
US10262659B2 (en) Hotword recognition
US9934783B2 (en) Hotword recognition
KR101824158B1 (ko) 화자 검증을 위한 동적 임계치
Gałka et al. Playback attack detection for text-dependent speaker verification over telephone channels
WO2017114307A1 (zh) 能够防止录音攻击的声纹认证方法、服务器、终端及系统
US20070038460A1 (en) Method and system to improve speaker verification accuracy by detecting repeat imposters
US9767266B2 (en) Methods and systems for biometric-based user authentication by voice
US20230386506A1 (en) Self-supervised speech representations for fake audio detection
US11081115B2 (en) Speaker recognition
Ye et al. Detection of replay attack based on normalized constant q cepstral feature
Felker et al. Voice input for authentication

Legal Events

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