KR102363872B1 - 오디오 워터 마킹을 이용한 키 구문 검출 - Google Patents

오디오 워터 마킹을 이용한 키 구문 검출 Download PDF

Info

Publication number
KR102363872B1
KR102363872B1 KR1020197035499A KR20197035499A KR102363872B1 KR 102363872 B1 KR102363872 B1 KR 102363872B1 KR 1020197035499 A KR1020197035499 A KR 1020197035499A KR 20197035499 A KR20197035499 A KR 20197035499A KR 102363872 B1 KR102363872 B1 KR 102363872B1
Authority
KR
South Korea
Prior art keywords
data stream
audio data
watermark
audio
key phrase
Prior art date
Application number
KR1020197035499A
Other languages
English (en)
Other versions
KR20190141767A (ko
Inventor
리카르도 안토니오 가르시아
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Priority to KR1020227004628A priority Critical patent/KR102469262B1/ko
Publication of KR20190141767A publication Critical patent/KR20190141767A/ko
Application granted granted Critical
Publication of KR102363872B1 publication Critical patent/KR102363872B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • 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
    • 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
    • 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/165Management of the audio stream, e.g. setting of volume, audio stream path
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/233Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

방법들, 시스템들 및 장치들은 키 구문와 함께 오디오 워터 마크를 사용하기 위한 컴퓨터 저장 매체상에 인코딩된 컴퓨터 프로그램을 포함한다. 방법들 중 하나는 재생 디바이스에 의해, 오디오 데이터 스트림을 수신하는 단계와, 오디오 데이터 스트림이 재생 디바이스에 의해 출력되기 전에, 오디오 데이터 스트림의 일부가 자동 음성 인식기를 사용하여 그 부분을 분석함으로써 특정 키 구문을 인코딩하는지 여부를 결정하는 단계와, 오디오 데이터 스트림의 일부가 특정 키 구문을 인코딩한다는 결정에 응답하여, 오디오 워터 마크를 포함하도록 오디오 데이터 스트림을 수정하는 단계와, 출력을 위해 수정된 오디오 데이터 스트림을 제공하는 단계를 포함한다.

Description

오디오 워터 마킹을 이용한 키 구문 검출
자동 음성 인식은 다양한 상이한 디바이스에서 사용되는 하나의 기술이다. 이 기술의 한 가지 작업은 음성 커맨드를 사용하여 디바이스를 깨워서 그 디바이스와 기본적인 음성 상호 작용을 하는 것이다. 예를 들어, 디바이스는 디바이스가 슬립 상태에 있을 때 디바이스가 활성화되어야 한다고 시그널링하는 "핫 워드"를 인식하는 것이 바람직할 수 있다.
일부 구현들에서, 재생 디바이스는 핫 워드, 키 워드 또는 키 구문에 대한 오디오 스트림을 분석할 수 있다. 핫 워드, 키 워드 또는 키 구문이 검출되면, 재생 디바이스는 오디오 워터 마크를 오디오 스트림에 추가한다. 재생 디바이스에 의한 오디오 스트림의 프리젠테이션을 캡처하는 청취 디바이스는 오디오 워터 마크를 사용하여 핫 워드, 키 워드 또는 키 구문의 검출시 액션을 수행할지 여부를 결정한다. 청취 디바이스가 검출된 핫 워드, 키 워드 또는 키 구문이 오디오 스트림의 오디오 워터 마크와 관련되어 있다고 결정하는 경우, 청취 디바이스는 예를 들어, 검출된 핫 워드, 키 워드 또는 키 구문이 사전 레코딩된 발언이었으며 청취 디바이스 근처의 물리적 영역에 있는 사람이 발화하지 않았기 때문에, 그 검출된 핫 워드, 키 워드 또는 키 구문에 응답하여 어떠한 액션을 수행하지 않기로 결정한다. 청취 디바이스가 상기 검출된 핫 워드, 키 워드 또는 키 구문이 오디오 스트림의 오디오 워터 마크와 관련되지 않다고 결정하는 경우, 예를 들어, 그 검출된 핫 워드, 키 워드 또는 키 구문이 청취 디바이스 근처의 물리적 영역에 있는 사람에 의해 발화되었을 가능성이 있기 때문에 청취 디바이스는 대응하는 액션을 수행한다.
일반적으로, 본 명세서에 기술된 주제의 하나의 혁신적인 양태는 재생 디바이스에 의해, 오디오 데이터 스트림을 수신하는 단계와, 오디오 데이터 스트림이 재생 디바이스에 의해 출력되기 전에, 오디오 데이터 스트림의 일부가, 자동 음성 인식기를 사용하여 그 부분을 분석함으로써 특정 키 구문을 인코딩하는지 여부를 결정하는 단계와, 오디오 데이터 스트림의 일부가 특정 키 구문을 인코딩한다는 결정에 응답하여, 오디오 워터 마크를 포함하도록 오디오 데이터 스트림을 수정하는 단계와, 수정된 오디오 데이터 스트림을 출력을 위해 제공하는 단계의 액션을 포함하는 방법으로 구현될 수 있다. 일부 구현들에서, 재생 디바이스는, 특정 키 구문을 인코딩하지 않는 오디오 데이터 스트림의 일부에 기초하여 오디오 워터 마크를 포함하도록 오디오 데이터 스트림을 수정하는 것을 스킵(skip)하기로 결정하는 단계와, 특정 키 구문을 인코딩하지 않는 오디오 데이터 스트림의 일부에 기초하여 오디오 워터 마크를 포함하도록 오디오 데이터 스트림을 수정하는 것을 스킵하기로 결정한 후, 출력을 위해 오디오 데이터 스트림을 제공하는 단계에 의해, 오디오 데이터 스트림의 일부가 특정 키 구문을 인코딩하지 않는다는 결정에 응답할 수 있다. 이 양태의 다른 실시예는 각각이 방법의 액션들을 수행하도록 구성된 하나 이상의 컴퓨터 저장 디바이스에 기록된 대응하는 컴퓨터 시스템, 장치 및 컴퓨터 프로그램을 포함한다. 하나 이상의 컴퓨터로 구성된 시스템은 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 시스템에 설치하여 동작시 그 시스템으로 하여금 상기 액션들을 수행하게 함으로써 특정 동작들 또는 액션들을 수행하도록 구성될 수 있다. 하나 이상의 컴퓨터 프로그램은 데이터 처리 장치에 의해 실행될 때, 그 장치로 하여금 액션들을 수행하게 하는 명령들을 포함시킴으로써 특정 동작들 또는 액션들을 수행하도록 구성될 수 있다.
전술한 실시예 및 다른 실시예는 각각 다음 특징들 중 하나 이상을 단독으로 또는 조합하여 선택적으로 포함할 수 있다. 상기 오디오 워터 마크를 포함하도록 오디오 데이터 스트림을 수정하는 단계는 수신된 오디오 데이터 스트림이 특정 키 구문에 대한 워터 마크를 포함하는지 여부를 결정하는 단계와, 수신된 오디오 데이터 스트림이 특정 키 구문에 대한 워터 마크를 포함하지 않는다는 결정에 응답하여, 오디오 워터 마크를 포함하도록 오디오 데이터 스트림을 수정하는 단계를 포함할 수 있다. 상기 오디오 워터 마크를 포함하도록 오디오 데이터 스트림을 수정하는 단계는 수신된 오디오 데이터 스트림이 특정 키 구문에 대한 워터 마크를 포함하는지 여부를 결정하는 단계와, 수신된 오디오 데이터 스트림이 특정 키 구문에 대한 워터 마크를 포함한다는 결정에 응답하여, 그 워터 마크에 인코딩된 데이터를 분석함으로써 특정 데이터가 워터 마크에 인코딩되는지 여부를 결정하는 단계와, 특정 데이터가 워터 마크에 인코딩되지 않았다는 결정에 응답하여, 그 특정 데이터를 인코딩하는 오디오 워터 마크를 포함하도록 오디오 데이터 스트림을 수정하는 단계를 포함할 수 있다. 상기 특정 데이터를 인코딩하는 오디오 워터 마크를 포함하도록 오디오 데이터 스트림을 수정하는 단계는 특정 데이터를 인코딩하기 위해 상기 수신된 오디오 데이터 스트림으로부터 워터 마크를 수정하는 단계를 포함할 수 있다. 상기 특정 데이터는 특정 키 구문에 대한 데이터를 포함할 수 있다. 상기 특정 데이터는 오디오 데이터 스트림의 소스에 대한 데이터를 포함할 수 있다. 상기 특정 데이터는 오디오 데이터 스트림에 인코딩된 컨텐츠에 관한 데이터를 포함할 수 있다.
일부 구현들에서, 상기 방법은 오디오 데이터 스트림이 하나 이상의 컴퓨터에 의해 출력되기 전에, 오디오 데이터 스트림의 제 2 부분이, 자동 음성 인식기를 사용하여 그 제 2 부분을 분석함으로써 특정 키 구문의 발생을 인코딩하는지 여부를 결정하는 단계와, 오디오 데이터 스트림의 제 2 부분이 특정 키 구문을 인코딩한다는 결정에 응답하여, 수신된 오디오 데이터 스트림이 특정 키 구문의 발생에 대한 워터 마크를 포함하는지 여부를 결정하는 단계와, 수신된 오디오 데이터 스트림이 특정 키 구문의 발생에 대한 워터 마크를 포함한다는 결정에 응답하여, 그 워터 마크에 인코딩된 데이터를 분석함으로써 특정 데이터가 워터 마크에 인코딩되는지 여부를 결정하는 단계와, 특정 데이터가 워터 마크에 인코딩되지 않았다는 결정에 응답하여, 그 특정 데이터를 인코딩하는 오디오 워터 마크를 포함하도록 오디오 데이터 스트림을 수정하는 단계를 포함할 수 있다.
일부 구현들에서, 상기 방법은 오디오 데이터 스트림이 재생 디바이스에 의해 재생되기 전에, 오디오 데이터 스트림의 일부가, 자동 음성 인식기를 사용하여 그 일부를 분석함으로써 특정 키 구문을 인코딩하는지 여부를 결정하는 것과 동시에 오디오 데이터 스트림의 다른 부분을 수신하는 단계를 포함할 수 있다. 상기 특정 키 구문는 고정(fixed)될 수 있다. 상기 방법은 오디오 데이터 스트림이 재생 디바이스에 의해 재생되기 전에, 오디오 데이터 스트림의 일부가, 자동 음성 인식기를 사용하여 그 부분을 분석함으로써 특정 키 구문을 인코딩하는지 여부를 결정하기 전에 특정 키 구문을 정의하는 입력을 수신하는 단계를 포함할 수 있다. 상기 오디오 데이터 스트림을 수신하는 단계는 출력을 위해 상기 수정된 오디오 데이터 스트림의 일부를 제공하기 전에 마이크로폰 이외의 유선 또는 무선 입력 연결을 통해 오디오 데이터 스트림을 수신하는 단계를 포함할 수 있다.
일부 구현들에서, 상기 오디오 워터 마크를 포함하도록 오디오 데이터 스트림을 수정하는 단계는 오디오 데이터 스트림의 소스를 식별하는 오디오 워터 마크를 포함하도록 오디오 데이터 스트림을 수정하는 단계를 포함할 수 있다. 상기 오디오 워터 마크를 포함하도록 오디오 데이터 스트림을 수정하는 단계는 오디오 데이터 스트림의 일부에 특정 키 구문이 인코딩되도록 지정하는 데이터를 포함하는 오디오 워터 마크를 포함하도록 오디오 데이터 스트림을 수정하는 단계를 포함할 수 있다. 상기 오디오 워터 마크를 포함하도록 오디오 데이터 스트림을 수정하는 단계는 오디오 데이터 스트림의 일부에 키 구문이 인코딩되도록 지정하는 데이터를 포함하는 오디오 워터 마크를 포함하도록 오디오 데이터 스트림을 수정하는 단계를 포함할 수 있다.
본 명세서에 기술된 주제는 다양한 실시예에서 구현될 수 있고 다음의 장점들 중 하나 이상을 발생할 수 있다. 일부 구현들에서, 아래에 설명된 시스템 및 방법은 핫 워드, 키 워드 또는 키 구문을 포함하는 오디오 데이터 스트림에 오디오 워터 마크를 추가하여, 청취 디바이스가 핫 워드, 키 워드 또는 키 구문에 기초하여 액션을 수행할 가능성을 감소시킬 수있다. 예를 들어, 아래에 설명된 시스템 및 방법은 오디오 워터 마크를 사용하여, 청취 디바이스가 물리적으로 근처에 있는 사람(예를 들어, 발언이 원래 발화되었을 때 청취 디바이스와 동일한 방에 위치하는 사람)에 의해 발화된 발언에만 기초하여 트리거되어야 할 때 오디오 데이터 스트림에 포함된 컨텐츠에 기초하여, 청취 디바이스가 잘못(falsely) 트리거링되는 것(예를 들어 깨우거나 다른 액션을 수행하는 것)을 방지할 수 있다. 청취 디바이스가 잘못된 트리거링은 컴퓨팅 리소스(예를 들어, 대역폭, 처리 능력 등)가 불필요하게 소비된다. 이와 같이, 잘못된 트리거링의 발생을 감소시킴으로써, 컴퓨팅 리소스의 불필요한 소비가 또한 감소될 수 있다. 일부 구현들에서, 아래에 설명된 시스템 및 방법은 오디오 워터 마크를 오디오 데이터 스트림에 추가하여, 청취 디바이스가 사전 레코딩되고, 라이브 스트리밍되고, 재생 디바이스에 의해 합성적으로 생성되었는지 또는 이들 중 둘 이상의 조합에 관계없이 재생 디바이스에 의해 재생되는 발언에 기초하여 액션을 수행할 가능성을 감소시킬 수있다.
본 명세서에서 설명된 주제의 하나 이상의 구현의 세부 사항은 첨부 도면 및 이하의 설명에서 설명된다. 본 주제의 다른 특징, 양태 및 이점은 상세한 설명, 도면 및 청구 범위로부터 명백해질 것이다.
도 1은 재생 디바이스가 오디오 데이터 스트림을 분석하여 오디오 데이터 스트림의 일부가 핫 워드, 키 워드 또는 키 구문을 포함하는지 여부를 결정하는 예시적인 환경이다.
도 2는 키 구문 검출에 기초하여 오디오 데이터 스트림을 수정하기 위한 프로세스의 흐름도이다.
도 3은 본 문서에 기술된 컴퓨터 구현 방법과 관련하여 사용될 수 있는 컴퓨팅 시스템의 블록도이다.
다양한 도면에서 유사한 참조 번호 및 명칭은 유사한 요소를 나타낸다.
재생 디바이스는 오디오 데이터 스트림(예를 들어, 제 3 자 컨텐츠)을 수신하여, 키 구문에 대한 오디오 데이터 스트림을 분석할 수 있다. 재생 디바이스는 텍스트 검출기, 핫 워드 검출기 또는 둘 다를 사용하여 오디오 데이터 스트림을 분석할 수 있다. 그 분석에 기초하여, 재생 디바이스가 오디오 데이터 스트림이 핫 워드, 키 워드 또는 키 구문을 인코딩한다고 결정하는 경우, 재생 디바이스는 오디오 워터 마크를 오디오 데이터 스트림에 삽입한다. 오디오 워터 마크는 오디오 데이터 스트림에 인코딩된 초음파 신호일 수 있다. 이어서, 재생 디바이스는 예를 들어 스피커를 사용하여 수정된 오디오 데이터 스트림을 청각적으로 제시한다. 오디오 워터 마크는 수정된 오디오 데이터 스트림을 캡처하는 임의의 청취 디바이스에, 인코딩된 핫 워드(hotword), 키 워드(keyword) 또는 키 구문(key phrase)이 다른 디바이스에 의해 생성되고, 예를 들어 청취 디바이스를 포함하는 방에서 사람의 발화가 아님을 나타낼 수 있다.
일부 구현들에서, 재생 디바이스는 워터 마크 검출기를 포함할 수 있다. 재생 디바이스는 마크 검출기를 사용하여, 수신된 오디오 데이터 스트림이 워터 마크를 포함하는지 여부를 결정할 수 있다. 재생 디바이스가 오디오 데이터 스트림이 아직 워터 마크를 포함하지 않는 것으로 결정하면, 재생 디바이스는 오디오 워터 마크를 오디오 데이터 스트림에 삽입한다. 재생 디바이스가 수신된 오디오 데이터 스트림이 워터 마크를 포함한다고 결정하면, 재생 디바이스는 다른 워터 마크, 예를 들어 오디오 워터 마크를 추가할지 여부를 결정한다. 예를 들어, 재생 디바이스는 수신된 오디오 데이터 스트림에 포함된 워터 마크가 식별하는 것을 결정할 수 있다. 포함된 워터 마크가 핫 워드, 키 워드 또는 키 구문 이외의 것을 나타내는 경우, 재생 디바이스는 오디오 워터 마크를 오디오 데이터 스트림에 추가할 수 있다. 포함된 워터 마크가 재생 디바이스가 오디오 데이터 스트림을 분석하고 있는 핫 워드, 키 워드 또는 키 구문을 나타내는 경우, 재생 디바이스는 수신된 오디오 데이터 스트림에 다른 워터 마크를 추가하지 않기로 결정할 수 있다.
도 1은 재생 디바이스(102)가 오디오 데이터 스트림(114)을 분석하여 오디오 데이터 스트림(114)의 일부가 핫 워드, 키 워드 또는 키 구문을 포함하는지 여부를 결정하는 예시적인 환경(100)이다. 본 문서에서, "키 구문"이라는 용어는 일반적으로 키 구문 외에 "키 워드" 및 "핫 워드"를 모두 포함하는 것으로 이해된다. 키 구문의 일부 예는 웨이크-업 명령, 활성 커맨드, 또는 특정 액션을 수행하기 위한 커맨드(예를 들어, 전화 통화 개시 또는 애플리케이션 시작)를 포함한다.
재생 디바이스(102)로서 텔레비전은 영화에 대한 비디오 스트림을 수신할 수 있다. 텔레비전은 자동 음성 인식기(106)를 사용하여 비디오 스트림에 대한 오디오 데이터 스트림(114)을 분석하여 그 오디오 데이터 스트림(114)이 핫 워드를 인코딩하는지 여부를 결정할 수 있다. 텔레비전이 오디오에 인코딩된 핫 워드를 검출하는 경우, 텔레비전은 검출된 핫 워드와 연관된 오디오 워터 마크(118)를 오디오 데이터 스트림(116)에 인코딩한다. 청취 디바이스(124)로서 스마트 폰이 텔레비전 근처, 예를 들어 텔레비전과 동일한 방에 위치하는 동안, 스마트 폰은 영화에 대한 오디오를 포함하는 사운드를 분석하여 그 사운드가 스마트 폰으로 하여금 특정 액션을 수행하게 할 핫 워드의 발언인지 여부를 결정할 수 있다. 예를 들어, 청취 디바이스(124)는 핫 워드 검출시, 예를 들어 저전력 사용 상태에서 더 높은 전력 사용 상태로 가기 위해 슬립 상태로부터 깨어날 수 있다. 스마트 폰이 키 워드의 발언을 검출하는 경우, 스마트 폰은 그 발언이 오디오 워터 마크와 관련되는지 여부를 결정한다. 예를 들어, 스마트 폰이 영화에 대한 오디오 데이터 스트림(116)에서 핫 워드를 검출할 때, 스마트 폰은 또한 텔레비전이 오디오 데이터 스트림(116)에 추가한 오디오 워터 마크(118)를 검출하고, 그 핫 워드 및 오디오 워터 마크(118)둘 다의 검출에 기초하여, 슬립 상태를 유지하기로 결정하고, 핫 워드 및 대응하는 오디오 워터 마크 또는 둘 다의 검출과 관련된 다른 액션을 수행할 것이다. 다른 액션에는 오디오가 상기 검출을 로그(log)하는 것 또는 청취 디바이스의 화면에 제시된 URL을 로그하는 것 또는 둘 다와 같이 핫 워드에 대한 오디오 워터 마크를 포함하지 않은 경우와 상이한 모든 유형의 액션이 포함될 수 있다. 스마트 폰이 오디오 워터 마크와 관련이 없는 핫 워드의 발언(예를 들어, 사용자가 발화한 발언)을 감지하는 경우, 스마트 폰은 슬립 상태로부터 예를 들어, 더 높은 전원 모드로 깨어날 것이다.
재생 디바이스(102)는 분석을 위해 컨텐츠에 액세스하는 컨텐츠 검색 모듈(104)을 포함한다. 컨텐츠 검색 모듈(104)은 유선 입력, 무선 라디오, 라디오 수신기, 또는 컨텐츠 검색 모듈(104)이 오디오 데이터 스트림(114)에 액세스하기 위해 사용하는 메모리를 포함할 수 있다. 예를 들어, 컨텐츠 검색 모듈(104)이 유선 입력을 포함할 때, 컨텐츠 검색 모듈(104)은 케이블 텔레비전 연결 또는 와이어를 사용하여 재생 디바이스(102)에 연결된 다른 디바이스로부터 오디오 데이터 스트림(114)을 수신할 수 있다. 컨텐츠 검색 모듈(104)이 무선 라디오를 포함할 때, 컨텐츠 검색 모듈(104)은 예를 들어 네트워크를 통해 무선으로 재생 디바이스(102)에 연결되는 디바이스로부터 오디오 데이터 스트림(114)을 수신할 수 있다. 예를 들어, 컨텐츠 검색 모듈(104)은 다른 디바이스, 예를 들어 라이브 스트림, 합성적으로 생성된 스트림, 또는 둘 다로부터 오디오 스트림 또는 오디오 및 비디오 스트림으로서 오디오 데이터 스트림(114)을 수신할 수 있다. 컨텐츠 검색 모듈(104)이 라디오 수신기를 포함할 때, 컨텐츠 검색 모듈(104)은 라디오 브로드 캐스트, 예를 들어, 진폭 변조(AM) 또는 주파수 변조(FM) 라디오 브로드 캐스트의 일부로서 오디오 데이터 스트림(114)을 수신할 수 있다. 컨텐츠 검색 모듈(104)이 메모리를 포함할 때, 컨텐츠 검색 모듈(104)은 메모리에 저장된 오디오 파일 또는 오디오 및 비디오 파일, 예를 들어, 메모리에 저장된 미리 레코딩된 오디오 또는 비디오 파일의 일부로서 오디오 데이터 스트림(114)에 액세스할 수 있다. 메모리는 재생 디바이스(102), 예를 들어 하드 디스크 드라이브 또는 플래시 드라이브에 통합될 수 있거나, 착탈식 저장 유닛, 예를 들어 범용 직렬 버스 플래시 드라이브 또는 콤팩트 디스크 또는 디지털 다용도 디스크일 수 있다.
컨텐츠 검색 모듈(104)은 오디오 데이터 스트림(114)의 적어도 일부를 자동 음성 인식기(ASR)(106)에 제공한다. 자동 음성 인식기(106)는 예를 들어 소프트웨어일 때 프로그래밍되거나, 예를 들어 하드웨어일 때 설계되거나 둘 다일 수 있어, 오디오 데이터 스트림에 인코딩된 단어 또는 구문을 검출할 수 있다. 자동 음성 인식기(106)는 특정 언어의 모든 단어의 발생을 검출할 수 있게 되지 않고도 특정 언어의 특정 키 구문들을 검출할 수 있다.
일부 예들에서, 재생 디바이스(102)는 하나 이상의 핫 워드를 검출하지만 자동 음성 인식기(106) 대신 또는 그에 부가하여 특정 언어로 된 모든 단어를 검출할 수는 없는 자동 핫 워드 검출 모듈을 사용할 수 있다. 자동 음성 인식기(106), 자동 핫 워드 검출 모듈 또는 둘 다는 예를 들어 관리자에 의해 특정 핫 워드에 대해 사전 프로그래밍될 수 있다. 핫 워드는 다수의 단어를 포함하는 개별 단어 또는 구문을 포함할 수 있다.
일부 예들에서, 자동 음성 인식기(106)는 재생 디바이스(102)는 오디오 데이터 스트림을 분석하는 특정 핫 워드, 키 워드, 키 구문 또는 이들 중 둘 이상의 조합에 더하여 오디오 데이터 스트림에 인코딩된 다수의 상이한 단어의 발생을 검출할 수 있다. 예를 들어, 자동 음성 인식기(106)는 핫 워드, 키 워드 또는 키 구문을 포함하여 특정 언어의 단어를 검출하도록 트레이닝될 수 있다.
자동 음성 인식기(106)는 오디오 데이터 스트림(114)의 적어도 일부를 수신하기 전에, 자동 음성 인식기(106)가 오디오 데이터 스트림(114)을 분석하는 핫 워드, 키 워드 또는 키 구문을 식별하는 입력을 수신할 수 있다. 예를 들어, 재생 디바이스(102)는 자동 음성 인식기(106)가 오디오 데이터 스트림을 분석할 키 구문을 식별하는 사용자 입력을 수신할 수 있다. 일부 예들에서, 재생 디바이스(102)는 자동 음성 인식기(106)가 오디오 데이터 스트림을 분석할 키 구문을 식별하는 다른 디바이스, 예를 들어 스마트 폰으로부터 입력을 수신할 수 있다.
자동 음성 인식기(106)는 오디오 데이터 스트림(114)의 적어도 일부를 분석하여, 오디오 데이터 스트림(114)의 일부가 자동 음성 인식기(106)가 감지하도록 구성된 핫 워드, 키 워드 또는 키 구문을 인코딩하는지 여부를 결정한다. 예를 들어, 컨텐츠 검색 모듈(104)이 오디오 데이터 스트림(114)의 일부를 수신하여 그 오디오 데이터 스트림(114)의 일부를 자동 음성 인식기(106)로 제공함에 따라, 자동 음성 인식기(106)는 자동 음성 인식기(106)가 검출하도록 구성된 핫 워드, 키 워드 또는 키 구문의 인코딩된 발생(occurences)에 대해 오디오 데이터 스트림(114)의 일부를 분석한다. 컨텐츠 검색 모듈(104)은 자동 음성 인식기(106)가 오디오 데이터 스트림(114)의 일부가 핫 워드, 키 워드 또는 키 구문을 인코딩하는지 여부를 결정하는 동안 오디오 데이터 스트림(114)의 추가 부분을 계속 수신할 수 있다.
자동 음성 인식기(106)가 오디오 데이터 스트림(114)의 일부에서 핫 워드, 키 워드 또는 키 구문의 발생을 검출하는 경우, 자동 음성 인식기(106)는 워터 마크 인코딩 모듈(108)로 메시지를 제공한다. 이 메시지는 검출된 핫 워드, 키 워드 또는 키 구문을 인코딩하는 오디오 데이터 스트림의 부분을 식별할 수 있다.
메시지의 수신에 응답하여, 워터 마크 인코딩 모듈(108)은 오디오 워터 마크(118)를 오디오 데이터 스트림(114)에 삽입하여, 수정된 오디오 데이터 스트림(116)을 생성한다. 메시지가 핫 워드, 키 워드 또는 키 구문을 인코딩하는 오디오 데이터 스트림(114)의 제 1 부분(120)을 식별하는 경우, 워터 마크 인코딩 모듈(108)은 오디오 워터 마크(118)를 제 1 부분(120)과 관련된 오디오 데이터 스트림(114)의 제 2 부분(122)에 삽입할 수 있다. 제 2 부분(122)은 예를 들어 도 1에 도시된 바와 같이 제 1 부분(120)의 서브-부분일 수 있다. 제 2 부분(122)은 제 1 부분(120)과 오버랩될 수 있는데, 예를 들어, 제 2 부분(122)은 제 1 부분(120)의 시작 및 그 이전, 제 1 부분(120)의 종료 및 그 이후 또는 둘 다의 오디오 데이터 스트림(114)로부터의 데이터를 포함할 수 있다. 제 2 부분(122)은 제 1 부분(120)의 시작 전에 오디오 데이터 스트림(114)에 포함될 수 있다. 제 2 부분(122)은 두 부분 사이에 갭없이 제 1 부분(120)에 인접할 수 있다. 제 2 부분(122)은 제 1 부분(120)과 오버랩되지 않을 수 있다. 일부 구현들에서, 제 2 부분(122)은 제 1 부분(120) 뒤(after)에 있을 수 있다.
워터 마크 인코딩 모듈(108)은 수정된 오디오 데이터 스트림(116)에 오디오 워터 마크의 단일 인스턴스를 포함할 수 있다. 워터 마크 인코딩 모듈(108)은 수정된 오디오 데이터 스트림(116)에 다수의 오디오 워터 마크를 포함할 수 있다. 다수의 오디오 워터 마크 각각은 동일한 데이터를 인코딩할 수 있다. 일부 예들에서, 다수의 오디오 워터 마크들 중 일부는 상이한 데이터를 인코딩할 수 있다.
일부 구현들에서, 재생 디바이스(102)는 오디오 워터 마크(118)에 추가 데이터를 인코딩할 수 있다. 추가 데이터는 재상 디바이스의 유형(예를 들어 텔레비전, 스테레오 수신기 또는 컴퓨터), 타임 스탬프(예를 들어, 재생 디바이스(102)가 오디오 워터 마크를 오디오 데이터 스트림에 삽입했을 때 또는 재생 디바이스(102)가 오디오 데이터 스트림(114)을 수신했을 때의 타임 스탬프), 또는 오디오 데이터 스트림(114)의 소스(예를 들어, 텔레비전 방송국, 라디오 방송국, 영화 이름 또는 팟 캐스트 이름)를 나타낼 수 있다. 청취 디바이스(124)는 수행할 액션을 결정할 때 추가 데이터를 사용할 수 있다.
오디오 워터 마크는 오디오 데이터 스트림의 소스를 식별할 수 있다. 예를 들어, 오디오 워터 마크는 재생 디바이스(102)가 컨텐츠 제공자, 예를 들어 특정 라디오 방송국, 텔레비전 방송국, 케이블 제공자 또는 다른 특정 컨텐츠 제공자로부터 오디오 데이터 스트림을 수신했음을 나타낼 수 있다.
오디오 워터 마크는 오디오 데이터 스트림(114)에 인코딩된 특정 핫 워드, 키 워드 또는 키 구문을 식별할 수 있다. 예를 들어, 오디오 워터 마크는 핫 워드, 키 워드 또는 키 구문에 대한 식별자를 포함할 수 있다. 식별자는 임의의 적절한 유형의 식별자일 수 있다. 식별자는 핫 워드, 키 워드 또는 키 구문에 대응하는 숫자 값일 수 있다. 식별자는 핫 워드, 키 워드 또는 키 구문, 예를 들어 대응하는 핫 워드, 키 워드 또는 키 구문의 텍스트에 대응하는 영숫자 값일 수 있다.
일부 구현들에서, 오디오 워터 마크는 핫 워드, 키 워드 또는 키 구문이 오디오 데이터 스트림(114)에 인코딩되었음을 지정(specify)하는 데이터를 포함할 수 있다. 예를 들어, 데이터는 일반적으로 특정 인코딩된 핫 워드, 키 워드 또는 키 구문을 식별하지 않고 핫 워드, 키 워드 또는 키 구문이 오디오 데이터 스트림(114)에 인코딩되었음을 지정할 수 있다.
워터 마크 인코딩 모듈(108)이 오디오 워터 마크(118)를 오디오 데이터 스트림(114)에 삽입한 후, 재생 디바이스(102)는 출력을 위해 그 수정된 오디오 데이터 스트림(116)을 제공할 수 있다. 예를 들어, 재생 디바이스(102)는 하나 이상의 출력 디바이스, 예를 들어, 오디오 데이터 스트림(114)이 비디오 파일의 일부일 경우 디스플레이(110), 스피커 또는 둘 다를 사용하여 상기 수정된 오디오 데이터 스트림(116)을 제시할 수 있다. 예를 들어, 재생 디바이스(102)는 수정된 오디오 데이터 스트림(116)을 스피커(112)에 제공하여 그 스피커(112)로 하여금 수정된 오디오 데이터 스트림(116)을 제시하게 할 수 있다. 재생 디바이스(102)는 프리젠테이션을 위해 대응하는 비디오 스트림을 디스플레이(110)에 제공할 수 있다.
스피커(112)는 재생 디바이스(102)에 통합되거나 재생 디바이스(102)의 외부에 있을 수 있고 재생 디바이스(102)에 연결될 수 있다. 예를 들어, 스피커(112)는 재생 디바이스(102)의 일부일 수 있다. 일부 예에서, 스피커(112)는 무선 연결, 예를 들어 블루투스 또는 다른 무선 네트워크 연결을 사용하여 재생 디바이스(102)에 연결될 수 있다. 스피커(112)는 하나 이상의 와이어를 사용하여, 예를 들어 스테레오 수신기 또는 다른 디바이스를 선택적으로 사용하여 재생 디바이스(102)에 연결될 수 있다. 일부 구현들에서, 스피커(112)는 디지털 오디오 및 비디오 연결을 사용하여 재생 디바이스(102)에 연결될 수 있다. 예를 들어, 재생 디바이스(102)는 스피커커(112)를 포함하는 텔레비전 또는 수신기에 연결된 범용 직렬 버스 디바이스일 수 있다.
재생 디바이스(102)는 비디오 스트림의 프리젠테이션을 상기 수정된 오디오 데이터 스트림(116)과 동기화할 수 있다. 예를 들어, 재생 디바이스(102)는 디스플레이(110)가 비디오 스트림의 대응하는 비디오 부분을 동시에 제시하는 동안 스피커(112)가 수정된 오디오 데이터 스트림(116)을 제시하도록 보장할 수 있다. 재생 디바이스(102)는 임의의 적절한 방법을 사용하여 오디오 워터 마크(118)를 수정된 오디오 데이터 스트림(116)에 통합하거나, 수정된 오디오 데이터 스트림(116)과 대응하는 비디오 스트림의 프리젠테이션을 동기화하거나 둘 다를 수행할 수 있다.
자동 음성 인식기(106)가 오디오 데이터 스트림(114)의 일부가 자동 음성 인식기(106)가 검출하도록 구성된 핫 워드, 키 워드 또는 키 구문을 인코딩하지 않는다고 결정하는 경우, 자동 음성 인식기(106)는 워터 마크 인코딩 모듈(108)에 오디오 데이터 스트림(114)의 일부에 관한 메시지를 제공하지 않기로 결정한다. 일부 예들에서, 자동 음성 인식기(106)는 재생 디바이스(102)가 수정없이 출력하기 위해 오디오 데이터 스트림(114)을 제공해야한다고 결정한다. 워터 마크 인코딩 모듈(108)에 메시지를 제공하지 않는 것은 예를 들어, 오디오 데이터 스트림 (114)의 일부가 핫 워드, 키 워드 또는 키 구문을 인코딩하는 다른 부분에 인접하지 않은 경우, 재생 디바이스(102)가 수정없이 출력하기 위해 오디오 데이터 스트림(114)의 일부를 제공할 수 있게 한다.
청취 디바이스(124)는 오디오 데이터 스트림(114), 수정된 오디오 데이터 스트림(116), 또는 둘 모두의 제시된 부분을 캡처할 수 있다. 예를 들어, 청취 디바이스(124)는 재생 디바이스(102)에 포함된 스피커(112)에 의해 오디오 데이터 스트림의 프리젠테이션을 캡처하는 마이크로폰(126)을 포함할 수 있다.
청취 디바이스(124)는 캡처된 오디오 데이터 스트림의 일부를 키 구문 검출 모듈(128)로 제공한다. 키 구문 검출 모듈(128)은 자동 음성 인식기일 수 있다. 키 구문 검출 모듈(128)은 예를 들어, 몇몇 특정 핫 워드만을 검출하도록 프로그래밍된 자동 핫 워드 검출 모듈일 수 있다. 일부 예들에서, 키 구문 검출 모듈(128)은 다수의 상이한 키 구문을 검출하도록 프로그래밍될 수 있다.
키 구문 검출 모듈(128)은 캡처된 오디오 데이터 스트림의 일부를 분석하여, 그 캡처된 오디오 데이터 스트림의 일부가 키 구문 검출 모듈(128)이 검출하도록 구성된 핫 워드, 키 워드 또는 키 구문을 인코딩하는지 여부를 결정한다. 키 구문 검출 모듈(128)이 상기 캡쳐된 오디오 데이터 스트림의 일부가 키 구문 검출 모듈(128)이 검출하도록 구성된 핫 워드, 키 워드 또는 키 구문을 인코딩하지 않는다고 결정하는 경우, 키 구문 검출 모듈(128)은 캡처된 오디오 데이터 스트림의 일부에 대한 분석을 중지할 수 있고, 청취 디바이스(124)는 그 캡처된 오디오 데이터 스트림의 일부에 기초하여 액션을 수행하지 않아야 한다고 결정할 수 있거나 둘 다를 할 수 있다. 예를 들어, 청취 디바이스(124)는 캡처된 오디오 데이터 스트림의 일부가 예를 들어, 임의의 핫 워드, 키 워드 또는 키 문구를 인코딩하지 않거나, 키 구문 검출 모듈(128)이 검출하도록 구성되지 않은 핫 워드, 키 워드 또는 키 구문을 인코딩거나 둘 다인 오디오 데이터 스트림(114)의 미수정된 부분일 수 있기 때문에 캡처된 오디오 데이터 스트림의 일부에 기초하여 액션을 수행하지 않기로 결정할 수 있다. 일부 예들에서, 액션을 수행하지 않기로 결정하는 것은 예를 들어, 키 구문의 검출에 기초하여 슬립 상태를 유지하기로, 예를 들어 슬립 상태를 종료하지 않기로 결정하는 것을 포함할 수 있다.
검출된 키 구문에 응답하여 액션을 수행하지 않기로 결정하는 것은 청취 디바이스(124)가 계산 리소스, 예를 들어 배터리, 프로세서 사이클, 메모리 또는 이들 중 둘 이상의 조합을 저장할 수 있게 한다. 예를 들어, 청취 디바이스(124)가 검출된 키 구문에 응답하여 깨어나거나 액션을 수행한다면, 청취 디바이스(124)는 하나 이상의 계산 리소스를 소비하는 추가 소프트웨어 애플리케이션, 하드웨어 기능 또는 둘 다를 활성화할 수 있다. 활성 모드(awake mode)에서, 청취 디바이스(124)는 검출된 키 구문들 이후에 말한 추가 키 구문을 청취하는 프로세스를 트리거하여, 이들 추가 키 구문을 분석하여 이들이 청취 디바이스(124)에 대한 커맨드를 포함하는지 여부를 결정할 수 있다. 액션을 수행하지 않음으로써, 예를 들어, 키 구문 및 오디오 워터 마크 모두 검출시 슬립 상태를 유지하고 잘못된 트리거링을 하지 않음으로써, 청취 디바이스(124)는 하나 이상의 계산 리소스를 보존할 수 있다.
키 구문 검출 모듈(128)이 캡처된 오디오 데이터 스트림의 일부가 키 구문 검출 모듈(128)이 검출하도록 구성된 핫 워드, 키 워드 또는 키 구문을 인코딩한다고 결정할 때, 청취 디바이스(124)는 캡처된 오디오 데이터 스트림의 일부를 워터 마크 검출 모듈(130)로 제공한다. 키 구문 검출 모듈(128)은 워터 마크 검출 모듈(130)이 상기 캡처된 오디오 데이터 스트림을 분석해야 한다는 것을 나타내는 메시지를 워터 마크 검출 모듈(130)에 제공할 수 있다. 일부 예들에서, 키 구문 검출 모듈(128)은 청취 디바이스(124)의 다른 컴포넌트로 메시지를 제공할 수 있고, 다른 컴포넌트는 캡처된 오디오 데이터 스트림에 대한 워터 마크 검출 모듈(130) 분석을 트리거할 수 있다.
메시지의 수신 또는 다른 컴포너트에 의한 트리거링에 응답하여, 워터 마크 검출 모듈(130)은 캡처된 오디오 데이터 스트림의 일부를 수신한다. 워터 마크 검출 모듈(130)은 키 구문 검출 모듈(128)이 핫 워드, 키 워드, 또는 키 구문 검출 모듈(128)이 검출하도록 구성된 키 구문을 포함한다고 결정한 부분을 수신할 수 있다. 일부 예에서, 워터 마크 검출 모듈(130)은 캡처된 오디오 데이터 스트림의 다른 부분, 예를 들어 키 구문 검출 모듈(128)이 핫 워드, 키 워드, 키 구문을 포함한다고 결정한 부분에 근접하거나, 인접하거나, 또는 중첩되는 오디오 데이터 스트림에 포함된 다른 부분을 수신할 수 있다.
워터 마크 검출 모듈(130)은 캡쳐된 오디오 데이터 스트림을 분석하여, 그 캡쳐된 오디오 데이터 스트림이 캡쳐된 오디오 데이터 스트림에서 검출된 키 구문 검출 모듈(128)의 핫 워드, 키 워드 또는 키 구문에 대한 오디오 워터 마크를 포함하는지 여부를 결정한다. 캡처된 오디오 데이터 스트림이 핫 워드, 키 워드 또는 키 구문에 대한 오디오 워터 마크를 포함한다고 워터 마크 검출 모듈(130)가 결정하는 경우, 청취 디바이스(124)는 핫 워드, 키 워드 또는 키 구문에 기초하여 액션을 수행하지 않기로 결정한다. 예를 들어, 청취 디바이스(124)는 저전력 사용 상태에서 고전력 사용 상태 또는 둘 다로 변경하지 않기 위해 슬립 상태로 유지하기로 결정할 수 있다. 일부 예에서, 워터 마크 검출 모듈(130)이 핫 워드, 키 워드 또는 키 구문에 대한 오디오 워터 마크를 검출하는 경우, 워터 마크 검출 모듈(130)은 오디오 워터 마크의 검출을 나타내는 메시지를 청취 디바이스(124)로 제공할 수 있다. 청취 디바이스(124)는 워터 마크 검출 모듈(130)로부터의 메시지를 사용하여, 예를 들어 핫 워드, 키 워드 또는 키 구문의 검출을 나타내는 키 구문 검출 모듈(128)로부터 수신된 메시지와 관련하여 액션을 수행하지 않기로 결정할 수 있다. 청취 디바이스(124)는 워터 마크 검출 모듈(130)로부터의 메시지를 사용하여, 검출된 핫 워드, 키 워드 또는 키 구문이 청취 디바이스 근처의 물리적 영역에 있는 사람에 의해 발화되지 않았을 가능성이 있어, 검출된 핫 워드, 키 워드 또는 키 구문에 특정된 액션을 수행하지 않는 것으로 결정할 수 있다.
일부 구현들에서, 청취 디바이스(124)는 키 구문 및 대응하는 오디오 워터 마크 둘 다의 검출에 기초하여 액션을 수행할 수 있다. 이 액션은 오디오 워터 마크에 특정되거나 또는 키 구문과 오디오 워터 마크의 조합에 특정될 수 있지만 키 구문에만 한정되지는 않는다. 예를 들어, 청취 디바이스(124)는 수정된 오디오 데이터 스트림(116)에서 오디오 워터 마크(118)의 검출에 기초하거나 수정된 오디오 데이터 스트림(116)에서 오디오 워터 마크(118) 및 키 구문 모두의 검출에 기초하여 데이터를 기록(log)하도록 결정할 수 있다. 청취 디바이스(124)는 워터 마크(118)의 실제 컨텐츠를 사용하여 액션을 결정할 수 있는데, 예를 들어, 향후 사용을 위해 컨텐츠의 발신 소스, 오디오 워터 마크(118) 또는 둘 다와 같은 오디오 워터 마크로부터의 정보를 저장할 수 있다.
워터 마크 검출 모듈(130)이 핫 워드, 키 워드 또는 키 구문에 대한 오디오 워터 마크를 검출하지 않는 경우, 청취 디바이스(124)는 검출된 핫 워드, 키 워드 또는 키 구문에 대한 액션을 수행할 수 있다. 액션은 청취 디바이스(124)의 활성화, 저전력 사용 상태에서 고전력 사용 상태로의 변경, 또는 검출된 핫 워드, 키 워드 또는 키 구문에 특정된 다른 액션일 수 있다.
예를 들어, 청취 디바이스(124)는 키 구문 검출 모듈(128)이 마이크로폰(126)에 의해 캡처된 오디오 데이터 스트림에 인코딩된 핫 워드, 키 워드 또는 키 구문을 검출했음을 나타내는 메시지를 키 구문 검출 모듈(128)로부터 수신할 수 있다. 청취 디바이스(124)는 워터 마크 검출 모듈(130)로 하여금 검출된 핫 워드, 키 워드 또는 키 구문에 대한 오디오 워터 마크에 대한 오디오 데이터 스트림을 분석하게 하는 활성화 메시지를 워터 마크 검출 모듈(130)에 전송할 수 있다. 워터 마크 검출 모듈(130)이 핫 워드, 키 워드 또는 키 구문에 대한 오디오 워터 마크를 검출하지 않는 경우, 워터 마크 검출 모듈(130)은 오디오 워터 마크의 비-검출을 나타내는 메시지를 청취 디바이스(124)로 전송할 수 있다. 청취 디바이스(124)는 키 구문 검출 모듈(128) 및 워터 마크 검출 모듈(130)로부터의 두 메시지를 사용하여, 청취 디바이스 근처의 물리적 영역에 있는 사람이 검출된 핫 워드, 키 워드 또는 키 구문을 발화했을 가능성이 있는지 결정하고, 그 검출된 핫 워드, 키 워드 또는 키 구문에 대응하는 액션을 수행할 수 있다.
일부 구현들에서, 재생 디바이스(102)는 워터 마크 검출 모듈을 포함할 수 있다. 재생 디바이스(102)는 워터 마크 검출 모듈을 사용하여, 오디오 데이터 스트림(114)에서 핫 워드, 키 워드 또는 키 구문의 검출시에 오디오 워터 마크를 오디오 데이터 스트림(114)에 추가할지 여부를 결정할 수 있다. 예를 들어, 자동 음성 인식기(106)가 오디오 데이터 스트림(114)의 일부에서 핫 워드, 키 워드 또는 키 구문의 발생을 검출하는 경우, 자동 음성 인식기(106) 또는 재생 디바이스(102)는 워터 마크 검출 모듈에 메시지를 제공한다. 워터 마크 검출 모듈은 메시지를 사용하여, 분석할 오디오 데이터 스트림(114)의 일부를 결정한다. 워터 마크 검출 모듈은 오디오 데이터 스트림(114)의 결정된 부분을 분석하여, 그 결정된 부분이 워터 마크, 예를 들어 오디오 워터 마크, 비디오 워터 마크 또는 둘 모두를 포함하는지 여부를 결정한다. 오디오 데이터 스트림(114)이 워터 마크를 포함하지 않는다고 워터 마크 검출 모듈이 결정하는 경우, 전술한 바와같이 진행하여 예를 들어 워터 마크 인코딩 모듈(108)이 오디오 워터 마크(118)를 오디오 데이터 스트림에 삽입하여 수정된 오디오 데이터 스트림(116)을 생성한다.
오디오 데이터 스트림(114)이 워터 마크를 포함한다고 워터 마크 검출 모듈이 결정하면, 워터 마크 검출 모듈은 검출된 키 구문에 대한 오디오 워터 마크가 오디오 데이터 스트림(114)에 추가되어야 하는지 여부를 결정한다. 예를 들어, 워터 마크 검출 모듈은 검출된 워터 마크가 검출된 키 워드에 대응하는지 여부, 예를 들어, 검출된 워터 마크가 검출된 키 구문을 식별하는 데이터를 포함하는지의 여부, 검출된 워터 마크에 대한 위치가 오디오 데이터 스트림(114)에서 검출된 키 구문에 대한 위치에 대응하는지 여부 또는 둘 다인지 여부를 결정한다. 검출된 워터 마크에 대한 제 1 위치는 그 제 1 위치가 제 2 위치로부터 임계 거리(예를 들어, 시간적으로) 내에 있을 때 상기 검출된 키 구문에 대한 제 2 위치에 대응할 수 있다.
검출된 워터 마크가 검출된 키 구문에 대응하지 않는다고 워터 마크 검출 모듈이 결정하는 경우, 재생 디바이스(102)는 워터 마크 인코딩 모듈(108)로 하여금 오디오 워터 마크, 예를 들어 오디오 워터 마크(118)를 오디오 데이터 스트림(114)에 추가하여 상기 수정된 오디오 데이터 스트림(116)을 생성하게 한다. 예를 들어, 워터 마크 검출 모듈은 제 1 위치가 제 2 위치로부터의 임계 거리 내에 있지 않다고 결정하고, 이에 응답하여 워터 마크 인코딩 모듈(108)은 오디오 워터 마크(118)를 오디오 데이터 스트림(114)에 추가한다.
워터 마크 검출 모듈이 검출된 워터 마크가 검출된 키 구문에 대응하지만 키 구문에 대한 특정 데이터, 예를 들어 오디오 데이터 스트림의 소스를 포함하지 않는다고 결정하는 경우, 재생 디바이스(102)는 워터 마크 인코딩 모듈(108)로 하여금 오디오 워터 마크를 추가하게 할 수 있다. 예를 들어, 워터 마크 검출 모듈은 워터 마크가 상기 검출된 키 구문에 대한 텍스트를 식별하고, 오디오 데이터 스트림(114)에서 상기 검출된 키 구문의 위치에 있거나 또는 둘 모두에 해당하지만, 오디오 데이터 스트림의 소스의 이름은 포함하지 않는다고 결정할 수 있다. 이에 응답하여, 워터 마크 검출 모듈은 재생 디바이스(102)가 소스의 이름을 갖는 오디오 워터 마크(118)를 오디오 데이터 스트림(114)에 삽입해야한다고 결정할 수 있다.
워터 마크 검출 모듈이 재생 디바이스(102)가 오디오 워터 마크를 오디오 데이터 스트림(114)에 삽입하지 않아야한다고 결정하는 경우, 재생 디바이스(102)는 검출된 키 구문에 관한 메시지를 워터 마크 인코딩 모듈(108)에 전송하지 않기로 결정한다. 예를 들어, 재생 디바이스(102)는 예를 들어 검출된 키 구문에 기초하여 추가의 액션을 취하지 않고, 스피커(112)를 통해 출력하기 위해 상기 검출된 키 구문을 인코딩하는 오디오 데이터 스트림(114)의 일부를 제공하기로 결정한다.
재생 디바이스(102)는 예를 들어, 메모리 또는 다른 디바이스로부터 오디오 데이터 스트림(114)을 수신하고, 예를 들어 스피커(112)를 사용하여 오디오 데이터 스트림(114)의 적어도 일부를 청각적으로 제시하는 임의의 적절한 유형의 디바이스 일 수 있다. 재생 디바이스(102)의 일부 예는 텔레비전, 테이블 어시스턴트, 스마트 스피커, 스마트 워치, 스테레오 수신기(예를 들어, 자동차 또는 가정용 스테레오), 개인용 컴퓨터 또는 이동 통신 디바이스(예를 들어, 스마트 폰)를 포함할 수 있다. 일부 예들에서, 재생 디바이스(102)는 서버일 수 있다. 일부 구현들에서, 재생 디바이스(102)는 오디오 데이터 스트림(114)을 요청한 웹 브라우저를 사용하여 오디오 데이터 스트림(114)을 수신할 수 있다. 청취 디바이스(124)의 일부 예는 예를 들어 마이크로폰(126)을 사용하여 재생 디바이스(102)에 의해 제시된 오디오 데이터를 캡처할 수 있는 개인용 컴퓨터, 이동 통신 디바이스, 개인 보안 시스템, 사물 인터넷 디바이스 및 다른 디바이스를 포함할 수 있다.
도 2는 키 구문 검출에 기초하여 오디오 데이터 스트림을 수정하기 위한 프로세스(200)의 흐름도이다. 예를 들어, 프로세스(200)는 환경(100)으로부터 재생 디바이스(102)에 의해 사용될 수 있다.
재생 디바이스는 특정 핫 워드, 키 워드 또는 키 구문(202)를 정의하는 입력을 수신한다. 예를 들어, 재생 디바이스는 특정 핫 워드, 키 워드 또는 키 구문을 정의하는 사용자 입력을 수신할 수 있다. 사용자 입력은 예를 들어 마이크로폰을 통해 수신된 음성 입력일 수 있다. 사용자 입력은 예를 들어 키보드 또는 리모콘 제어를 통해 수신된 텍스트 입력일 수 있다. 일부 구현들에서, 특정 핫 워드, 키 워드 또는 키 구문은 관리자에 의해 정의될 수 있으며, 예를 들어 자동 음성 인식기 또는 재생 디바이스에 포함된 자동 핫 워드 검출 모듈을 구성할 수 있다.
일부 구현들에서, 재생 디바이스는 다른 디바이스로부터 입력을 수신할 수 있다. 예를 들어, 재생 디바이스는 핫 워드, 예를 들어 청취 디바이스(124)를 인코딩하는 오디오 신호의 수신에 응답하여 활성화되는 디바이스로부터 입력을 수신할 수 있다. 재생 디바이스는 다른 디바이스로부터 입력을 수신하여, 재생 디바이스가 오디오 데이터 스트림에서 검출시, 오디오 워터 마크를 오디오 데이터 스트림에 추가하기 위해 어떤 핫 워드, 키 워드 또는 키 구문을 동적으로 결정할 수 있게 한다.
일부 구현들에서, 특정 핫 워드, 키 워드 또는 키 구문은 고정될 수 있다. 예를 들어, 재생 디바이스는 하나 이상의 사전 결정된 핫 워드, 키 워드 또는 키 구문에 대한 데이터를 가질 수 있다. 사전 결정된 핫 워드, 키 워드 또는 키 구문은 특정 청취 디바이스 또는 예를 들어, 모두 동일한 운영 체제를 갖는 특정 유형의 청취 디바이스에 특정적일 수 있다. 고정된 핫 워드, 키 워드 또는 키 구문의 사용은 재생 디바이스가 그 재생 디바이스에 의해 출력된 오디오 데이터 스트림을 수신하는 특정 청취 디바이스에 대해 재생 디바이스가 커스터마이즈되지 않는 인스턴스에서 재생 디바이스가 그 구문들에 대한 오디오 워터 마크를 추가할 수 있게 한다. 예를 들어, 재생 디바이스가 다른 유형의 청취 디바이스의 그룹, 예를 들어, 다른 운영 체제의 그룹에 특정된 핫 워드, 키 워드 또는 키 구문에 대한 오디오 워터 마크를 오디오 데이터 스트림에 추가하는 경우, 재생 디바이스는 오디오 데이터 스트림 내의 핫 워드, 키 워드 또는 키 구문의 인코딩에 기초하여 청취 디바이스가 잘못 트리거될 가능성을 감소시킬 수 있다.
일부 예들에서, 재생 디바이스는 다수의 소스로부터 키 구문을 정의하는 입력을 수신할 수 있다. 예를 들어, 재생 디바이스는 제 1 사용자로부터 제 1 핫 워드를 정의하는 사용자 입력 및 예를 들어 제 2 사용자에 의해 조작되는 청취 디바이스로부터 제 2 핫 워드 또는 키 구문을 정의하는 제 2 입력을 수신할 수 있다. 재생 디바이스는 제 1 핫 워드 및 제 2 핫 워드 모두에 대한 데이터를 사용하여 오디오 데이터 스트림을 분석하여, 오디오 워터 마크를 오디오 데이터 스트림에 추가할지 여부를 결정할 수 있다.
재생 디바이스는 오디오 데이터 스트림을 수신한다(204). 예를 들어, 재생 디바이스는 컨텐츠 제공자로부터 오디오 데이터 스트림을 수신한다. 컨텐츠 제공자는 임의의 적절한 유형의 컨텐츠 제공자일 수 있다. 컨텐츠 제공자의 일부 예는 스트리밍 미디어 제공자, 케이블 제공자 및 오디오 스트리밍 제공자를 포함한다.
재생 디바이스는 출력을 위해 오디오 데이터 스트림의 일부를 제공하기 전에 오디오 데이터 스트림을 수신할 수 있다. 재생 디바이스는 마이크로폰 이외의 유선 또는 무선 입력 연결을 통해 오디오 데이터 스트림을 수신할 수 있다.
재생 디바이스는 오디오 데이터 스트림의 일부가 특정 핫 워드, 키 워드 또는 키 구문을 인코딩하는지 여부를 결정한다(206). 재생 디바이스는 오디오 데이터 스트림의 일부가 특정 핫 워드, 키 워드 또는 키 구문을 인코딩하는지 여부를 결정하기 위해 임의의 적절한 방법, 시스템 또는 둘 다를 사용할 수 있다. 예를 들어, 재생 디바이스는 자동 음성 인식기를 사용하여 오디오 데이터 스트림의 일부를 분석하여, 그 일부가 핫 워드, 키 워드 또는 키 구문을 인코딩하는지 여부를 결정할 수 있다.
일부 예들에서, 재생 디바이스는 다수의 핫 워드, 키 워드, 키 구문, 또는 이들 중 둘 이상의 조합 중 어느 하나가 오디오 데이터 스트림에 인코딩되는지 여부를 결정할 수 있다. 예를 들어, 재생 디바이스는 오디오 데이터 스트림의 일부가 특정 키 워드 또는 특정 키 구문을 인코딩하는지 여부를 결정할 수 있다.
재생 디바이스는 오디오 데이터 스트림이 재생 디바이스에 의해 출력되기 전에, 자동 음성 인식기를 사용하여 그 일부를 분석함으로써 오디오 데이터 스트림의 일부가 특정 핫 워드, 키 워드 또는 키 구문을 인코딩하는지 여부를 결정하는 동시에 오디오 데이터 스트림의 다른 부분을 수신할 수 있다. 예를 들어, 재생 디바이스는 오디오 데이터 스트림의 제 1 부분을 수신할 수 있다. 재생 디바이스가 자동 음성 인식기를 사용하여 오디오 데이터 스트림의 제 1 부분을 분석하는 동안, 재생 디바이스는 오디오 데이터 스트림의 제 2 부분을 동시에 수신할 수 있다. 제 2 부분은 오디오 데이터 스트림의 임의의 중간 부분없이 제 1 부분에 후속할 수 있다. 일부 예들에서, 제 2 부분은 제 1 부분과 제 2 부분 사이의 오디오 데이터 스트림의 중간 부분을 갖는 제 1 부분에 후속할 수 있다.
재생 디바이스가 오디오 데이터 스트림의 일부가 특정 핫 워드, 키 워드 또는 키 구문을 인코딩한다고 결정하는 경우, 재생 디바이스는 오디오 워터 마크를 포함하도록 오디오 데이터 스트림을 수정한다(208). 예를 들어, 재생 디바이스는 오디오 워터 마크를 포함할 오디오 데이터 스트림의 일부를 결정할 수 있다. 결정된 부분은 핫 워드, 키 워드 또는 키 구문을 인코딩하는 부분일 수 있다. 결정된 부분은 핫 워드, 키 워드 또는 키 구문을 인코딩하는 부분과는 다른 오디오 데이터 스트림의 다른 부분일 수 있다.
재생 디바이스는 오디오 데이터 스트림에 포함할 오디오 워터 마크를 결정할 수 있다. 일부 예들에서, 재생 디바이스는 예를 들어 오디오 데이터 스트림에 대한 데이터를 사용하여 오디오 워터 마크를 동적으로 생성할 수 있다. 예를 들어, 재생 디바이스는 오디오 데이터 스트림의 소스에 대한 데이터, 인코딩된 핫 워드, 키 워드 또는 키 구문에 대한 데이터 또는 둘 모두를 결정하고, 그 결정된 데이터를 오디오 워터 마크에 포함시킬 수 있다. 일부 구현들에서, 재생 디바이스는 오디오 워터 마크의 데이터베이스로부터 오디오 워터 마크를 선택할 수 있다. 예를 들어, 재생 디바이스는 데이터베이스로부터 오디오 워터 마크를 선택하기 위해 오디오 데이터 스트림의 소스, 인코딩된 핫 워드, 키 워드 또는 키 구문, 또는 둘 다를 사용할 수 있다. 재생 디바이스는 선택된 오디오 워터 마크를 오디오 데이터 스트림에 포함할 수 있다.
재생 디바이스는 출력을 위해 수정된 오디오 데이터 스트림을 제공한다(210). 예를 들어, 오디오 워터 마크를 포함하도록 오디오 데이터 스트림을 수정하는 것에 응답하여, 재생 디바이스는 출력을 위해 상기 수정된 오디오 데이터 스트림을 제공할 수 있다. 출력을 위해 수정된 오디오 데이터 스트림을 제공하는 것은 재생 디바이스에 포함된 스피커가 수정된 오디오 데이터 스트림을 예를 들어 청각적으로 제시할 수 있게 한다.
재생 디바이스가 오디오 데이터 스트림의 일부가 특정 핫 워드, 키 워드 또는 키 구문을 인코딩하지 않는다고 결정하는 경우, 재생 디바이스는 오디오 워터 마크를 포함하도록 오디오 데이터 스트림을 수정하는 단계를 스킵(skip)하기로 결정한다(212). 예를 들어, 재생 디바이스는 특정 핫 워드, 키 워드 또는 키 구문을 인코딩하지 않는 오디오 데이터 스트림의 부분에 기초하여 오디오 데이터 스트림을 수정하지 않기로 결정한다. 재생 디바이스는 특정 핫 워드, 키 워드 또는 키 구문을 인코딩하지 않는 오디오 데이터 스트림의 부분보다 우선하는 오디오 데이터 스트림의 진행 부분의 수정을 스킵하기로 결정할 수 있다.
일부 구현들에서, 재생 디바이스가 오디오 데이터 스트림을 수정하기로 결정한 경우, 재생 디바이스는 재생 디바이스가 이전에 오디오 데이터 스트림의 수정을 스킵하기로 결정한 오디오 데이터 스트림의 일부를 수정하기로 결정할 수 있다. 예를 들어, 재생 디바이스는 오디오 데이터 스트림의 2 개의 상이한 부분, 제 1 부분 및 제 2 부분을 분석할 수 있다. 재생 디바이스는 제 1 부분이 핫 워드, 키 워드 또는 키 구문을 인코딩하지 않는 것으로 결정하고, 이에 응답하여 제 1 부분에 기초하여 오디오 데이터 스트림의 수정을 스킵할 수 있다. 이어서, 재생 디바이스는 오디오 데이터 스트림의 제 1 부분에 후속하고 인접하는 오디오 데이터 스트림의 일부로서 제 2 부분을 분석할 수 있다. 재생 디바이스는 오디오 데이터 스트림의 제 2 부분이 특정 핫 워드, 키 워드 또는 키 구문을 인코딩하고, 이에 응답하여 오디오 데이터 스트림을 수정한다고 결정할 수 있다. 그 수정 결정에 응답하여, 재생 디바이스는 오디오 데이터 스트림의 제 1 부분에 오디오 워터 마크를 포함하기로 결정할 수 있다.
재생 디바이스는 출력을 위해 오디오 데이터 스트림을 제공한다(214). 예를 들어, 오디오 데이터 스트림의 수정을 스킵하기로 결정한 것에 응답하여, 재생 디바이스는 출력을 위해 오디오 데이터 스트림 또는 그 오디오 데이터 스트림의 일부를 제공할 수 있다. 재생 디바이스는 오디오 데이터 스트림을 스피커에 제공하여, 스피커가 오디오 데이터 스트림 또는 오디오 데이터 스트림의 일부를 제시하게 할 수 있다.
전술한 프로세스(200)에서의 단계들의 순서는 단지 예시적인 것이며, 핫 워드 검출에 기초하여 오디오 데이터 스트림을 수정하는 단계는 상이한 순서로 수행될 수 있다. 예를 들어, 재생 디바이스는 오디오 데이터 스트림의 일부를 수신하고, 특정 핫 워드를 정의하는 입력을 수신한 다음, 오디오 데이터 스트림의 일부가 특정 핫 워드를 인코딩하는지 여부를 결정할 수 있다.
일부 구현들에서, 프로세스(200)는 추가 단계, 더 적은 단계를 포함할 수 있거나, 일부 단계들은 다수의 단계로 분할될 수 있다. 예를 들어, 재생 디바이스는 오디오 데이터 스트림을 수신하여, 오디오 데이터 스트림의 일부가 특정 핫 워드를 인코딩하는지 여부를 결정하고, 그런 경우, 오디오 워터 마크를 포함하도록 오디오 데이터 스트림을 수정하는, 예를 들어 단계(204 내지 208)를 수행한다 이들 단계를 수행한 후, 재생 디바이스는 출력을 위해 수정된 오디오 데이터 스트림을 제공할 수 있다.
일부 구현들에서, 재생 디바이스는 프로세스(200)의 하나 이상의 단계를 여러 번 수행할 수 있다. 예를 들어, 재생 디바이스는 오디오 데이터 스트림을 수신하고, 오디오 데이터 스트림의 제 1 부분이 특정 핫 워드를 인코딩한다고 결정하고, 오디오 데이터 스트림, 예를 들어, 제 1 부분의 적어도 일부를 잠재적으로 포함하는 제 1 부분 근처의 제 2 부분을 수정할 수 있다. 그 후, 재생 디바이스는 오디오 데이터 스트림의 제 3 부분을 수신하고, 제 2 부분이 특정 핫 워드를 인코딩하지 않는다고 결정하고, 오디오 데이터 스트림의 제 4 부분의 수정을 스킵하기로 결정할 수 있다. 제 2 부분은 수정된 오디오 데이터 스트림을 수신하는 청취 디바이스가 오디오 워터 마크를 사용하여 특정 핫 워드를 식별하고 그에 따라 오디오 워터 마크 및 특정 핫 워드의 조합에 기초하여 동작하도록 허용할 수 있다. 예를 들어, 재생 디바이스는 제 2 부분의 위치를 선택하여 청취 디바이스가 오디오 워터 마크 및 특정 핫 워드 둘 다를 검출하고 그에 따라 응답할 수 있게 하여, 예를 들어, 오디오 워터 마크 및 특정 핫 워드 둘 다의 수신에 기초하여 어떠한 액션도 취하지 않도록 할 수 있다. 청취 디바이스는 오디오 데이터 스트림의 제 2 부분에서 오디오 워터 마크의 수신으로 인해 특정 핫 워드에 기초하여 액션을 수행하지 않기로 결정할 수 있다. 일부 예들에서, 제 2 부분은 제 1 부분과 동일한 오디오 데이터 스트림의 부분일 수 있다. 일부 예들에서, 제 2 부분은 제 1 부분 이전의 오디오 데이터 스트림의 부분을 포함할 수 있고, 제 1 부분의 일부를 포함할 수 있다. 오디오 데이터 스트림의 제 4 부분은 오디오 데이터 스트림에서의 제 3 부분의 위치에 기초하여 선택될 수 있다. 예를 들어, 제 4 부분은 제 3 부분과 오디오 데이터 스트림의 동일한 부분일 수 있다.
일부 구현에서, 재생 디바이스는 오디오 데이터 스트림의 일부가 특정 핫 워드, 키 워드 또는 키 구문을 인코딩한다고 재생 디바이스가 결정할 때까지 오디오 데이터 스트림에 오디오 워터 마크 또는 다수의 상이한 오디오 워터 마크를 인코딩할 수 있다. 예를 들어, 재생 디바이스는 핫 워드, 키 워드 또는 키 구문을 포함하지 않는 오디오 데이터 스트림의 각 부분에 오디오 워터 마크를 인코딩할 수 있다. 이것은 청취 디바이스가 재생 디바이스에 의한 오디오 데이터 스트림의 프리젠테이션을 캡처하고 그 캡처된 오디오 데이터 스트림의 어느 부분이 오디오 워터 마크를 포함하는지를 결정할 수 있게 한다. 청취 디바이스는 키 구문 검출 모듈을 사용하여 오디오 워터 마크를 포함하는 캡처된 오디오 데이터 스트림의 부분들만을 분석하고, 이에 응답하여 검출된 키 구문에 대응하는 액션을 수행할 수 있다. 캡처된 오디오 데이터 스트림의 일부가 오디오 워터 마크를 포함하지 않는다고 청취 디바이스가 결정하는 경우, 청취 디바이스는 키 구문 검출 모듈에 의해, 오디오 워터 마크를 포함하지 않는 부분의 분석을 스킵하기로 결정할 수 있다.
본 명세서에 기술된 주제 및 기능적 동작의 실시예는 본 명세서에 개시된 구조 및 그 구조적 등가물을 포함하여, 디지털 전자 회로, 유형적으로 구현된 컴퓨터 소프트웨어 또는 펌웨어, 컴퓨터 하드웨어 또는 그들의 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 기술된 주제의 실시예는 하나 이상의 컴퓨터 프로그램, 즉, 데이터 처리 장치에 의해 실행되거나 데이터 처리 장치의 동작을 제어하기 위해 유형의 비-일시적 프로그램 매체(carrier)상에 인코딩된 컴퓨터 프로그램 명령의 하나 이상의 모듈로 구현될 수 있다. 대안적으로 또는 추가적으로, 프로그램 명령어는 인공적으로 생성된 전파 신호, 예를 들어 기계 생성 전기, 광학 또는 전자기 신호에 인코딩될 수 있으며, 이는 데이터 처리 장치에 의해 실행하기 위해 적합한 수신기 장치로 전송하기 위한 정보를 인코딩하기 위해 생성된다. 컴퓨터 저장 매체는 기계 판독 가능 저장 디바이스, 기계 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스 또는 이들 중 하나 이상의 조합일 수 있다.
"데이터 처리 장치"라는 용어는 데이터 처리 하드웨어를 지칭하며, 예를 들어 프로그램 가능 프로세서, 컴퓨터, 또는 다수의 프로세서 또는 컴퓨터를 포함하여, 데이터를 처리하기 위한 모든 종류의 장치, 디바이스 및 기계를 포함한다. 이 장치는 또한 특수 목적 논리 회로, 예를 들어 FPGA(필드 프로그래머블 게이트 어레이) 또는 ASIC(애플리케이션 특정 집적 회로)을 포함하거나 추가로 포함할 수 있다. 장치는 하드웨어 이외에 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어를 구성하는 코드, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제 또는 이들 중 하나 이상의 조합을 선택적으로 포함할 수 있다.
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 모듈, 소프트웨어 모듈, 스크립트 또는 코드로 지칭되거나 기술될 수 있는 컴퓨터 프로그램은 컴파일된 또는 해석된 언어, 또는 선언적 또는 절차적 언어를 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 이는 독립형 프로그램 또는 컴퓨팅 환경에서 사용하기에 적합한 모듈, 컴포넌트, 서브 루틴 또는 다른 유닛을 포함하여 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 해당할 수 있지만 반드시 그런 것은 아니다. 프로그램은 다른 프로그램 또는 데이터를 보유하는 파일의 일부, 예를 들어 마크 업 언어 문서에 저장된 하나 이상의 스크립트, 해당 프로그램 전용의 단일 파일, 또는 다수의 조정된 파일(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드의 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터상에서 또는 한 사이트에 위치하거나 여러 사이트에 분산되어 있고 통신 네트워크로 상호 연결된 다수의 컴퓨터상에서 실행되도록 배포될 수 있다.
본 명세서에 기술된 프로세스 및 논리 흐름은 입력 데이터를 조작하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능한 컴퓨터에 의해 수행될 수 있다. 프로세스 및 로직 흐름은 또한 FPGA(필드 프로그래머블 게이트 어레이) 또는 ASIC(애플리케이션 특정 집적 회로)과 같은 특수 목적 로직 회로에 의해 수행될 수 있으며, 장치들은 FPGA 또는 ASIC과 같은 특수 목적 로직 회로로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 컴퓨터는 예로서 범용 또는 특수 목적 마이크로 프로세서 또는 둘 다, 또는 임의의 다른 종류의 중앙 처리 장치를 포함한다. 일반적으로, 중앙 처리 장치는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소는 명령을 수행 또는 실행하기 위한 중앙 처리 장치 및 명령 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 예를 들어 자기, 자기 광 디스크 또는 광 디스크와 같은 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스로부터 데이터를 수신하거나 데이터를 전송하거나 또는 그 둘 모두를 하도록 동작적으로 연결될 것이다. 그러나, 컴퓨터에는 이러한 디바이스가 필요하지 않는다. 게다가, 컴퓨터는 다른 디바이스, 예를 들어 이동 전화기, 스마트 폰, 개인 휴대 정보 단말기(PDA), 모바일 오디오 또는 비디오 재생기, 게임 콘솔, GPS(Global Positioning System) 수신기 또는 휴대용 직렬 저장 디바이스, 예를 들어 USB(범용 직렬 버스) 플래시 드라이브에 내장될 수 있다.
컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 반도체 메모리 디바이스(예를 들어 EPROM, EEPROM 및 플래시 메모리 디바이스), 자기 디스크(예를 들어, 내부 하드 디스크 또는 이동식 디스크), 광 자기 디스크, 및 CD ROM 및 DVD-ROM 디스크를 포함하여, 모든 형태의 비 휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보완되거나 특수 목적 논리 회로에 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에 기술된 주제의 실시예는 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스(예를 들어 LCD(액정 디스플레이), OLED(유기 발광 다이오드) 또는 모니터) 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 갖는 컴퓨터 상에 구현될 수 있다. 사용자와의 상호 작용을 제공하기 위해 다른 종류의 디바이스가 사용될 수도 있는데, 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예를 들어 시각적 피드백, 청각 피드백 또는 촉각 피드백일 수 있으며, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하여임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자에 의해 사용되는 디바이스로 문서를 전송하고 문서를 수신함으로써 예를 들어 웹 브라우저로부터 수신된 요청에 응답하여 사용자의 디바이스상의 웹 브라우저로 웹 페이지를 전송함으로써 사용자와 상호 작용할 수 있다.
본 명세서에 기술된 주제의 실시예는 백엔드 컴포넌트(예를 들어, 데이터 서버)를 포함하거나, 미들웨어 컴포넌트(예를 들어, 애플리케이션 서버)를 포함하거나, 프론트 엔드 컴포넌트(예를 들어, 사용자가 본 명세서에 기술된 주제의 구현과 상호 작용할 수있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터), 또는 하나 이상의 이러한 백엔드, 미들웨어 또는 프론트 엔드 컴포넌트의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 임의의 형태 또는 매체의 디지털 데이터 통신, 예를 들어 통신 네트워크에 의해 상호 연결될 수 있다. 통신 네트워크의 예는 근거리 통신망(LAN) 및 광역 통신망(WAN), 예를 들어 인터넷을 포함한다.
도 3은 본 문서에 기술된 시스템 및 방법을 클라이언트 또는 서버 또는 복수의 서버로서 구현하는데 사용될 수 있는 컴퓨팅 디바이스(300, 350)의 블록도이다. 컴퓨팅 디바이스(300)는 랩탑, 데스크탑, 워크 스테이션, 개인 정보 단말기, 스마트 폰, 스마트 텔레비전, 탁상용 어시스턴트, 스마트 스피커, 서버, 블레이드 서버, 메인 프레임 및 다른 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내도록 의도된다. 컴퓨팅 디바이스(350)는 개인 정보 단말기, 셀룰러 전화기, 스마트 폰, 스마트 워치, 스마트 텔레비전, 스마트 스피커, 탁상용 어시스턴트, 헤드-웨어 디바이스 및 기타 유사한 컴퓨팅 디바이스와 같은 다양한 형태의 모바일 디바이스를 나타내도록 의도된다. 본 명세서에 도시된 컴포넌트, 그들의 연결 및 관계 및 기능은 단지 예시적인 것이며, 본 문서에 기술되고 및또는 청구되는 구현을 제한하려는 것이 아니다.
컴퓨팅 디바이스(300)는 프로세서(302), 메모리(304), 저장 디바이스(306), 메모리(304) 및 메모리(304) 및 고속 확장 포트(310)에 연결되는 고속 인터페이스(308), 및 저속 버스(314) 및 저장 디바이스(306)에 연결되는 저속 인터페이스(312)를 포함한다. 컴포넌트(302, 304, 306, 308, 310 및 312) 각각은 다양한 버스를 사용하여 상호 연결되며 공통 마더 보드상에 또는 적절한 다른 방식으로 장착 될 수 있다. 프로세서(302)는 메모리(304) 또는 저장 디바이스(306)에 저장된 명령을 포함하여 컴퓨팅 디바이스(300) 내에서의 실행을 위한 명령을 처리하여, 고속 인터페이스(308)에 연결된 디스플레이(316)와 같은 외부 입/출력 디바이스 상에 GUI에 대한 그래픽 정보를 디스플레이할 수 있다. 다른 구현들에서, 다수의 프로세서 및/또는 다수의 버스가 적절하게 다수의 메모리 및 다수 유형의 메모리와 함께 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스(300)가 연결될 수 있으며, 각각의 디바이스는 (예를 들어, 서버 뱅크, 블레이드 서버의 그룹 또는 다중 프로세서 시스템으로서) 필요한 동작의 일부를 제공한다.
메모리(304)는 컴퓨팅 디바이스(300) 내에 정보를 저장한다. 일 구현에서, 메모리(304)는 컴퓨터 판독 가능 매체이다. 일 구현에서, 메모리(304)는 휘발성 메모리 유닛(들)이다. 다른 구현에서, 메모리(304)는 비 휘발성 메모리 유닛(들)이다.
저장 디바이스(306)는 컴퓨팅 디바이스(300)에 대용량 저장 디바이스를 제공할 수 있다. 일 구현에서, 저장 디바이스(306)는 컴퓨터 판독 가능 매체이다. 다양한 구현에서, 저장 디바이스(306)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 솔리드 스테이트 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성의 디바이스를 포함하는 디바이스의 어레이일 수 있다. 일 구현에서, 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 내장된다. 컴퓨터 프로그램 제품은 실행될 때 전술 한 바와 같은 하나 이상의 방법을 수행하는 명령을 포함한다. 정보 매체는 메모리(304), 저장 디바이스(306), 또는 프로세서상의 메모리(302)와 같은 컴퓨터-판독 또는 기계 판독 가능 매체이다.
고속 제어기(308)는 컴퓨팅 디바이스(300)에 대한 대역폭 집약적 동작을 관리하는 반면, 저속 제어기(312)는 보다 낮은 대역폭 집약적 동작을 관리한다. 이러한 임무 할당은 예시일뿐이다. 일 구현에서, 고속 제어기(308)는 메모리(304), 디스플레이(316)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(도시되지 않음)를 수용할 수 있는 고속 확장 포트(310)에 연결된다. 구현에서, 저속 제어기(312)는 저장 디바이스(306) 및 저속 확장 포트(314)에 연결된다. 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트는 키보드, 포인팅 디바이스, 스피커, 마이크로폰, 스캐너, 또는 스위치 또는 라우터와 같은 네트워킹 디바이스와 같은 하나 이상의 입력/출력 디바이스에 예를 들어 네트워크 어댑터를 통해 연결될 수 있다.
컴퓨팅 디바이스(300)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(320)로 구현되거나 이러한 서버들의 그룹에서 여러 번 구현될 수 있다. 또한 랙 서버 시스템(324)의 일부로서 구현될 수 있다. 또한, 랩톱 컴퓨터(322)와 같은 개인용 컴퓨터에서 구현될 수 있다. 대안적으로, 컴퓨팅 디바이스(300)의 컴포넌트는 디바이스(350)와 같은 모바일 디바이스(도시되지 않음)의 다른 컴포넌트와 결합될 수 있다. 이러한 디바이스 각각은 하나 이상의 컴퓨팅 디바이스(300, 350)를 포함할 수 있고, 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스(300, 350)로 구성될 수 있다.
컴퓨팅 디바이스(350)는 다른 컴포넌트 중에서도 프로세서(352), 메모리(364), 디스플레이(354)와 같은 입력/출력 디바이스, 통신 인터페이스(366) 및 트랜시버(368)를 포함한다. 디바이스(350)는 또한 추가적인 저장을 제공하기 위해 마이크로 드라이브 또는 다른 디바이스와 같은 저장 디바이스를 제공받을 수 있다. 컴포넌트(350, 352, 364, 354, 366, 368) 각각은 다양한 버스를 사용하여 상호 연결되며, 컴포넌트들 중 일부는 공통 마더 보드 상에 또는 다른 방식으로 적절히 장착될 수 있다.
프로세서(352)는 메모리(362)에 저장된 명령을 포함하여 컴퓨팅 디바이스(350) 내에서 실행하기위한 명령을 처리할 수 있다. 프로세서는 또한 별도의 아날로그 및 디지털 프로세서를 포함할 수 있다. 프로세서는 예를 들어, 사용자 인터페이스의 제어, 디바이스(350)에 의해 실행되는 애플리케이션 및 디바이스(350)에 의한 무선 통신과 같은 디바이스(350)의 다른 컴포넌트의 조정을 제공할 수 있다.
프로세서(352)는 제어 인터페이스(358) 및 디스플레이(354)에 연결된 디스플레이 인터페이스(356)를 통해 사용자와 통신할 수 있다. 디스플레이(354)는 예를 들어 TFT LCD 디스플레이 또는 OLED 디스플레이, 또는 다른 적절한 디스플레이 기술일 수 있다. 디스플레이 인터페이스(356)는 그래픽 및 다른 정보를 사용자에게 제시하기 위해 디스플레이(354)를 구동하기 위한 적절한 회로를 포함할 수 있다. 제어 인터페이스(358)는 사용자로부터 명령을 수신하여 프로세서(352)에 제출하기 위해 변환할 수 있다. 또한, 다른 인터페이스들과 디바이스(350)의 근거리 통신을 가능하게 하기 위해, 프로세서(352)와 통신하는 외부 인터페이스(362)가 제공될 수 있다. 외부 인터페이스(362)는 예를 들어 유선 통신(예를 들어, 도킹 절차를 통해) 또는 무선 통신(예를 들어, 블루투스 또는 다른 그러한 기술을 통한)을 제공할 수 있다.
메모리(364)는 컴퓨팅 디바이스(350) 내에 정보를 저장한다. 일 구현에서, 메모리(364)는 컴퓨터 판독 가능 매체이다. 일 구현에서, 메모리(364)는 휘발성 메모리 유닛(들)이다. 다른 구현에서, 메모리(364)는 비 휘발성 메모리 유닛(들)이다. 확장 메모리(374)는 또한 예를 들어 SIMM 카드 인터페이스를 포함할 수 있는 확장 인터페이스(372)를 통해 디바이스(350)에 제공되고 연결될 수 있다. 이러한 확장 메모리(374)는 디바이스(350)를 위한 추가 저장 공간을 제공할 수 있거나, 디바이스(350)를 위한 애플리케이션 또는 다른 정보를 저장할 수도 있다. 구체적으로, 확장 메모리(374)는 전술한 프로세스를 수행하거나 보충하기 위한 명령을 포함할 수 있고, 또한 보안 정보를 포함할 수 있다. 따라서, 예를 들어, 확장 메모리(374)는 디바이스(350)를 위한 보안 모듈로서 제공될 수 있고, 디바이스(350)의 안전한 사용을 허용하는 명령으로 프로그래밍될 수 있다. 또한, SIMM 카드상의 식별 정보를 해킹할 수 없는 방식으로 배치하는 것과 같이 SIMM 카드를 통해 추가 정보와 함께 보안 애플리케이션이 제공될 수 있다.
메모리는 예를 들어, 후술하는 바와 같이 플래시 메모리 및/또는 MRAM 메모리를 포함할 수 있다. 일 구현에서, 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 내장된다. 컴퓨터 프로그램 제품은 실행될 때 전술한 바와 같은 하나 이상의 방법을 수행하는 명령을 포함한다. 정보 매체는 메모리(364), 확장 메모리(374) 또는 프로세서(352)의 메모리와 같은 컴퓨터 판독 또는 기계 판독 가능 매체이다.
디바이스(350)는 필요한 경우 디지털 신호 처리 회로를 포함할 수 있는 통신 인터페이스(366)를 통해 무선으로 통신할 수 있다. 통신 인터페이스(366)는 다른 것들 중에서도 GSM 음성 호출, SMS, EMS 또는 MMS 메시징, CDMA, TDMA, PDC, WCDMA, CDMA2000 또는 GPRS와 같은 다양한 모드 또는 프로토콜 하에서 통신을 제공할 수 있다. 이러한 통신은 예를 들어 무선 주파수 송수신기(368)를 통해 발생할 수 있다. 또한, 블루투스, WiFi 또는 다른 그러한 송수신기(도시되지 않음)를 사용하는 것과 같은 단거리 통신이 발생할 수 있다. 또한, GPS 수신기 모듈(370)은 디바이스(350)에서 실행되는 애플리케이션에 의해 적절하게 사용될 수 있는 추가 무선 데이터를 디바이스(350)에 제공할 수 있다.
디바이스(350)는 또한 사용자로부터 발화 정보를 수신하여 그것을 사용 가능한 디지털 정보로 변환할 수 있다. 오디오 코덱(360)은 마찬가지로 예를 들어 디바이스(350)의 핸드셋에서 스피커를 통해서와 같이 사용자를 위해 가청 사운드를 생성할 수 있다. 이러한 사운드는 음성 전화 호출로부터의 사운드를 포함할 수 있고, 녹음된 사운드(예를 들어, 음성 메시지, 음악 파일 등)를 포함할 수 있고, 디바이스(350)상에서 동작하는 애플리케이션에 의해 생성된 사운드를 포함할 수도 있다.
컴퓨팅 디바이스(350)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 휴대폰(380)으로 구현될 수 있다. 스마트 폰(382), 개인 정보 단말기 또는 다른 유사한 이동 디바이스의 일부로서 구현될 수도 있다.
본 명세서에 설명된 시스템 및 기술의 다양한 구현은 디지털 전자 회로, 집적 회로, 특별히 설계된 ASIC(application specific integrated circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현은 특수하거나 범용일 수 있고, 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령을 수신하고, 데이터 및 명령을 전송하기 위해 연결된, 적어도 하나의 프로그램 가능 프로세서를 포함하는 프로그램 가능 시스템에서 실행 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있다.
이들 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드라고도 함)은 프로그램 가능한 프로세서를 위한 기계 명령을 포함하고, 높은 수준의 절차적 및/또는 객체 지향적 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에서 사용된 "기계 판독 가능 매체", "컴퓨터 판독 가능 매체"라는 용어는 기계 판독 가능 신호로서 기계 명령을 수신하는 기계 판독 가능 매체를 포함하여, 기계 명령 및/또는 데이터를 프로그램 가능 프로세서로 제공하는데 사용되는 임의의 컴퓨터 프로그램 제품, 장치 및/또는 디바이스(예를 들어, 자기 디스크, 광 디스크, 메모리, 프로그램 가능 논리 디바이스(PLD))를 지칭한다. "기계 판독 가능 신호"라는 용어는 기계 명령 및/또는 데이터를 프로그램 가능 프로세서로 제공하는데 사용되는 임의의 신호를 지칭한다.
본 명세서는 많은 특정 구현 세부 사항을 포함하지만, 이들은 청구될 수 있는 범위의 제한으로서 해석되는 것이 아니라 특정 실시예에 특정될 수 있는 특징의 설명으로 해석되어야 한다. 별도의 실시예와 관련하여 본 명세서에서 설명된 특정 특징들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예와 관련하여 설명된 다양한 특징은 또한 다수의 실시예에서 개별적으로 또는 임의의 적절한 하위 조합으로 구현될 수 있다. 더욱이, 특징들이 특정 조합으로 작용하는 것으로 설명될 수 있고, 심지어 처음에 그렇게 주장되기도 하지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우 조합으로부터 제외될 수 있고, 청구된 조합은 하위 조합 또는 하위 조합의 변형에 관한 것일 수 있다.
유사하게, 동작들이 특정 순서로 도면에 도시되어 있지만, 이는 바람직한 결과를 달성하기 위해 이러한 동작이 도시된 특정 순서로 또는 순차적인 순서로 수행되거나, 또는 도시된 모든 동작들이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 특정 상황에서, 멀티 태스킹 및 병렬 처리가 유리할 수 있다. 또한, 전술 한 실시예에서 다양한 시스템 모듈 및 컴포넌트의 분리는 모든 실시예에서 이러한 분리를 요구하는 것으로 이해되어서는 안되며, 설명된 프로그램 구성 요소 및 시스템은 일반적으로 단일 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품으로 패키징될 수 있음을 이해해야 한다.
주제의 특정 실시예들이 설명되었다. 다른 실시예는 다음의 청구 범위의 범위 내에 있다. 예를 들어, 청구 범위에 기재된 동작들은 다른 순서로 수행될 수 있으며 여전히 바람직한 결과를 달성할 수 있다. 일 예로서, 첨부 도면에 도시된 프로세스는 바람직한 결과를 달성하기 위해 도시된 특정 순서 또는 순차적 순서를 반드시 요구할 필요는 없다. 경우에 따라, 멀티 태스킹 및 병렬 처리가 유리할 수 있다.

Claims (22)

  1. 스피커 및 재생 디바이스에 의해 실행될 때 재생 디바이스로 하여금 동작들을 수행하도록 동작 가능한 명령들이 저장되는 하나 이상의 저장 디바이스를 포함하는 재생 디바이스로서, 상기 동작들은,
    오디오 데이터 스트림을 수신하는 단계;
    오디오 데이터 스트림이 재생 디바이스에 의해 출력되기 전에, 자동 음성 인식기를 사용하여 오디오 데이터 스트림의 일부를 분석함으로써 일부가 특정 키 구문(key phrase)을 인코딩하는지 여부를 결정하는 단계;
    오디오 데이터 스트림의 일부가 특정 키 구문을 인코딩한다는 결정에 응답하여, 오디오 워터 마크를 포함하기 위해 오디오 데이터 스트림을 수정하는 단계, 상기 오디오 워터 마크는 (i) 오디오 데이터 스트림의 일부에 키 구문이 인코딩되었고 그리고 (ii) 키 구문이 청취 디바이스 근처의 물리적 영역에 있는 사람에 의해 발화되지 않았음을 지정하는 데이터를 포함하고, 상기 오디오 워터 마크는 청취 디바이스가 특정 키 구문에 기초하여 액션을 수행해야 하는지 여부를 결정하는데 사용되며; 및
    수정된 오디오 데이터 스트림을 재생 디바이스의 스피커를 통해 출력하는 단계를 포함하는 것을 특징으로 하는 재생 디바이스.
  2. 제1항에 있어서,
    상기 명령들은 재생 디바이스에 의해 실행될 때, 재생 디바이스로 하여금 오디오 데이터 스트림의 일부가 단계들에 의해 특정 키 구문을 인코딩하지 않는다는 결정에 응답하도록 동작 가능하고, 상기 단계들은,
    특정 키 구문을 인코딩하지 않는 오디오 데이터 스트림의 일부에 기초하여 오디오 워터 마크를 포함하기 위해 오디오 데이터 스트림을 수정하는 것을 스킵 (skip)하기로 결정하는 단계; 및
    특정 키 구문을 인코딩하지 않는 오디오 데이터 스트림의 일부에 기초하여 오디오 워터 마크를 포함하기 위해 오디오 데이터 스트림을 수정하는 것을 스킵하기로 결정한 후, 오디오 데이터 스트림을 재생 디바이스의 스피커를 통해 출력하는 단계를 포함하는 것을 특징으로 하는 재생 디바이스.
  3. 제1항에 있어서,
    상기 오디오 워터 마크를 포함하기 위해 오디오 데이터 스트림을 수정하는 단계는,
    수신된 오디오 데이터 스트림이 특정 키 구문에 대한 워터 마크를 포함하는지 여부를 결정하는 단계; 및
    수신된 오디오 데이터 스트림이 특정 키 구문에 대한 워터 마크를 포함하지 않는다는 결정에 응답하여, 오디오 워터 마크를 포함하기 위해 오디오 데이터 스트림을 수정하는 단계를 포함하는 것을 특징으로 하는 재생 디바이스.
  4. 제1항에 있어서,
    상기 오디오 워터 마크를 포함하기 위해 오디오 데이터 스트림을 수정하는 단계는,
    수신된 오디오 데이터 스트림이 특정 키 구문에 대한 워터 마크를 포함하는지 여부를 결정하는 단계;
    수신된 오디오 데이터 스트림이 특정 키 구문에 대한 워터 마크를 포함한다는 결정에 응답하여, 워터 마크에 인코딩된 데이터를 분석함으로써 특정 데이터가 워터 마크에 인코딩되었는지 여부를 결정하는 단계; 및
    특정 데이터가 워터 마크에 인코딩되지 않았다는 결정에 응답하여, 특정 데이터를 인코딩하는 오디오 워터 마크를 포함하기 위해 오디오 데이터 스트림을 수정하는 단계를 포함하는 것을 특징으로 하는 재생 디바이스.
  5. 제4항에 있어서,
    상기 특정 데이터를 인코딩하는 오디오 워터 마크를 포함하기 위해 오디오 데이터 스트림을 수정하는 단계는,
    특정 데이터를 인코딩하기 위해 상기 수신된 오디오 데이터 스트림으로부터 워터 마크를 수정하는 단계를 포함하는 것을 특징으로 하는 재생 디바이스.
  6. 제4항에 있어서,
    상기 특정 데이터는,
    특정 키 구문에 대한 데이터를 포함하는 것을 특징으로 하는 재생 디바이스.
  7. 제4항에 있어서,
    상기 특정 데이터는,
    오디오 데이터 스트림의 소스에 대한 데이터를 포함하는 것을 특징으로 하는 재생 디바이스.
  8. 제4항에 있어서,
    상기 특정 데이터는,
    오디오 데이터 스트림에 인코딩된 컨텐츠에 관한 데이터를 포함하는 것을 특징으로 하는 재생 디바이스.
  9. 제1항에 있어서,
    상기 동작들은,
    오디오 데이터 스트림이 재생 디바이스에 의해 재생되기 전에, 자동 음성 인식기를 사용하여 오디오 데이터 스트림의 일부를 분석함으로써 상기 일부가 특정 키 구문을 인코딩하는지 여부를 결정하는 것과 동시에 오디오 데이터 스트림의 다른 부분을 수신하는 단계를 포함하는 것을 특징으로 하는 재생 디바이스.
  10. 제1항에 있어서,
    상기 특정 키 구문는 고정(fixed)되는 것을 특징으로 하는 재생 디바이스.
  11. 제1항에 있어서,
    상기 동작들은,
    오디오 데이터 스트림이 재생 디바이스에 의해 재생되기 전에, 자동 음성 인식기를 사용하여 오디오 데이터 스트림의 일부를 분석함으로써 상기 일부가 특정 키 구문을 인코딩하는지 여부를 결정하기 전에 특정 키 구문을 정의하는 입력을 수신하는 단계를 포함하는 것을 특징으로 하는 재생 디바이스.
  12. 제1항에 있어서,
    상기 오디오 데이터 스트림을 수신하는 단계는,
    출력을 위해 상기 수정된 오디오 데이터 스트림의 일부를 제공하기 전에 마이크로폰 이외의 유선 또는 무선 입력 연결을 통해 오디오 데이터 스트림을 수신하는 단계를 포함하는 것을 특징으로 하는 재생 디바이스.
  13. 제1항에 있어서,
    상기 오디오 워터 마크를 포함하기 위해 오디오 데이터 스트림을 수정하는 단계는,
    오디오 데이터 스트림의 소스를 식별하는 오디오 워터 마크를 포함하기 위해 오디오 데이터 스트림을 수정하는 단계를 포함하는 것을 특징으로 하는 재생 디바이스.
  14. 제1항에 있어서,
    상기 오디오 워터 마크를 포함하기 위해 오디오 데이터 스트림을 수정하는 단계는,
    오디오 데이터 스트림의 일부에 특정 키 구문이 인코딩되었음을 지정하는 데이터를 포함하는 오디오 워터 마크를 포함하기 위해 오디오 데이터 스트림을 수정하는 단계를 포함하는 것을 특징으로 하는 재생 디바이스.
  15. 삭제
  16. 하나 이상의 컴퓨터에 의해 실행될 때, 하나 이상의 컴퓨터로 하여금 동작들을 수행하게 하는 명령들로 인코딩된 비-일시적 컴퓨터 저장 매체로서, 상기 동작들은,
    오디오 데이터 스트림을 수신하는 단계;
    오디오 데이터 스트림이 하나 이상의 컴퓨터에 의해 출력되기 전에, 자동 음성 인식기를 사용하여 오디오 데이터 스트림의 일부를 분석함으로써 그 일부가 특정 키 구문을 인코딩하는지 여부를 결정하는 단계;
    오디오 데이터 스트림의 일부가 특정 키 구문을 인코딩하지 않는다는 결정에 응답하여, 그 특정 키 구문을 인코딩하지 않는 오디오 데이터 스트림의 일부에 기초하여 오디오 워터 마크를 포함하기 위해 오디오 데이터 스트림을 수정하는 것을 스킵하기로 결정하는 단계, 상기 오디오 워터 마크는 (i) 오디오 데이터 스트림의 일부에 키 구문이 인코딩되었고 그리고 (ii) 키 구문이 청취 디바이스 근처의 물리적 영역에 있는 사람에 의해 발화되지 않았음을 지정하는 데이터를 포함하고, 상기 오디오 워터 마크는 청취 디바이스가 특정 키 구문에 기초하여 액션을 수행해야 하는지 여부를 결정하는데 사용되며; 및
    특정 키 구문을 인코딩하지 않는 오디오 데이터 스트림의 일부에 기초하여 오디오 워터 마크를 포함하기 위해 오디오 데이터 스트림을 수정하는 것을 스킵하기로 결정한 후, 오디오 데이터 스트림을 재생 디바이스의 스피커를 통해 출력하는 단계를 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 저장 매체.
  17. 제16항에 있어서,
    상기 동작들은,
    오디오 데이터 스트림이 하나 이상의 컴퓨터에 의해 출력되기 전에, 자동 음성 인식기를 사용하여 오디오 데이터 스트림의 제 2 부분을 분석함으로써 상기 제 2 부분이 특정 키 구문의 발생을 인코딩하는지 여부를 결정하는 단계;
    오디오 데이터 스트림의 제 2 부분이 특정 키 구문을 인코딩한다는 결정에 응답하여, 수신된 오디오 데이터 스트림이 특정 키 구문의 발생에 대한 워터 마크를 포함하는지 여부를 결정하는 단계;
    수신된 오디오 데이터 스트림이 특정 키 구문의 발생에 대한 워터 마크를 포함한다는 결정에 응답하여, 워터 마크에 인코딩된 데이터를 분석함으로써 특정 데이터가 워터 마크에 인코딩되었는지 여부를 결정하는 단계; 및
    특정 데이터가 워터 마크에 인코딩되지 않았다는 결정에 응답하여, 특정 데이터를 인코딩하는 오디오 워터 마크를 포함하기 위해 오디오 데이터 스트림을 수정하는 단계를 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 저장 매체.
  18. 제16항에 있어서,
    상기 동작들은,
    오디오 데이터 스트림이 하나 이상의 컴퓨터에 의해 출력되기 전에, 자동 음성 인식기를 사용하여 오디오 데이터 스트림의 제 2 부분을 분석함으로써 상기 제 2 부분이 특정 키 구문의 발생을 인코딩하는지 여부를 결정하는 단계;
    오디오 데이터 스트림의 제 2 부분이 특정 키 구문을 인코딩한다는 결정에 응답하여, 수신된 오디오 데이터 스트림이 특정 키 구문의 발생에 대한 워터 마크를 포함하는지 여부를 결정하는 단계; 및
    수신된 오디오 데이터 스트림이 특정 키 구문의 발생에 대한 워터 마크를 포함한다는 결정에 응답하여, 특정 키 구문의 발생에 기초하여 오디오 워터 마크를 포함하기 위해 오디오 데이터 스트림을 수정하는 것을 스킵하기로 결정하는 단계를 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 저장 매체.
  19. 컴퓨터로 구현되는 방법으로서,
    재생 디바이스에 의해, 오디오 데이터 스트림을 수신하는 단계;
    오디오 데이터 스트림이 재생 디바이스에 의해 출력되기 전에, 자동 음성 인식기를 사용하여 오디오 데이터 스트림의 일부를 분석함으로써 그 일부가 특정 키 구문을 인코딩하는지 여부를 결정하는 단계;
    오디오 데이터 스트림의 일부가 특정 키 구문을 인코딩한다는 결정에 응답하여, 오디오 워터 마크를 포함하기 위해 오디오 데이터 스트림을 수정하는 단계, 상기 오디오 워터 마크는 (i) 오디오 데이터 스트림의 일부에 키 구문이 인코딩되었고 그리고 (ii) 키 구문이 청취 디바이스 근처의 물리적 영역에 있는 사람에 의해 발화되지 않았음을 지정하는 데이터를 포함하고, 상기 오디오 워터 마크는 청취 디바이스가 특정 키 구문에 기초하여 액션을 수행해야 하는지 여부를 결정하는데 사용되며; 및
    재생 디바이스에 의해, 수정된 오디오 데이터 스트림을 재생 디바이스의 스피커를 통해 출력하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  20. 제19항에 있어서,
    상기 오디오 워터 마크를 포함하기 위해 오디오 데이터 스트림을 수정하는 단계는,
    수신된 오디오 데이터 스트림이 특정 키 구문에 대한 워터 마크를 포함하는지 여부를 결정하는 단계; 및
    수신된 오디오 데이터 스트림이 특정 키 구문에 대한 워터 마크를 포함하지 않는다는 결정에 응답하여, 오디오 워터 마크를 포함하기 위해 오디오 데이터 스트림을 수정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  21. 제19항에 있어서,
    상기 오디오 워터 마크를 포함하기 위해 오디오 데이터 스트림을 수정하는 단계는,
    수신된 오디오 데이터 스트림이 특정 키 구문에 대한 워터 마크를 포함하는지 여부를 결정하는 단계;
    수신된 오디오 데이터 스트림이 특정 키 구문에 대한 워터 마크를 포함한다는 결정에 응답하여, 워터 마크에 인코딩된 데이터를 분석함으로써 특정 데이터가 워터 마크에 인코딩되었는지 여부를 결정하는 단계; 및
    특정 데이터가 워터 마크에 인코딩되지 않았다는 결정에 응답하여, 특정 데이터를 인코딩하는 오디오 워터 마크를 포함하기 위해 오디오 데이터 스트림을 수정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  22. 삭제
KR1020197035499A 2017-11-28 2018-08-03 오디오 워터 마킹을 이용한 키 구문 검출 KR102363872B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227004628A KR102469262B1 (ko) 2017-11-28 2018-08-03 오디오 워터 마킹을 이용한 키 구문 검출

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/824,183 US10276175B1 (en) 2017-11-28 2017-11-28 Key phrase detection with audio watermarking
US15/824,183 2017-11-28
PCT/US2018/045185 WO2019108275A1 (en) 2017-11-28 2018-08-03 Key phrase detection with audio watermarking

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227004628A Division KR102469262B1 (ko) 2017-11-28 2018-08-03 오디오 워터 마킹을 이용한 키 구문 검출

Publications (2)

Publication Number Publication Date
KR20190141767A KR20190141767A (ko) 2019-12-24
KR102363872B1 true KR102363872B1 (ko) 2022-02-16

Family

ID=63245115

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227004628A KR102469262B1 (ko) 2017-11-28 2018-08-03 오디오 워터 마킹을 이용한 키 구문 검출
KR1020197035499A KR102363872B1 (ko) 2017-11-28 2018-08-03 오디오 워터 마킹을 이용한 키 구문 검출

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020227004628A KR102469262B1 (ko) 2017-11-28 2018-08-03 오디오 워터 마킹을 이용한 키 구문 검출

Country Status (6)

Country Link
US (4) US10276175B1 (ko)
EP (4) EP3529804B1 (ko)
JP (2) JP6883119B2 (ko)
KR (2) KR102469262B1 (ko)
CN (2) CN113138743B (ko)
WO (1) WO2019108275A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10276175B1 (en) 2017-11-28 2019-04-30 Google Llc Key phrase detection with audio watermarking
US11032580B2 (en) 2017-12-18 2021-06-08 Dish Network L.L.C. Systems and methods for facilitating a personalized viewing experience
US10365885B1 (en) 2018-02-21 2019-07-30 Sling Media Pvt. Ltd. Systems and methods for composition of audio content from multi-object audio
US10692496B2 (en) * 2018-05-22 2020-06-23 Google Llc Hotword suppression
US10978081B2 (en) * 2018-09-25 2021-04-13 Amazon Technologies, Inc. Audio watermark encoding/decoding
US10950249B2 (en) * 2018-09-25 2021-03-16 Amazon Technologies, Inc. Audio watermark encoding/decoding
RU2767962C2 (ru) 2020-04-13 2022-03-22 Общество С Ограниченной Ответственностью «Яндекс» Способ и система для распознавания воспроизведенного речевого фрагмента
US11714595B1 (en) * 2020-08-07 2023-08-01 mmhmm inc. Adaptive audio for immersive individual conference spaces
CN113516991A (zh) * 2020-08-18 2021-10-19 腾讯科技(深圳)有限公司 基于群组会话的音频播放、设备管理方法及装置
US11595703B2 (en) * 2021-04-22 2023-02-28 Shopify Inc. Systems and methods for controlling transmission of live media streams
US11915711B2 (en) 2021-07-20 2024-02-27 Direct Cursus Technology L.L.C Method and system for augmenting audio signals
JP7267636B1 (ja) 2021-10-21 2023-05-02 株式会社アートクリフ 情報処理装置、情報処理システム、情報処理方法およびプログラム
US20240038249A1 (en) * 2022-07-27 2024-02-01 Cerence Operating Company Tamper-robust watermarking of speech signals

Family Cites Families (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2681997A1 (fr) 1991-09-30 1993-04-02 Arbitron Cy Procede et dispositif d'identification automatique d'un programme comportant un signal sonore.
US6505160B1 (en) 1995-07-27 2003-01-07 Digimarc Corporation Connected audio and other media objects
US7562392B1 (en) 1999-05-19 2009-07-14 Digimarc Corporation Methods of interacting with audio and ambient music
US5708478A (en) 1996-06-26 1998-01-13 Sun Microsystems, Inc. Computer system for enabling radio listeners/television watchers to obtain advertising information
AU6131899A (en) * 1998-08-31 2000-03-21 Digital Video Express, L.P. Watermarking system and methodology for digital multimedia content
ATE266890T1 (de) 1998-12-21 2004-05-15 Roke Manor Research Akustisch aktivierte marketingverfahren und vorrichtung
US7664264B2 (en) 1999-03-24 2010-02-16 Blue Spike, Inc. Utilizing data reduction in steganographic and cryptographic systems
US6871180B1 (en) 1999-05-25 2005-03-22 Arbitron Inc. Decoding of information in audio signals
EP1249002B1 (en) 2000-01-13 2011-03-16 Digimarc Corporation Authenticating metadata and embedding metadata in watermarks of media signals
US6737957B1 (en) 2000-02-16 2004-05-18 Verance Corporation Remote control signaling using audio watermarks
US6990453B2 (en) 2000-07-31 2006-01-24 Landmark Digital Services Llc System and methods for recognizing sound and music signals in high noise and distortion
KR101464403B1 (ko) 2000-09-13 2014-11-28 스트라토스 오디오, 인코포레이티드 미디어 콘텐츠 주문 및 배달 방법 및 시스템
JP2002091455A (ja) * 2000-09-19 2002-03-27 Matsushita Electric Ind Co Ltd 端末装置及び電子音楽配信システム
DE60107710T2 (de) * 2000-10-20 2005-12-01 Koninklijke Philips Electronics N.V. Einrichtung und anordnung zur wiedergabe
US6954790B2 (en) 2000-12-05 2005-10-11 Interactive People Unplugged Ab Network-based mobile workgroup system
EP1490767B1 (en) 2001-04-05 2014-06-11 Audible Magic Corporation Copyright detection and protection system and method
KR100552468B1 (ko) * 2001-07-19 2006-02-15 삼성전자주식회사 음성인식에 따른 오동작을 방지 및 음성인식율을 향상 할수 있는 전자기기 및 방법
US7181159B2 (en) 2002-03-07 2007-02-20 Breen Julian H Method and apparatus for monitoring audio listening
JP2004222129A (ja) * 2003-01-17 2004-08-05 Matsushita Electric Ind Co Ltd 電子透かし多重化装置および電子透かし検出装置
US7342906B1 (en) 2003-04-04 2008-03-11 Airespace, Inc. Distributed wireless network security system
US20040260701A1 (en) 2003-05-27 2004-12-23 Juha Lehikoinen System and method for weblog and sharing in a peer-to-peer environment
US6910820B2 (en) 2003-07-25 2005-06-28 3M Innovative Properties Company Apparatus and method for handling linerless label tape
JP2005176021A (ja) 2003-12-12 2005-06-30 Toshiba Corp 情報処理装置およびプログラム
US20050219366A1 (en) 2004-03-31 2005-10-06 Hollowbush Richard R Digital audio-video differential delay and channel analyzer
US7623823B2 (en) 2004-08-31 2009-11-24 Integrated Media Measurement, Inc. Detecting and measuring exposure to media content items
KR100617165B1 (ko) * 2004-11-19 2006-08-31 엘지전자 주식회사 워터마크 삽입/검출 기능을 갖는 오디오 부호화/복호화장치 및 방법
JP4715239B2 (ja) 2005-03-04 2011-07-06 沖電気工業株式会社 無線アクセス装置、無線アクセス方法及び無線ネットワーク
CN101204046B (zh) 2005-06-21 2011-08-17 摩托罗拉移动公司 用于建立在发送器节点和接收器节点的代理之间的直接路由的方法、设备和系统
US8254308B1 (en) 2006-01-05 2012-08-28 Sprint Spectrum L.P. Method and system for acoustically triggering electronic coupon retrieval
US7774854B1 (en) 2006-03-31 2010-08-10 Verint Americas Inc. Systems and methods for protecting information
US7881657B2 (en) 2006-10-03 2011-02-01 Shazam Entertainment, Ltd. Method for high-throughput identification of distributed broadcast content
US8245284B2 (en) 2006-10-05 2012-08-14 Microsoft Corporation Extensible network discovery
US8166534B2 (en) 2007-05-18 2012-04-24 Microsoft Corporation Incorporating network connection security levels into firewall rules
JP5414684B2 (ja) * 2007-11-12 2014-02-12 ザ ニールセン カンパニー (ユー エス) エルエルシー 音声透かし、透かし検出、および透かし抽出を実行する方法および装置
MY147120A (en) 2008-09-10 2012-10-31 Mimos Berhad Method of integrating quantum key distribution with internet key exchange protocol
CN101464982A (zh) * 2009-01-21 2009-06-24 北京中科信利技术有限公司 一种基于音频水印的手机支付认证系统及方法
US8577346B2 (en) 2009-03-02 2013-11-05 First Data Corporation Systems, methods, and apparatus for receiving promotion information by a mobile device
US8577345B2 (en) 2009-03-02 2013-11-05 First Data Corporation Systems, methods, and apparatus for providing promotion information to a mobile device
JP2011091619A (ja) * 2009-10-22 2011-05-06 Sony Corp 送信装置、送信方法、受信装置、受信方法、プログラム、および放送システム
US8650129B2 (en) 2010-01-20 2014-02-11 American Express Travel Related Services Company, Inc. Dynamically reacting policies and protections for securing mobile financial transaction data in transit
US8645132B2 (en) 2011-08-24 2014-02-04 Sensory, Inc. Truly handsfree speech recognition in high noise environments
JP5793865B2 (ja) * 2010-12-28 2015-10-14 富士通株式会社 電子透かし埋め込み装置、電子透かし埋め込み用コンピュータプログラム及び電子透かし検出装置ならびに電子透かし検出用コンピュータプログラム
US8611506B2 (en) * 2011-07-08 2013-12-17 Blackberry Limited Methods and apparatus to facilitate voicemail interaction
CN104380682B (zh) 2012-05-08 2019-05-03 思睿逻辑国际半导体有限公司 由松散协调的媒体呈现设备形成媒体网络的系统及方法
US8869222B2 (en) 2012-09-13 2014-10-21 Verance Corporation Second screen content
WO2014103099A1 (ja) 2012-12-28 2014-07-03 パナソニック株式会社 音声認識付き機器及び音声認識方法
JP2014187490A (ja) * 2013-03-22 2014-10-02 Yamaha Corp 放送受信装置及び端末装置
CN104138596A (zh) 2014-07-22 2014-11-12 张喜田 重组灵芝免疫调节蛋白在延缓衰老药物中的应用
JP6258981B2 (ja) * 2014-07-29 2018-01-10 ヤマハ株式会社 プログラムおよび情報処理方法
JP5871088B1 (ja) 2014-07-29 2016-03-01 ヤマハ株式会社 端末装置、情報提供システム、情報提供方法およびプログラム
US10896151B2 (en) 2014-08-08 2021-01-19 Nokia Technologies Oy Method and apparatus for providing a visual indication of the copy history
US9548053B1 (en) 2014-09-19 2017-01-17 Amazon Technologies, Inc. Audible command filtering
US9424841B2 (en) * 2014-10-09 2016-08-23 Google Inc. Hotword detection on multiple devices
US9318107B1 (en) * 2014-10-09 2016-04-19 Google Inc. Hotword detection on multiple devices
US9818414B2 (en) 2015-06-04 2017-11-14 Intel Corporation Dialogue system with audio watermark
CN107016999B (zh) 2015-10-16 2022-06-14 谷歌有限责任公司 热词识别
US9928840B2 (en) * 2015-10-16 2018-03-27 Google Llc Hotword recognition
CN105392022B (zh) * 2015-11-04 2019-01-18 北京符景数据服务有限公司 基于音频水印的信息交互方法与装置
US10453460B1 (en) 2016-02-02 2019-10-22 Amazon Technologies, Inc. Post-speech recognition request surplus detection and prevention
US9728188B1 (en) * 2016-06-28 2017-08-08 Amazon Technologies, Inc. Methods and devices for ignoring similar audio being received by a system
US10079024B1 (en) * 2016-08-19 2018-09-18 Amazon Technologies, Inc. Detecting replay attacks in voice-based authentication
US11557290B2 (en) 2016-12-19 2023-01-17 Rovi Guides, Inc. Systems and methods for distinguishing valid voice commands from false voice commands in an interactive media guidance application
US10395650B2 (en) 2017-06-05 2019-08-27 Google Llc Recorded media hotword trigger suppression
US11445235B2 (en) * 2017-10-24 2022-09-13 Comcast Cable Communications, Llc Determining context to initiate interactivity
US10152966B1 (en) * 2017-10-31 2018-12-11 Comcast Cable Communications, Llc Preventing unwanted activation of a hands free device
US10276175B1 (en) 2017-11-28 2019-04-30 Google Llc Key phrase detection with audio watermarking

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Saraju P. Mohanty. Digital watermarking: A tutorial review. URL: http://www. csee. usf. edu/~ smohanty/research/Reports/WMSurvey1999Mohanty. 1999.*

Also Published As

Publication number Publication date
US10276175B1 (en) 2019-04-30
EP3828741B1 (en) 2023-03-08
EP3664091B1 (en) 2021-02-17
JP6883119B2 (ja) 2021-06-09
EP3529804B1 (en) 2020-02-05
KR20220027251A (ko) 2022-03-07
US20200372922A1 (en) 2020-11-26
WO2019108275A1 (en) 2019-06-06
KR102469262B1 (ko) 2022-11-22
US10777210B2 (en) 2020-09-15
EP3664091A1 (en) 2020-06-10
CN110692055B (zh) 2021-05-04
EP4202737A1 (en) 2023-06-28
JP7160967B2 (ja) 2022-10-25
US11727947B2 (en) 2023-08-15
JP2020526781A (ja) 2020-08-31
US20190214030A1 (en) 2019-07-11
KR20190141767A (ko) 2019-12-24
US20220093114A1 (en) 2022-03-24
CN110692055A (zh) 2020-01-14
JP2021071733A (ja) 2021-05-06
CN113138743A (zh) 2021-07-20
EP3828741A1 (en) 2021-06-02
US11211076B2 (en) 2021-12-28
EP3529804A1 (en) 2019-08-28
CN113138743B (zh) 2022-10-14

Similar Documents

Publication Publication Date Title
KR102363872B1 (ko) 오디오 워터 마킹을 이용한 키 구문 검출
US20210287678A1 (en) Server side hotwording
CN105793921A (zh) 基于部分热词发起动作
US20140337030A1 (en) Adaptive audio frame processing for keyword detection
KR20140074549A (ko) 음성인식 기술을 이용한 상황 인식 서비스 제공 방법 및 장치
KR102451034B1 (ko) 화자 구분
US20190295541A1 (en) Modifying spoken commands
US10313845B2 (en) Proactive speech detection and alerting
US11749287B2 (en) Device finder using voice authentication

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)