Nothing Special   »   [go: up one dir, main page]

KR101622493B1 - 오디오 피처 데이터의 추출 및 분석 - Google Patents

오디오 피처 데이터의 추출 및 분석 Download PDF

Info

Publication number
KR101622493B1
KR101622493B1 KR1020147011118A KR20147011118A KR101622493B1 KR 101622493 B1 KR101622493 B1 KR 101622493B1 KR 1020147011118 A KR1020147011118 A KR 1020147011118A KR 20147011118 A KR20147011118 A KR 20147011118A KR 101622493 B1 KR101622493 B1 KR 101622493B1
Authority
KR
South Korea
Prior art keywords
processor
codec
audio
feature data
data
Prior art date
Application number
KR1020147011118A
Other languages
English (en)
Other versions
KR20140082737A (ko
Inventor
규웅 황
기선 유
민호 진
페테르 이반 스하
쿽룽 챈
?룽 챈
태수 김
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20140082737A publication Critical patent/KR20140082737A/ko
Application granted granted Critical
Publication of KR101622493B1 publication Critical patent/KR101622493B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. Transmission Power Control [TPC] or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0274Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof
    • H04W52/028Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof switching on or off only a part of the equipment circuit blocks
    • 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/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • 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/04Speech 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 using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. Transmission Power Control [TPC] or power classes
    • H04W52/02Power saving arrangements
    • 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/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • 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/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Telephone Function (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Power Sources (AREA)

Abstract

특정 방법은 프로세서에서 저전력 상태 밖으로의 천이를 포함한다. 이 방법은 또한 저전력 상태 밖으로의 천이 후에, 버퍼로부터 오디오 피처 데이터를 취출하는 것을 포함한다. 오디오 피처 데이터는 프로세서의 저전력 상태 동안 수신된 오디오 데이터의 특징들을 나타낸다.

Description

오디오 피처 데이터의 추출 및 분석{EXTRACTION AND ANALYSIS OF AUDIO FEATURE DATA}
본 출원은 2011년 11월 1일 출원된 미국 가출원 제 61/554,318 호, 및 2012년 5월 30일 출원된 미국 비가출원 제 13/483,732 호로부터의 우선권을 주장하고, 이들의 각각의 내용은 그 전체가 참조에 의해 본원에 통합된다.
본 개시는 일반적으로 오디오 피처 데이터 (audio feature data) 의 추출 및 분석에 관련된다.
기술의 진보는 보다 작고 보다 강한 컴퓨팅 디바이스들을 발생시켰다. 예를 들어, 작고 경량이며 사용자들에 의해 쉽게 운반되는 휴대용 무선 전화기들, 개인 휴대용 정보 단말기 (PDA) 들, 페이징 디바이스들과 같은 무선 컴퓨팅 디바이스들을 포함하는 다양한 휴대용 개인 컴퓨팅 디바이스들이 현재 존재한다. 보다 구체적으로, 셀룰러 전화기들 및 인터넷 프로토콜 (IP) 전화기들과 같은 휴대용 무선 전화기들은 무선 네트워크들을 통해 음성 및 데이터 패킷들을 통신할 수 있다. 또한, 많은 이러한 무선 전화기들은 거기에 통합된 다른 유형들의 디바이스들을 포함한다. 예를 들어, 무선 전화기는 디지털 스틸 카메라, 디지털 비디오 카메라, 디지털 레코더, 및 오디오 파일 플레이어를 또한 포함할 수 있다.
무선 전화기 내로 통합된 디바이스들의 수가 증가함에 따라, 그 무선 전화기에서의 배터리 자원은 더 부족하게 될 수도 있다. 배터리 자원을 아끼기 위해, 무선 전화기는 비활성 주기 후에 "유휴 (idle)" 또는 "휴면 (sleep)" 모드로 천이할 수도 있다. 무선 전화기는 네트워크 이벤트 (예를 들어, 전화 호를 수신하는 것) 또는 사용자 입력 (예를 들어, 무선 전화기의 버튼을 사용자가 누르는 것) 에 응답하여 "활성 (active)" 또는 "웨이크 (wake)" 모드로 다시 역으로 천이할 수도 있다. 몇몇 디바이스들은 또한 음성 명령들과 같은 오디오 입력에 응답하여 "웨이크 업 (wake up)" 할 능력을 또한 포함할 수도 있다. 하지만, 이러한 기능성을 구현하기 위해, 디바이스의 프로세서(들) 및 다른 컴포넌트들은 "상시 온 (always on)" 모드에서 실행될 수도 있고, 지속적으로 전력을 소모할 수도 있어, 이는 디바이스의 전체 배터리 수명을 감소시킬 수도 있다.
오디오 피처 데이터를 추출 및 분석하는 저전력 시스템 및 방법이 개시된다. 예를 들어, 본원에 개시된 기술들은 감소된 전력 소모로 전자 디바이스 (예를 들어, 무선 전화기) 에서 사운드-감지 기능성을 가능하게 할 수도 있다. 전자 디바이스는 프로세서 (예를 들어, 오디오 디지털 신호 프로세서 (DSP)) 에 커플링된 저전력 코더/디코더 (CODEC) 를 포함할 수도 있다. 시스템은 다수의 동작 모드들을 가질 수도 있고, 각 모드는 프로세서 활동 (activity) 에 대한 CODEC 활동의 상이한 비 (ratio) 에 대응한다. 예를 들어, 제 1 모드에서, CODEC 은 연속적으로 동작할 수도 있고 프로세서는 제 1 레이트로 듀티-사이클링될 수도 있다. 예를 들어, 프로세서는 10% 듀티 사이클 (duty cycle) (즉, 10% 의 활성 시간 및 90% 의 유휴 시간) 에 따라 동작할 수도 있다. 제 2 모드에서, CODEC 이 또한 듀티-사이클링될 수도 있다. CODEC 은 상이한 모드들에서 상이한 레이트들로 듀티-사이클링될 수도 있다. 몇몇 모드들에서, CODEC 의 활동은 프로세서의 활동보다 크거나 같을 수도 있다. 프로세서가 심한 계산 부하를 가질 때와 같은, 다른 모드들에서, 프로세서의 활동은 CODEC 의 활동보다 클 수도 있다. CODEC 은 (예를 들어, 디바이스의 마이크로폰으로부터) 오디오 데이터를 수신하고 그 오디오 데이터로부터 오디오 피처들을 추출할 수도 있다. 프로세서는 오디오 피처들을 분석할 수도 있고 그 분석에 기초하여 하나 이상의 액션들을 수행할 수도 있다. 예를 들어, 프로세서는 그 분석에 기초하여 전자 디바이스의 하나 이상의 컴포넌트들을 활성화시킬 수도 있다.
특정 실시형태에서, 방법은 프로세서에서 저전력 상태로부터 빠져나오는 천이를 포함한다. 이 방법은 또한, 프로세서가, 저전력 상태로부터 빠져나오는 천이 후에, 버퍼로부터 오디오 피처 데이터를 취출하는 것을 또한 포함한다. 오디오 피처 데이터는 프로세서의 저전력 상태 동안 수신된 오디오 데이터의 특징들 (features) 을 나타낸다. 몇몇 실시형태들에서, 프로세서가 저전력 상태에 있은 동안 그 프로세서에 커플링된 CODEC 에 의해 오디오 데이터가 수신되었을 수도 있고 오디오 피처 데이터가 추출되었을 수도 있다.
다른 특정 실시형태에서, 방법은 CODEC 에서 오디오 데이터의 프레임을 수신하는 것을 포함한다. 이 방법은 또한 오디오 데이터의 프레임으로부터 오디오 피처 데이터를 추출하는 것을 포함한다. 이 방법은 추가로, 듀티-사이클링된 (duty-cycled) 프로세서의 활성 상태 동안 듀티-사이클링된 프로세서에 의해 액세스가능하게 될 버퍼에 추출된 오디오 피처 데이터를 저장하는 것을 포함한다.
또 다른 특정 실시형태에서, 장치는, 프로세서 및 (프로세서가 저전력 상태에 있는지 또는 활성 상태에 있는지 여부에 관계 없이) 하나 이상의 오디오 데이터의 프레임들을 필터링하여 필터링된 오디오 데이터의 에너지들을 생성하도록 구성된 복수의 필터들을 포함한다. 이 장치는 또한, 그 필터링된 오디오 데이터의 에너지들에 기초하여 오디오 피처 데이터를 생성하도록 구성된 컨버터를 포함한다. 이 장치는 추가로, 오디오 피처 데이터에 대해 변환 함수 (transform function) 를 적용하여 변환된 데이터를 생성하도록 구성된 변환기 (transformer) 를 포함한다. 이 프로세서는, 저전력 상태로부터 빠져나와 활성 상태로 천이하는 것 후에 변환된 데이터에 대해 하나 이상의 동작들을 수행하도록 구성된다.
또 다른 실시형태에서, 장치는, 프로세서의 애플리케이션 컨텍스트 (context) 에 기초하여 제 1 모드에서의 동작과 제 2 모드에서의 동작 사이를 동적으로 스위칭하도록 구성된 프로세서를 포함한다. 프로세서는 또한 저전력 상태로부터 빠져나오는 천이 후에 버퍼로부터 오디오 피처 데이터를 취출하고 프로세싱하도록 구성된다. 오디오 피처 데이터는 프로세서가 저전력 상태에 있는 동안 CODEC 에 의해 수신된 오디오 데이터의 특징들을 나타낸다. 제 1 모드에서의 프로세서 활동에 대한 CODEC 활동의 비는, 제 2 모드에서의 프로세서 활동에 대한 CODEC 활동의 비보다 크다.
또 다른 특정 실시형태에서, 비-일시적 (non-transitory) 프로세서-판독가능 매체는, 프로세서에 의해 실행될 때 그 프로세서로 하여금, 제 1 모드에서의 동작과 제 2 모드에서의 동작 사이를 동적으로 스위칭하게 하는 명령들을 포함한다. 제 1 모드에서의 프로세서 활동에 대한 CODEC 활동의 비는 제 2 모드에서의 프로세서 활동에 대한 CODEC 활동의 비보다 크다. 이 명령들은 또한, 실행될 때, 프로세서로 하여금, 듀티 사이클 동안 저전력 상태로부터 빠져나오는 천이를 하고 저전력 상태 동안 추출되는 오디오 피처 데이터를 분석하게 한다. 이 명령들은 추가로, 실행될 때, 프로세서로 하여금, 저전력 상태로 다시 역으로 천이하게 한다.
개시된 실시형태들 중 적어도 하나에 의해 제공되는 특별한 이점들은, 상시 온 저전력 CODEC (또는 듀티-사이클링된 CODEC) 및 듀티-사이클링된 프로세서의 사용에 의해 오디오 피처 데이터를 추출 및 분석하기 위한 전자 디바이스의 능력을 포함한다.
예를 들어, 오디오 피처 데이터는 듀티-사이클링된 프로세서가 저전력 상태에 있는 동안 CODEC 에 의해 수신된 오디오 데이터의 특성들을 나타낼 수도 있다. 오디오 피처 데이터의 추출 및 분석은, 상시 온 CODEC 및 상시 온 오디오 프로세서를 포함하는 시스템들에 비해 감소된 전력 소모로 수행될 수도 있다. 오디오 피처 데이터의 분석은 전자 디바이스의 터치스크린 또는 다른 컴포넌트를 활성화하는 것과 같은 다양한 동작들을 트리거 (trigger) 할 수도 있다.
본 개시의 다른 양태들, 이점들, 및 특징들은, 이하의 섹션들: 도면의 간단한 설명, 상세한 설명, 및 청구범위를 포함하는, 전체 출원의 검토 후에 명백하게 될 것이다.
도 1 은 오디오 피처 데이터를 추출 및 분석하도록 동작가능한 시스템의 특정 실시형태를 나타내기 위한 도이다.
도 2 는 오디오 피처 데이터를 추출 및 분석하도록 동작가능한 시스템의 다른 특정 실시형태를 나타내기 위한 도이다.
도 3 은 도 2 의 CODEC 및 도 2 의 프로세서 사이의 분할된 동작들의 특정 실시형태들을 나타내기 위한 도이다.
도 4 는 도 1 의 시스템 또는 도 2 의 시스템에서의 동작의 특정 실시형태를 나타내기 위한 도이다.
도 5 는 도 1 의 시스템 또는 도 2 의 시스템에서의 전력 소모의 특정 실시형태를 나타내기 위한 도이다.
도 6 은 듀티-사이클링된 프로세서에서 오디오 피처 데이터에 대해 사운드 인식을 수행하는 방법의 특정 실시형태를 나타내기 위한 흐름도이다.
도 7 은 CODEC 에서 오디오 피처 데이터를 추출하는 방법의 특정 실시형태를 나타내기 위한 흐름도이다.
도 8 은 프로세서에서 저장-및-포워드 모드에서의 동작과 다이렉트 전송 모드에서의 동작 사이에 동적으로 스위칭하는 방법의 특정 실시형태를 나타내기 위한 흐름도이다.
도 9 는 전자 디바이스의 저전력 컴포넌트들에 의해 전자 디바이스의 고전력 컴포넌트들의 스태거링된 계층적 활성화를 수행하는 방법의 특정 실시형태를 나타내기 위한 흐름도이다.
도 10 은 도 1 ~ 도 9 의 시스템들 및 방법들에 따라 오디오 피처 데이터를 추출 및 분석하도록 동작가능한 무선 디바이스의 블록도이다.
도 1 을 참조하면, 오디오 피처 데이터를 추출 및 분석하도록 동작가능한 시스템의 특정의 실시형태가 도시되고 일반적으로 100 으로 지정된다. 시스템 (100) 은 프로세서 (150) 에 커플링된 코더/디코더 (CODEC) (120) 을 포함한다. 특정의 실시형태에서, 프로세서 (150) 는 오디오 DSP 와 같은 디지털 신호 프로세서 (DSP) 일 수도 있다. 일부 실시형태들에서, 버퍼 (140) 는 도시된 바와 같이 CODEC (120) 과 프로세서 (150) 사이에 위치될 수도 있다. 대안적인 실시형태들에서, 버퍼 (140) 는 도 2 및 도 3 을 참조하여 더 기술되는 바와 같이 CODEC (120) 또는 프로세서 (150) 에 대해 내부에 있을 수도 있다.
특정의 실시형태에서, CODEC (120) 은 연속적으로 동작할 수도 있고 오디오 데이터 (110) 를 수신할 수도 있다. 예를 들어, 오디오 데이터 (110) 는 마이크로폰 또는 CODEC (120) 에 커플링되는 다른 사운드 입력 디바이스에 의해 생성될 수도 있다. 오디오 데이터 (110) 는 "미가공 (raw)" (즉, 프로세싱되지 않고/않거나 압축되지 않은) 오디오 데이터일 수도 있다. CODEC (120) 은 오디오 데이터 (110) 로부터 오디오 피처들을 추출하도록 구성되어, 오디오 피처 데이터 (130) 를 생성할 수도 있다. 특정의 실시형태에서, 오디오 피처 데이터 (130) 는 오디오 데이터 (110) 보다 사이즈에 있어서 실질적으로 더 작을 수도 있다. CODEC (120) 은 버퍼 (140) (예를 들어, 랜덤 액세스 메모리 (RAM) 버퍼) 에 오디오 피처 데이터 (130) 를 저장할 수도 있다. 특정의 실시형태에서, 오디오 피처 데이터 (130) 는 피치, 톤, 볼륨, 및/또는 리듬 특성들과 같은 오디오 데이터 (110) 의 특정의 특성들을 나타낼 수도 있다. CODEC (120) 는 또한 오디오 피처 데이터 (130) 를 추출한 후 오디오 데이터 (110) 를 폐기할 수도 있다.
프로세서 (150) 는 듀티 사이클에 따라 동작할 수도 있다. 설명하자면, 프로세서 (150) 가 10% 듀티 사이클에 따라 동작하는 경우, 프로세서 (150) 는 시간의 10% 동안 "활성" 이고 (즉, 고전력 상태이고), 시간의 90% 동안 "유휴 (idle)" 이다 (즉, 저전력 상태이다). 특정의 실시형태에서, 프로세서 (150) 는 프로그램가능한 시간 주기 (예를 들어, 프로세서 (150) 의 듀티 사이클이 프로그램가능할 수도 있다) 의 만료에 응답하여 활성 상태와 유휴 상태 사이에서 주기적으로 천이할 수도 있다. 듀티-사이클링된 프로세서 (150) 는 따라서 "상시 온 (always on)" 인 프로세서보다 더 적은 전력을 소모할 수도 있다.
저전력 상태로부터 밖으로 천이 후, 프로세서 (150) 는 버퍼 (140) 로부터 오디오 피처 데이터 (130) 를 취출하고 취출된 오디오 피처 데이터 (130) 를 분석할 수도 있다. 프로세서 (150) 는 그 분석의 결과에 기초하여 하나 이상의 동작들을 수행할 수도 있다. 예를 들어, 시스템 (100) 이 무선 전화와 같은 전자 디바이스에 집적되는 경우, 프로세서 (150) 는 전자 디바이스 (예를 들어, 애플리케이션 서버 또는 도 10 을 참조하여 더 기술되는 바와 같은 이동국 모뎀 (MSM) 의 일부) 의 하나 이상의 컴포넌트들을 활성화하기 위해 오디오 피처 데이터 (130) 의 분석에 기초하여 활성화 신호 (160) 를 생성할 수도 있다.
동작 동안, CODEC (120) 은 오디오 데이터 (110) 의 프레임들을 연속적으로 수신하고 버퍼 (140) 에 오디오 데이터 (110) 로부터 추출된 오디오 피처 데이터 (130) 를 저장할 수도 있다. 예를 들어, 오디오 데이터 (110) 의 각 프레임은 20 ms 길이일 수도 있다. 특정의 실시형태에서, 더 새로운 오디오 피처 데이터 (130) 는 선입 선출 폴리시 (first-in-first-out policy) 에 따라 버퍼 (140) 에 더 오래된 오디오 피처 데이터 (130) 를 오버라이트 (overwrite) 할 수도 있다.
도 1 에 도시된 바와 같이 연속적으로 동작하는 대신에 CODEC (120) 은 대신 듀티-사이클링될 수도 있다는 것을 주목해야 한다. 예를 들어, CODEC (120) 이 원하는 것보다 덜 전력 효율적이거나 "레거시 (legacy)" CODEC 인 경우, CODEC (120) 은 듀티-사이클링될 수도 있다. 일반적으로, 비록 CODEC (120) 이 듀티-사이클링될지라도, CODEC (120) 은 프로세서 (150) 보다 더 활성일 수도 있다. 따라서, 시스템 (100) 은 다중 동작 모드들을 지원할 수도 있다. 제 1 모드에서, CODEC (120) 은 더욱 빈번한 오디오 신호 프로세싱을 수행할 수도 있고 아마 더욱 많은 전력을 소모할 수도 있다. 제 2 모드에서는, CODEC (120) 은 덜 빈번한 오디오 신호 프로세싱을 수행할 수도 있고 아마 더 적은 전력을 소모할 수도 있다. 프로세서 (150) 는 제 1 모드에서 및 제 2 모드에서 동일한 듀티 사이클을 가질 수도 있다.
여러 구현들이, 각 모드가 프로세스 활동에 대한 CODEC 활동의 상이한 비율을 갖는 이중 모드 (또는 다중 모드) 시스템 (100) 에 의해 지원될 수도 있다. 예를 들어, 더 높은 활성 모드는 연속적으로 동작하는 CODEC (120) 및 제 1 레이트 (예를 들어, D1) 로 듀티-사이클링된 프로세서 (150) 를 수반할 수도 있고, 더 낮은 활성 모드는 제 1 레이트 이상인 제 2 레이트 (예를 들어, D2) (예를 들어, D2 ≥ D1) 로 듀티-사이클링된 CODEC (120) 을 수반할 수도 있다. 다른 예로서, 더 높은 활성 모드는 제 1 레이트 (예를 들어, D1) 로 듀티-사이클링된 CODEC (120) 및 제 2 레이트 (예를 들어, D2) 로 듀티-사이클링된 프로세서 (150) 를 수반할 수도 있고, 더 낮은 활성 모드는 제 3 레이트 (예를 들어, D3) 로 듀티-사이클링된 CODEC (120) 및 제 2 레이트 (예를 들어, D2) 로 듀티-사이클링된 프로세서 (150) 를 수반할 수도 있다. 제 1 레이트는 제 2 레이트보다 실질적으로 더 클 수도 있고 (예를 들어, D1 >> D2), 제 3 레이트는 제 2 레이트 이상일 수도 있다 (예를 들어, D3 ≥ D2). 선택된 구현들은 또한 무거운 프로세서 계산 부하의 주기들 동안과 같이 CODEC 활동이 프로세서 활동 이하인 모드들을 지원할 수도 있다. 예를 들어, 제 3 레이트는 제 2 레이트 이하일 수도 있다 (예를 들어, D3 ≤ D2).
CODEC (120) 및 프로세서 (150) 가 얼마나 빈번하게 활성인지에 따라, 시스템 (100) 은 저장-및-포워드 (store-and-forward) 모드에서 또는 다이렉트 전송 (direct transfer) 모드에서 효과적으로 작동하고 있을 수도 있다. 저장-및-포워드 모드에서, 프로세서 (150) 는 저전력 상태 밖으로 천이 시에 버퍼 (140) 를 비울 수도 있다. 즉, 프로세서 (150) 는, 프로세서 (150) 가 저전력 모드에 있는 동안 CODEC (120) 에 의해 취출되는 오디오 데이터 (110) 의 모든 프레임 (또는 다수의 프레임들) 에 대응하는 오디오 피처 데이터 (130) 를 취출할 수도 있다. 다이렉트 전송 모드에서, 프로세서 (150) 는 오디오 데이터 (110) 의 단일의 프레임 (예를 들어, 오디오 데이터 (110) 의 가장 최근에 수신된 프레임) 에 대응하는 오디오 피처 데이터 (130) 를 취출할 수도 있다. 특정의 실시형태에서, 프로세서 (150) 는 도 2 및 도 4 를 참조하여 더욱 기술되는 바와 같이, 프로세서 (150) 의 애플리케이션 컨텍스트에 기초하여 저장-및-포워드 모드에서의 동작과 다이렉트 전송 모드에서의 동작 사이에, 및/또는 더 높은 활성 모드와 더 낮은 활성 모드 사이에 (더 높은 활성 모드는 더 낮은 활성 모드보다 프로세서 활동에 대한 더 높은 CODEC 활동 비율을 갖는다) 동적으로 스위칭할 수도 있다.
오디오 피처 데이터 (130) 를 취출한 후, 프로세서 (150) 는 오디오 피처 데이터 (130) 를 분석하고 그 분석에 기초하여 활성화 신호 (160) 를 생성할 수도 있다. 예를 들어, 오디오 피처 데이터 (130) 의 분석이 특정의 음성 입력 명령 (예를 들어, "웨이크 업 (wake up)") 을 식별하는 경우, 프로세서 (150) 는 전자 디바이스의 여러 컴포넌트들을 활성화하기 위해 활성화 신호 (160) 를 생성할 수도 있다.
듀티-사이클링된 프로세서를 포함하는 도 1 의 시스템 (100) 은 상시 온인 CODEC 및 상시 온인 프로세서를 갖는 시스템보다 더 낮은 전력에서 오디오 피처 추출 및 분석을 가능하게 할 수도 있다. 또한, 미가공 오디오 데이터 대신 오디오 피처들을 버퍼링함으로써, 도 1 의 시스템 (100) 은 메모리 사용의 감소된 양으로 오디오 분석을 수행할 수도 있다.
도 2 를 참조하면, 오디오 피처 데이터를 추출 및 분석하도록 동작가능한 시스템의 다른 특정의 실시형태가 도시되고 일반적으로 200 으로 지정된다. 시스템 (200) 은 프로세서 (230) (예를 들어, 도 1 의 프로세서 (150)) 에 커플링된 CODEC (220) (예를 들어, 도 1 의 CODEC (120)) 을 포함할 수도 있다. CODEC (220) 은 또한 예시의 마이크로폰 (210) 과 같은 사운드 입력 디바이스에 커플링될 수도 있다.
CODEC (220) 은 마이크로폰 (210) 으로부터 아날로그 오디오 데이터 (212) 를 수신하고 아날로그 오디오 데이터 (212) 를 디지털 오디오 데이터로 변환하는 아날로그 대 디지털 컨버터 (ADC) (221) 를 포함할 수도 있다. 마이크로폰 (210) 이 디지털 오디오 데이터를 생성하는 대안적인 실시형태에서, ADC 는 존재하지 않을 수도 있다.
CODEC (220) 은 또한 오디오 데이터 (212) 로부터 오디오 피처들 (226) 을 추출하도록 구성된 피처 추출기 (222) 를 포함할 수도 있다. 특정의 실시형태에서, 피처 추출기 (222) 는 필터링된 오디오 데이터의 에너지들 (224) (예를 들어, 멜-대역 (mel-band) 에너지들) 을 생성하기 위해 오디오 데이터 (212) 를 필터링하는 복수의 필터들 (223) 을 포함할 수도 있다. 예를 들어, 필터들 (223) 은 각각의 멜-대역 필터가 인간 감지 주파수 스케일 (예를 들어, 옥타브) 의 상이한 부분에 대응하는 멜-대역 필터들일 수도 있다. 예를 들자면, 필터들 (223) 은 22 개의 옥타브들에 대응하는 멜-대역 에너지들 (224) 을 생성하는 22 개의 멜-대역 필터들을 포함할 수도 있다. 대안적인 실시형태에서, 피처 추출기 (222) 고속 푸리에 변환 (FFT) 기반 피처 추출을 수행할 수도 있다.
피처 추출기 (222) 는 또한 로그 컨버터 (225) 를 포함할 수도 있다. 로그 컨버터 (225) 는 추출된 오디오 피처들 (226) 을 생성하기 위해 필터링된 오디오 데이터의 에너지들 (224) 에 로그 함수를 적용할 수도 있다. 추출된 오디오 피처들 (226) 은 버퍼 (예를 들어, RAM 버퍼) (227) 에 저장될 수도 있다. 추출된 오디오 피처들 (226) 은 콤팩트 (compact) 하게 설계된 오디오 피처들 (예를 들어, 각각의 20 ms 프레임으로부터의 22 개의 로그 멜-대역 에너지들) 을 갖는 오디오 데이터 (212) 보다 사이즈에서 실질적으로 더 작을 수도 있다. 예를 들자면, 오디오 데이터 (212) 는 16 kHz, 16 비트 해상도를 가질 수도 있다. 오디오 데이터 (212) 의 (예를 들어, 10 개의 프레임들에 대응하는) 200 ms 는 6400 바이트들의 스페이스를 점유할 수도 있다. 그러나, 10 개의 프레임들에 대한 추출된 오디오 피처들 (226) 은 단지 220 바이트의 스페이스 (10 프레임 x 프레임당 22 피처 x 피처당 1 바이트) 만을 점유할 수도 있다. 따라서, 버퍼 (227) 에 미가공 오디오 데이터 (212) 대신에 추출된 오디오 피처들 (226) 을 저장함으로써, 버퍼 (227) 는 상대적으로 작게 유지될 수도 있고 상대적으로 더 적은 전력을 소모할 수도 있다.
프로세서 (230) 는 상태 천이 로직 (231) 을 포함할 수도 있다. 특정의 실시형태에서, 상태 천이 로직 (231) 은 (예를 들어, 듀티 사이클에 따라) 저전력 상태로 및 저전력 상태 밖으로 프로세서 (230) 를 천이시킬 수도 있다. 저전력 상태 밖으로의 천이 시, 프로세서 (230) 는 버퍼 (227) 로부터 추출된 오디오 피처들 (226) 을 취출할 수도 있다. 변환기 (233) 는 추출된 오디오 피처들 (226) 에 변환 함수을 적용하여 변환된 오디오 피처 데이터 (234) 를 생성할 수도 있다. 특정의 실시형태에서, 변환기 (233) 는 이산 코사인 변환 (DCT) 함수를 적용하도록 구성될 수도 있다. 예를 들자면, 추출된 오디오 피처들 (226) 이 프레임당 22 개의 멜-대역들에 대응하는 피처들을 포함하는 추출된 오디오 피처들 (226) 을 변환하는 것은 DCT 계수들의 12 개의 엘리먼트들을 취함으로써 프레임당 12 개의 멜-주파수 캡스트럴 계수들 (mel-frequency cepstral coefficients: MFCCs) 을 생성할 수도 있다.
프로세서 (230) 는 또한 변환된 오디오 피처 데이터 (234) 를 분석하도록 구성된 하나 이상의 사운드 인식 모듈들 (241-245) 을 포함할 수도 있다. 특정의 실시형태에서, 어느 사운드 인식 모듈들 (241-245) 이 활성인지는 프로세서 (230) 가 어느 모드에서 동작 중인지에 달려있을 수도 있다. 설명하자면, 프로세서 (230) 에서의 동적 모드-스위칭 로직 (232) 은 컨텍스트 (예를 들어, 애플리케이션 컨텍스트) 에 기초하여 프로세서 (230) 의 동작을 동적으로 스위칭할 수도 있다. 예를 들어, 도 2 의 시스템 (200) 을 포함하는 디바이스가 청취 로케이션 (listen location), 연속적인 오디오 핑거프린팅, 및/또는 연속적인 키워드 검출을 수반하는 애플리케이션 또는 다른 동작을 실행하는 경우, 로직 (232) 은 프로세서 (230) 로 하여금 (예를 들어, 오디오 데이터의 다수의 프레임들로부터의 피처들이 프로세서 (230) 가 활성일 때마다 프로세싱되는) 저장-및-포워드 모드에서 동작하게 할 수도 있고, 모듈들 (241-243) 은 활성일 수도 있다. 다른 예로서, 디바이스가 타겟 사운드 검출 (예를 들어, 특정의 음악 또는 스피치의 검출) 및/또는 신규성 (novelty) 검출을 수반하는 애플리케이션을 실행하는 경우, 로직 (232) 은 프로세서 (230) 로 하여금 (예를 들어, 오디오 데이터의 단일의 프레임으로부터의 피처들이 프로세서 (230) 가 활성일 때마다 프로세싱되는) 다이렉트 전송 모드에서 또는 저장-및-포워드 모드에서 동작하게 할 수도 있고, 모듈들 (244-245) 이 활성일 수도 있다. 대안의 실시형태들에서, 동적 모드-스위칭 로직 (232) 은 예를 들어 오디오 데이터 (212) 및/또는 오디오 피처들 (226) 의 특성들을 포함하는 다른 팩터들에 기초하여 프로세서 (230) 의 동작을 스위칭할 수도 있다.
청취 로케이션 모듈 (241) 은 입력 사운드를 오디오 서명들 (signatures) 로 변환할 수도 있다. 서명들은 서버 (도시하지 않음) 로 전송될 수도 있고, 서버는 그 서명들을 다른 디바이스들로부터 수신된 서명들과 비교할 수도 있다. 상이한 디바이스들로부터의 서명들이 유사한 경우, 서버는 상이한 디바이스들이 동일한 음향 공간 내에 있다고 결정할 수도 있으며, 이는 상이한 디바이스들이 동일한 컨텐츠를 청취하면서 동일한 물리적 로케이션에 있거나 주변 사운드에 의해 결정된 유사한 컨텍스트를 갖는 것을 나타낼 수도 있다. 예를 들어, 청취 로케이션은 사람들을 그룹핑하고/하거나 일 그룹의 사람들과 아이템을 공유하기 위해 소셜 네트워크 서비스에서 사용될 수도 있다.
연속적 오디오 핑거프린팅 모듈 (242) 은 미리 등록된 (예를 들어, 미리결정된) 사운드 스냅숏들의 존재를 검출하기를 시도할 수도 있다. 타겟 사운드 또는 환경 검출과 달리, 연속적인 오디오 핑거프린팅은 채널 열화와 관련된 왜곡, 등화, 스피드 변화, 디지털 대 아날로그 또는 아날로그 대 디지털 변환 등과 같은 사운드 품질 왜곡들의 존재에서의 지각적으로 동일한 사운드 스냅숏들을 강건하게 검출할 수도 있다. 연속적인 오디오 핑거프린팅은 따라서 음악 및 브로드캐스트 식별 시나리오들에서의 애플리케이션을 발견할 수도 있다.
연속적 키워드 검출 모듈 (243) 은 사운드 입력을 수신할 수도 있고 미리 등록된 (예를 들어, 미리 결정된) 키워드 세트들의 존재를 검출할 수도 있다. 연속적 키워드 검출은 상대적으로 저전력 상태에서 수행될 수도 있고, 검출된 키워드들에 기초하여 미리정의된 애플리케이션들을 활성화할 수도 있다. 미리결정된 키워드 세트는 애플리케이션 프로세서에 의해 프로그램가능할 수도 있다. 특정의 실시형태에서, 키워드들에 대한 모델들은 애플리케이션 프로세서에 의해 다운로드될 수도 있다. 연속적 키워드 검출은 따라서 전용 음성 명령 버튼 또는 비구두의 (non-verbal) 사용자 입력의 사용 없이 음성-활성화 명령들을 가능하게 할 수도 있다.
타겟 사운드 검출 모듈 (244) 은 사운드의 타입을 검출할 수도 있고, 사운드에 응답하도록 대응하는 애플리케이션들에게 통지할 수도 있다. 예를 들어, 스피치 검출 시에, 타겟 사운드 검출은 음성 레코딩 애플리케이션으로 하여금 스피치를 레코드하게 할 수도 있다. 다른 예로서, 음악 검출 시에, 타겟 사운드 검출은 애플리케이션으로 하여금 노래 제목, 아티스트 이름 및 앨범 이름과 같은 음악의 특성들을 식별하게 할 수도 있다.
신규성 검출 모듈 (245) 은 로케이션에서의 변화들 및/또는 활동에서의 변화들에 대응하는 입력 오디오에서의 변화들을 검출할 수도 있다. 신규성 검출은 로케이션 및 사운드 활동을 식별하고, 후속적인 사용 및 분석을 위한 대응하는 시간을 로그 (log) 하기 위해 다른 사운드 인식 동작들 (예를 들어, 청취 로케이션 및 타겟 사운드 검출) 과 함께 사용될 수도 있다. 신규성 검출은 또한 환경적 음향상태에서의 인식가능한 변화가 존재할 때 다른 사운드 인식 동작들을 활성화하는데 사용될 수도 있다.
동작 동안, CODEC (220) 은 마이크로폰으로부터의 오디오 데이터 (212) 의 프레임들을 연속적으로 수신하고, 오디오 데이터 (212) 로부터 오디오 피처들 (226) 을 추출하며, 버퍼 (227) 에 오디오 피처들 (226) 을 저장할 수도 있다. 프로세서 (230) 는 듀티 사이클에 따라 저전력 상태로 및 저전력 상태 밖으로 천이할 수도 있다. 저전력 상태 밖으로 천이한 후, 프로세서 (230) 는 (저장-및-포워드 모드에서 동작하는 경우) 오디오 데이터 (212) 의 복수의 프레임들에 대응하거나 (다이렉트 전송 모드에서 동작하는 경우) 오디오 데이터 (212) 의 단일 프레임에 대응하는 오디오 피처들 (226) 을 취출 및 변환할 수도 있다. 프로세서 (230) 는 또한 도 1 을 참조하여 기술한 바와 같이, 더 높은 활성 모드에서의 동작과 더 낮은 활성 모드에서의 동작 사이에서 천이할 수도 있다. 활성인 경우, 프로세서 (230) 는 사운드 인식 모듈들 (241-245) 중 하나 이상을 통해 변환된 오디오 피처 데이터 (234) 를 분석할 수도 있고, 그 분석에 기초하여 애플리케이션 프로세서 및/또는 이동국 모뎀 (MSM) 의 컴포넌트(들) 또는 다른 컴포넌트를 활성화할지 여부를 결정할 수도 있다.
특정의 실시형태에서, 도 2 의 시스템 (200) 은 다수의 상위 레벨 애플리케이션들 (예를 들어, 음악 인식 애플리케이션, 키워드 검출 애플리케이션 등) 을 서빙할 수 있는 공통 청취 서비스를 제공할 수도 있다. 예를 들어, 공통 청취 서비스는 프로세서 (230) 에 의해 수행된 사운드 인식 동작들의 결과로써 상위 레벨 애플리케이션들을 (예를 들어, 애플리케이션 프로그래밍 인터페이스 (API), 공유 메모리 등을 통해) 제공할 수도 있다. 공통 청취 서비스는 상호동작가능성 이슈들을 감소시킬 수도 있고 각각의 상위 레벨 애플리케이션이 그 자신의 청취 엔진을 갖는 시스템들보다 더욱 전력 효율적일 수도 있다.
도 2 의 시스템 (200) 은 따라서 감소된 전력 소모로 오디오 피처 추출 및 분석을 가능하게 할 수도 있다. 예를 들어, 아날로그 대 디지털 변환 및 피처 추출과 같은 상대적으로 저전력 동작들은 저전력 상시 온 CODEC (또는 듀티-사이클링된 CODEC) 에 통합될 수도 있고, 데이터 변환 및 사운드 인식과 같은 고전력 동작들은 듀티-사이클링된 DSP 내로 통합될 수도 있고 간헐적으로 수행될 수도 있다.
특정의 실시형태에서, 도 2 의 시스템 (200) 은 저전력 컴포넌트들에 의한 고전력 컴포넌트들의 활성화를 포함하는 전자 디바이스에서의 저전력 사용자 인터페이스를 제공할 수도 있다. 설명하자면, 시스템 (200) 은 가청 (예를 들어, 0-16 kHz 샘플링 레이트), 비컨 (예를 들면, 16-24 kHz 샘플링 레이트), 및 초음파 (예를 들어, > 24 kHz 샘플링 레이트) 입력을 지원할 수도 있다. 다수의 타입의 입력을 지원하기 위해, 마이크로폰 (210) 은 오디오, 비컨 및 초음파 신호들을 수신할 수도 있다. 대안적으로, 추가적인 마이크로폰들 또는 컴포넌트들이 초음파 및/또는 비컨 검출을 위해 시스템 (200) 으로 통합될 수도 있다. 사운드 신호들을 전기 신호들로 변환하는데 사용되는 컴포넌트들은 마이크로폰들, 피에조전기 센서들, 및 초음파 트랜스듀서들을 포함할 수도 있지만, 이들에 제한되지 않는다. 저전력 CODEC (220) 은 수신된 신호들에 대해 코어스 (coarse) 검출/분류 (290) 을 수행할 수도 있다. 도 2 는 아날로그 대 디지털 컨버터 (221) 의 출력에 대해 수행되는 코어스 검출/분류 (290) 를 도시하지만, 대안적인 실시형태들은 대신에 아날로그 신호들에 대한 코어스 검출/분류 (290) 를 수행하는 것을 포함할 수도 있다. 코어스 검출/분류 (290) 의 결과들에 따라, CODEC (220) 은 활성화 신호 (292) 를 통해 고전력 프로세서 (230) 를 활성화할 수도 있다. 예를 들어, 프로세서 (230) 는 코어스 검출/분류 (290) 가 초음파 입력이 수신되었다는 것을 나타내는 경우 활성화될 수도 있다.
도 2 는 2-레벨 활성화 계층 (즉, CODEC (220) 및 프로세서 (230)) 을 도시하지만, 임의의 수의 레벨들이 구현될 수도 있다. 예를 들어, 3 레벨 계층에서, 저전력 디지털/아날로그 회로는 고전력 전단 프로세싱 유닛을 활성화할지 여부를 결정하기 위해 코어스 검출을 수행할 수도 있고, 전단 프로세싱 유닛은 최종 검출을 수행하고 애플리케이션들/사용자 인터페이스 컴포넌트들을 실행시키는 균일한 고전력 메인 프로세싱 유닛을 활성화할지 여부를 결정하기 위해 정밀 검출을 수행할 수도 있다. 특정의 실시형태에서, 디지털/아날로그 회로 및 전단 프로세싱 유닛은 CODEC (220) 에 집적될 수도 있고, 메인 프로세싱 유닛은 프로세서 (230) 에 집적될 수도 있다. 설명하자면, 코어스 검출/분류 블록 (290) 은 CODEC (220) 의 디지털/아날로그 회로로 집적될 수도 있고, 제 1 활성화 신호 (294) 를 통해 CODEC (220) 의 전단 유닛 내의 정밀 검출/분류 블록 (296) 을 선택적으로 활성화할 수도 있다. 정밀 검출/분류 블록 (296) 은 제 2 활성화 신호 (298) 를 통해 프로세서 (230) 에서의 최종 검출/분류 블록을 활성화할 수도 있다. 저전력 컴포넌트들에 의한 고전력 컴포넌트들의 스태거링된 계층적 활성화는 전자 디바이스에서 배터리 수명을 개선할 수도 있다.
여러 검출 및 분류 방법들이 시스템 (200) 에서 사용될 수도 있고, 하나 보다 많은 방법이 즉시 사용될 수도 있다. 특정의 실시형태에서, 평균평방근 (root mean square; RMS) 또는 대역-전력 (band-power) 분류가 수신된 신호가 오디오, 비컨, 및/또는 초음파 범위들에서의 데이터를 포함하는지 여부를 결정하는데 사용될 수도 있다. 시간 도메인 방법은 신호 레벨 검출을 갖는 필터 뱅크들의 사용을 포함할 수도 있고, 여기서 각 필터는 사운드의 특정의 타입을 추출하도록 설계되고 필터 출력 레벨들이 임계값들과 비교되어 사운드들에 자격을 부여한다. 주파수 도메인 방법은 입력 신호를 분류하는데 사용되는 주파수들을 도출하기 위해 멜-스페이싱된 캡스트럴 계수들의 FFT 를 수행하는 것을 포함할 수도 있다. 사운드 컨텐츠 방법은 (예를 들어, 입력 신호들이 초음파 디지털 스타일러스로부터 수신되는지 여부를 결정하기 위해) 기지의 패턴과 입력 신호들을 상관시킴으로써 패턴 매칭을 수반할 수도 있다. 모델 기반 접근법은 입력 신호가 미리결정된 음악 또는 스피치 모델과 매칭하는 확률을 컴퓨팅하는 것을 포함할 수도 있다. 신규성 검출은 입력 사운드 특징들에서의 변화들을 검출하는 것을 수반할 수도 있다. 변화가 검출되면, 애플리케이션들은 컨텍스트 정보 (예를 들어, 디바이스가 실내에 있는지 실외에 있는지 여부) 를 업데이트하기 위해 통지를 받을 수도 있다. 예를 들어, 사용자가 실내 환경으로부터 실외 환경으로 가는 경우, 입력 사운드 특징들에서의 결과적인 변화는 사용자의 이동 전화에서의 애플리케이션이 전화의 링어 (ringer) 볼륨을 증가시키는 것을 초래할 수도 있다.
도 2 의 시스템 (200) 및/또는 그의 컴포넌트들에 대한 사용 케이스들의 예들은: 디바이스들 (예를 들어, 텔레비젼들, 게임 콘솔들, 컴퓨터들, 및 전화들) 을 제어하기 위한 음성 인식, 상황 인지를 위한 오디오 인식, 디지털 스타일러스를 위한 음파 및 펄스 인식 (예를 들어, 초음파의 전송을 통한 디지털 디바이스들로의 핸드라이팅 입력을 위한 초음파 디지털 스타일러스), 초음파 제스쳐 또는 근접성 검출, 초음파를 사용하는 디바이스 대 디바이스 포지셔닝, 음파 터치 검출, 디바이스들의 로케이션들을 식별하는 사운드 비컨들, 오디오 핑거프린팅에 의한 컨텐츠 식별, 사운드 매칭에 의한 피어 (peer) 발견 및 근접성 센싱, 및 사운드 매칭에 의한 로케이션 추정을 포함하지만, 이들에 제한되지 않는다.
도 1 및 도 2 는 CODEC 에 의해 수행되는 피처 추출 및 프로세서에 의해 수행되는 데이터 변환을 도시하지만, 이것은 단지 예시를 위한 것이다. 대안적인 실시형태들에서, 상이한 기능성이 상이한 하드웨어 컴포넌트들에 의해 수행될 수도 있다. 예를 들어, 도 3 을 참조하면, 도 2 의 CODEC (220) 과 도 2 의 프로세서 (예를 들어, DSP) (230) 사이의 분할 동작들의 특정의 실시형태들이 도시되고 일반적으로 300 으로 지정된다.
제 1 실시형태에서, CODEC/DSP 경계는 302 에 위치될 수도 있다. 이러한 제 1 실시형태에서, CODEC 은 ADC (321) 를 포함할 수도 있고, ADC (321) 의 출력은 버퍼링될 수도 있다. DSP 는 (예를 들어, 멜-대역 필터들 (323) 및 로그 컨버터 (325) 를 통한) 피처 추출, (예를 들어, DCT 변환기 (333) 를 통한) 데이터 변환, 및 (예를 들어, 사운드 인식 모듈들 (340) 을 통한) 사운드 인식을 수행할 수도 있다.
제 2 실시형태에서, CODEC/DSP 경계는 304 에 위치될 수도 있다. 따라서, 이러한 제 2 실시형태에서, 피처 추출은 부분적으로는 CODEC 에 의해 수행되고 부분적으로는 DSP 에 의해 수행될 수도 있다. 멜-대역 필터들 (323) 의 출력이 버퍼링될 수도 있다. 데이터 변환 및 사운드 인식은 DSP 에 의해 수행될 수도 있다.
제 3 실시형태에서, CODEC/DSP 경계는 306 에 위치될 수도 있다. 제 3 실시형태는 도 1 의 시스템 (100) 및 도 2 의 시스템 (200) 에 대응할 수도 있다. 이러한 제 3 실시형태에서, 피처 추출은 완전히 CODEC 에 의해 수행될 수도 있고, 로그 컨버터 (325) 의 출력은 버퍼링될 수도 있다. 데이터 변환 및 사운드 인식은 DSP 에 의해 수행될 수도 있다.
제 4 실시형태에서, CODEC/DSP 경계는 308 에 위치될 수도 있다. 이러한 제 4 실시형태에서, 피처 추출 및 데이터 변환 양자는 CODEC 에 의해 수행될 수도 있고, DCT 변환기 (333) 의 출력은 버퍼링될 수도 있다. 사운드 인식은 DSP 에 의해 수행될 수도 있다.
도 1 및 도 2 를 참조하여 설명된 바와 같이, 개시된 기술들은 상시 온 저전력 CODEC (또는 듀티-사이클링된 CODEC), 및 "활성" 일 경우에 그 CODEC 보다 더 많은 전력을 소모하는 듀티-사이클링된 프로세서의 사용을 포함할 수도 있다. 따라서, 상대적으로 저전력의 기능을 CODEC 에 통합하고 상대적으로 고전력의 기능을 DSP 에 남겨 두는 것이 바람직할 수도 있다. 도 3 에 도시된 바와 같이, CODEC/DSP 경계 및 버퍼링 포인트는 다중의 위치들 중 임의의 위치에 유연하게 위치될 수도 있다. 특정 실시형태에 있어서, CODEC/DSP 경계의 위치는 전자 디바이스의 설계 및 테스팅 동안에 결정될 수도 있으며, 전자 디바이스의 전체 전력 소모 및 성능과 같은 팩터들에 기초할 수도 있다.
도 4 를 참조하면, 도 1 의 시스템 (100) 또는 도 2 의 시스템 (200) 에서의 동작의 특정 예시가 도시되고 일반적으로 400 으로 지정된다. 예를 들어, 도 4 는 저장-및-포워드 모드 및 다이렉트 전송 (예를 들어, 실시간 또는 준 실시간) 모드에서의 DSP 동작을 비교한다.
DSP 가 저장-및-포워드 모드에서 동작할 경우, 복수의 필터들 (예를 들어, 22개의 멜-대역 필터들) 을 포함하는 CODEC 은 DSP 가 저전력 상태에 있는 동안, 402 에 나타낸 바와 같이, 수신된 오디오 데이터의 각각의 프레임에 대해 프레임 당 22개의 피처들을 추출 및 축적할 수도 있다. DSP 가 저전력 상태 밖으로 천이를 할 경우, DSP 는, 412 에 나타낸 바와 같이, 축적된 피처들을 취출 및 분석할 수도 있다. 도 4 에 도시된 특정 실시형태에 있어서, DSP 는, 오디오 데이터의 10개 프레임들에 대응하는 오디오 피처들이 CODEC 에 의해 추출된 이후 저전력 상태 밖으로 천이한다. 따라서, 저장-및-포워드 모드에 있어서, DSP 는 저전력 상태로 역으로 다시 천이하기 전에 (10개의 프레임들에 대응하는) 220개의 오디오 피처들을 취출 및 프로세싱할 수도 있다. 이러한 프로세스는, 404 에서의 피처들의 후속 추출, 및 414 에서의 취출된 피처들의 프로세싱에 의해 나타낸 바와 같이 계속될 수도 있다.
오디오 피처 손실 및 버퍼 오버플로우를 회피시키거나 감소시키기 위해, 저장-및-포워드 모드에서 동작할 경우, DSP 는 프로그램가능한 시간 주기에 따라 저전력 상태 밖으로 천이할 수도 있다. 프로그램가능한 시간 주기는, 버퍼의 사이즈에 기초하는 최대 시간 주기 이하일 수도 있다. 따라서, 저장-및-포워드 모드에 있어서, CODEC 에 의해 수신된 각각의 프레임으로부터의 오디오 피처들은 결국 DSP 에 의해 분석될 수도 있다. 특정 실시형태에 있어서, DSP-CODEC 핸드셰이킹 또는 다른 기술이 활용되어, DSP 와 CODEC 간 동기화를 유지하고 버퍼 오버플로우/언더플로우를 감소시킬 수도 있다.
DSP 가 다이렉트 전송 모드에서 동작할 경우, 가장 최근에 수신된 오디오 프레임에 대응하는 오디오 피처들 (406 에 나타냄) 은, 416 에 나타낸 바와 같이, DSP 에 의해 취출 및 프로세싱될 수도 있다. 오디오 피처들의 DSP 로의 "다이렉트 전송" 이 유효하게 존재하기 때문에, 오디오 피처들은 매우 짧은 시간량동안 버퍼링될 수도 있거나 또는 전혀 버퍼링되지 않을 수도 있으며, DSP 의 듀티 사이클은 버퍼의 사이즈에 무관하게 프로그래밍될 수도 있다. 따라서, 다이렉트 전송 모드에 있어서, DSP 는 저전력 상태로 다시 역으로 천이하기 전에 (단일 오디오 프레임에 대응하는) 22개의 오디오 피처들을 취출 및 프로세싱할 수도 있다. 이러한 프로세스는, 408 에서의 후속 추출된 피처들, 및 418 에서의 취출된 피처들에 의해 나타낸 바와 같이 계속될 수도 있다. 따라서, 다이렉트 전송 모드에 있어서, 오직 CODEC 에 의해 수신된 프레임들의 서브세트 (예를 들어, 도 4 의 실시형태에 있어서의 매 10개의 프레임들로부터의 프레임) 만으로부터의 오디오 피처들이 DSP 에 의해 분석될 수도 있다.
CODEC 및 DSP 가 또한 부가적인 동작 모드들을 지원할 수도 있음을 유의해야 한다. 통상적으로, CODEC 의 활동은 DSP 의 활동 이상일 수도 있다. 다양한 동작 모드들은 프로세서 활동에 대한 CODEC 활동의 상이한 비율들에 대응할 수도 있다. 각각의 동작 모드는 CODEC 의 듀티 사이클 (여기서, 100% 는 상시 온에 대응함), DSP 의 듀티 사이클, 및/또는 얼마나 많은 오디오 데이터의 프레임들이 프로세서가 웨이크 업할 때마다 분석되는지에 대한 상이한 설정들을 포함할 수도 있다. 지원된 동작 모드들의 상세들은 설계시 및/또는 제조시에 결정될 수도 있다. 어떠한 특정 동작 모드가 선택될지는 애플리케이션 컨텍스트와 같은 팩터들에 기초하여 실행-시간에 결정될 수도 있다.
도 5 를 참조하면, 다양한 사운드 감지 시스템들에서의 전력 소모의 특정 예시가 도시되고 일반적으로 500 으로 지정된다. 더 상세하게, 도 5 의 좌측은 상시 온 CODEC 및 상시 온 DSP 를 포함하는 시스템에서의 전력 소모를 도시하고, 도 5 의 우측은 도 1 의 시스템 (100) 또는 도 2 의 시스템 (200) 과 같은 개시된 기술들에 따른 시스템에서의 전력 소모를 도시한다.
좌측에 대한 사운드 감지 시스템은 상시 온 CODEC (502) 을 포함할 수도 있다. 시스템은 또한, 상시 온 DSP 피처 추출 (504) 및 상시 온 DSP 분석 (506) 을 포함하는 상시 온 DSP 를 포함할 수도 있다. CODEC 및 DSP 가 상시 온이기 때문에, 시스템에 의해 소모되는 전력은, 508 에 도시된 바와 같이, 상대적으로 편평한 곡선에 의해 표현될 수도 있다.
우측에 대한 사운드 감지 시스템 (예를 들어, 도 1 의 시스템 (100) 또는 도 2 의 시스템 (200)) 은 상시 온 저전력 CODEC (512) 및 514 에서의 CODEC 피처 추출을 포함할 수도 있다. 시스템은 또한 듀티-사이클링된 DSP 를 포함할 수도 있다. 예를 들어, 도 5 의 특정 실시형태에 있어서, DSP 는 20ms 활성 시간 및 200ms 유휴 시간을 갖는다. 따라서, 우측 상의 CODEC 듀티-사이클링된 DSP 의 조합이 20ms 활성 시간들 (516, 518) 동안 좌측 상의 시스템보다 더 많은 전력을 소모할 수도 있지만, 그 조합은 듀티-사이클링된 DSP 의 200ms 유휴 시간 동안 실질적으로 더 적은 전력을 소모할 수도 있다. 우측 시스템의 전력 소모는 곡선 (518) 에 의해 도시될 수도 있다. 따라서, 곡선 (519) 에 의해 도시된 도 5 의 우측 상의 시스템의 평균 전력 소모는 곡선 (508) 에 의해 도시된 도 5 의 좌측 상의 시스템의 전력 소모보다 실질적으로 더 적을 수도 있음이 인식될 것이다. 일부 구현들에 있어서, 도 1 내지 도 4 를 참조하여 설명된 바와 같이, CODEC (512) 이 또한 듀티-사이클링될 수도 있다.
도 6 을 참조하면, 듀티-사이클링된 프로세서에서 오디오 피처 데이터에 대한 사운드 인식을 수행하는 방법의 특정 실시형태가 도시되고 일반적으로 600 으로 지정된다. 예시적인 실시형태에 있어서, 방법 (600) 은 도 1 의 프로세서 (150) 또는 도 2 의 프로세서 (230) 에 의해 수행될 수도 있다.
602 에서, 방법 (600) 은 프로세서의 듀티 사이클 동안 프로세서에서 저전력 상태 밖으로 천이하는 단계를 포함할 수도 있다. 특정 실시형태에 있어서, 프로세서는 10% 듀티 사이클을 갖는 디지털 신호 프로세서 (DSP) 일 수도 있다. 예를 들어, 도 2 에 있어서, 프로세서 (230) 는 듀티 사이클 동안 저전력 상태로부터 천이 (예를 들어, 유휴상태로부터 활성상태로의 천이) 할 수도 있다.
방법 (600) 은 또한, 오디오 피처 데이터를 버퍼로부터 취출하는 단계를 포함할 수도 있으며, 여기서, 오디오 피처 데이터는 프로세서의 저전력 상태 동안 수신된 오디오 데이터의 특징들을 나타낸다. 604 에서, 프로세서가 저장-및-포워드 모드에서 동작하고 있을 경우, 오디오 피처 데이터는 복수의 오디오 프레임들에 대응할 수도 있다. 대안적으로, 606 에서, 프로세서가 다이렉트 전송 모드에서 동작하고 있을 경우, 오디오 피처 데이터는 단일 오디오 프레임에 대응할 수도 있다. 예를 들어, 도 2 에 있어서, 프로세서는 추출된 오디오 피처들 (226) 을 버퍼 (227) 로부터 취출할 수도 있다.
방법 (600) 은, 608 에서, 취출된 오디오 피처 데이터를 변환하여 변환된 오디오 피처 데이터를 생성하는 단계, 및 610 에서, 변환된 오디오 피처 데이터에 대한 하나 이상의 사운드 인식 동작들을 수행하는 단계를 더 포함할 수도 있다. 특정 실시형태에 있어서, 오디오 피처 데이터는 이산 코사인 변환 (DCT) 변환기를 통해 변환될 수도 있으며, 결과적인 변환된 오디오 피처 데이터는 복수의 멜-주파수 캡스트럴 계수들 (MFCCs) 을 포함할 수도 있다. 예를 들어, 도 2 에 있어서, 변환기 (233) 는 취출된 오디오 피처들 (226) 을 변환하여 변환된 오디오 피처 데이터 (234) 를 생성할 수도 있고, 사운드 인식 모듈들 (241-245) 중 하나 이상은 변환된 오디오 피처 데이터 (234) 에 대한 하나 이상의 사운드 인식 동작들 (예를 들어, 청취 로케이션, 연속적인 오디오 핑거프린팅, 연속적인 키워드 검출, 타겟 사운드 검출, 및/또는 신규성 검출) 을 수행할 수도 있다.
방법 (600) 은, 614 에서 저전력 상태로 역으로 다시 천이하기 전, 612 에서 하나 이상의 사운드 인식 동작의 결과에 기초하여 애플리케이션 프로세서 및/또는 이동국 모뎀의 일부, 또는 다른 컴포넌트를 활성화할지 여부를 결정하는 단계를 포함할 수도 있다. 예를 들어, 도 2 에 있어서, 프로세서 (230) 는, 사운드 인식 모듈들 (241-245) 중 하나 이상에 의해 수행된 분석에 기초하여, 저전력 상태로 역으로 천이하기 전, 애플리케이션 프로세서 및/또는 이동국 모뎀의 일부를 활성화할지 여부를 결정할 수도 있다.
특정 실시형태에 있어서, 도 6 의 방법 (600) 은 중앙 프로세싱 유닛 (CPU), 디지털 신호 프로세서 (DSP) 또는 제어기와 같은 프로세싱 유닛의 하드웨어 (예를 들어, 필드-프로그램가능 게이트 어레이 (FPGA) 디바이스, 주문형 집적회로 (ASIC) 등) 를 통해, 펌웨어 디바이스 또는 이들의 임의의 조합을 통해 구현될 수도 있다. 예로서, 도 6 의 방법 (600) 은, 도 10 을 참조하여 설명되는 바와 같이, 명령들을 실행하는 프로세서에 의해 수행될 수 있다.
도 7 을 참조하면, CODEC 에서 오디오 피처 데이터를 추출하는 방법의 특정 실시형태가 도시되고 일반적으로 700 으로 지정된다. 예시적인 실시형태에 있어서, 방법 (700) 은 도 1 의 CODEC (120) 또는 도 2 의 CODEC (220) 에 의해 수행될 수도 있다.
702 에서, 방법 (700) 은 오디오 데이터의 프레임을 CODEC 에서 수신하는 단계를 포함할 수도 있다. 예를 들어, 도 2 에 있어서, CODEC (220) 은 오디오 데이터 (212) 의 프레임을 수신할 수도 있다. 704 에서, 방법 (700) 은 또한 오디오 피처 데이터를 프레임으로부터 추출하는 단계를 포함할 수도 있다. 예시를 위해, 오디오 피처 데이터를 추출하는 것은, 706 에서 복수의 멜-대역 필터들을 통해 프레임의 필터링된 오디오 데이터의 에너지들을 계산하는 것, 및 708 에서 로그 함수를 계산된 에너지들에 적용하는 것을 포함할 수도 있다. 예를 들어, 도 2 에 있어서, 피처 추출기 (222) 는 필터들 (223) 을 이용하여 오디오 데이터 (212) 를 필터링하여 필터링된 오디오 데이터의 에너지들 (224) 을 생성할 수도 있으며, 로그 컨버터 (225) 를 이용하여 로그 함수를 적용하여 추출된 오디오 피처들 (226) 을 생성할 수도 있다.
방법 (700) 은, 710 에서, 듀티-사이클링된 프로세서의 활성 상태 동안 듀티-사이클링된 프로세서에 의해 액세스가능하게 될 버퍼에 추출된 오디오 피처 데이터를 저장하는 단계, 및 712 에서 오디오 데이터의 프레임을 폐기하는 단계를 더 포함할 수도 있다. 예를 들어, 도 2 에 있어서, 추출된 오디오 피처들 (226) 은 버퍼 (227) 에 저장될 수도 있으며, 오디오 데이터 (212) 의 프레임은 CODEC (220) 에 의해 폐기될 수도 있다. 방법 (700) 은, 듀티-사이클링된 프로세서가 저전력 상태에 있는 동안 CODEC 에 의해 수신된 오디오의 후속 프레임들에 대해 반복될 수도 있다.
특정 실시형태에 있어서, 도 7 의 방법 (700) 은 CODEC 의 하드웨어 (예를 들어, 필드-프로그램가능 게이트 어레이 (FPGA) 디바이스, 주문형 집적회로 (ASIC) 등) 를 통해, 펌웨어 디바이스 또는 이들의 임의의 조합을 통해 구현될 수도 있다. 예로서, 도 7 의 방법 (700) 은, 도 10 을 참조하여 설명되는 바와 같이, 명령들을 실행하는 CODEC (또는 그 내부의 프로세서) 에 의해 수행될 수 있다.
도 8 을 참조하면, 프로세서에서 저장-및-포워드 모드에서의 동작과 다이렉트 전송 모드에서의 동작 간을 동적으로 스위칭하는 방법의 특정 실시형태가 도시되고 일반적으로 800 으로 지정된다. 예시적인 실시형태에 있어서, 방법 (800) 은 도 1 의 프로세서 (150) 또는 도 2 의 프로세서 (230) 에 의해 수행될 수도 있다.
802 에서, 방법 (800) 은, 프로세서에서, 프로세서의 애플리케이션 컨텍스트에 기초하여 제 1 모드에서의 동작과 제 2 모드에서의 동작 간을 동적으로 스위칭하는 단계를 포함할 수도 있다. 제 1 모드에서의 프로세서 활동에 대한 CODEC 활동의 비는 제 2 모드에서의 프로세서 활동에 대한 CODEC 활동의 비보다 더 클 수도 있다. 예를 들어, 도 2 에 있어서, 동적 모드 스위칭 로직 (232) 은 프로세서 (230) 의 애플리케이션 컨텍스트에 기초하여 다양한 모드들 사이에서 프로세서 (230) 의 동작을 동적으로 스위칭할 수도 있다. 유사한 동적 모드 스위칭 로직이 또한 도 2 의 CODEC (220) 에 제공될 수도 있다. 대안적으로, 도 2 의 CODEC (220) 및 프로세서 (230) 양자를 제어하는 동적 모드 스위칭 로직은 (예를 들어, 제어기에 통합된) 외부 컴포넌트에 있을 수도 있다. 804 에서, 방법 (800) 은 또한 프로세서의 듀티 사이클 동안 프로세서에서 저전력 상태로부터 천이하는 단계를 포함할 수도 있다. 예를 들어, 도 2 에 있어서, 프로세서 (230) 는 듀티 사이클 동안 저전력 상태로부터 천이할 수도 있다.
방법 (800) 은, 806 에서 취출된 오디오 피처 데이터를 분석하는 단계, 및 808 에서 저전력 상태로 다시 역으로 천이하는 단계를 포함할 수도 있다. 예를 들어, 도 2 에 있어서, 사운드 인식 모듈들 (441-445) 중 하나 이상은 프로세서 (230) 가 저전력 상태로 다시 역으로 천이하기 전에 취출된 오디오 피처 데이터를 분석할 수도 있다. 특정 실시형태에 있어서, 프로세서 (230) 는 또한, 그 분석에 기초하여 애플리케이션 프로세서 및/또는 이동국 모뎀 (MSM) 의 일부와 같은 다른 시스템 컴포넌트들을 활성화할지 여부를 결정할 수도 있다. 예를 들어, 프로세서 (230) 는, 도 1 의 활성화 신호 (160) 을 참조하여 설명된 바와 같이, 그 분석에 기초하여 활성화 신호를 생성할 수도 있다.
특정 실시형태에 있어서, 도 8 의 방법 (800) 은 중앙 프로세싱 유닛 (CPU), 디지털 신호 프로세서 (DSP) 또는 제어기와 같은 프로세싱 유닛의 하드웨어 (예를 들어, 필드-프로그램가능 게이트 어레이 (FPGA) 디바이스, 주문형 집적회로 (ASIC) 등) 를 통해, 펌웨어 디바이스 또는 이들의 임의의 조합을 통해 구현될 수도 있다. 예로서, 도 8 의 방법 (800) 은, 도 10 을 참조하여 설명되는 바와 같이, 명령들을 실행하는 프로세서에 의해 수행될 수 있다.
도 9 를 참조하면, 전자 디바이스의 저전력 컴포넌트들에 의해 전자 디바이스의 더 높은 전력 컴포넌트들의 스태거링된 계층적 활성화를 수행하는 방법의 특정 실시형태가 도시되고 일반적으로 900 으로 지정된다. 예시적인 실시형태에 있어서, 방법 (900) 은 도 2 의 시스템 (200) 에서 수행될 수도 있다.
902 에서, 방법 (900) 은 전자 디바이스의 제 1 컴포넌트에서 사운드 데이터를 수신하는 단계를 포함할 수도 있다. 제 1 컴포넌트는 CODEC 의 디지털/아날로그 회로에 있을 수도 있다. 예를 들어, 도 2 에 있어서, 코어스 검출/분류 블록 (290) 이 사운드 데이터를 수신할 수도 있다. 904 에서, 방법 (900) 은 또한, 제 1 컴포넌트에서, 사운드 데이터에 대한 적어도 하나의 신호 검출 동작을 수행하는 단계를 포함할 수도 있다. 예를 들어, 도 2 에 있어서, 코어스 검출/분류 블록 (290) 은 신호 검출 동작 (예를 들어, RMS 동작 또는 대역-전력 동작) 을 수행하여, 사운드 데이터가 오디오, 비컨, 또는 초음파 데이터를 포함하는지 여부를 결정할 수도 있다.
906 에서, 방법 (900) 은 적어도 하나의 신호 검출 동작의 결과에 기초하여 전자 디바이스의 제 2 컴포넌트를 선택적으로 활성화하는 단계를 더 포함할 수도 있다. 활성일 경우의 제 2 컴포넌트는 활성일 경우의 제 1 컴포넌트보다 전자 디바이스에서 더 많은 전력을 소모할 수도 있다. 특정 실시형태에 있어서, 제 2 컴포넌트는 CODEC 의 프론트-엔드에 있을 수도 있다. 예를 들어, 도 2 에 있어서, 코어스 검출/분류 블록 (290) 은 제 1 활성화 신호 (294) 를 통해 정밀 검출/분류 블록 (296) 을 선택적으로 활성화할 수도 있다.
908 에서, 방법 (900) 은, 제 2 컴포넌트에서, 적어도 하나의 제 2 신호 검출 동작을 수행하는 단계를 포함할 수도 있다. 방법 (900) 은 적어도 하나의 제 2 신호 검출 동작의 결과에 기초하여 전자 디바이스의 제 3 컴포넌트를 선택적으로 활성화하는 단계를 더 포함할 수도 있다. 활성일 경우의 제 3 컴포넌트는 활성일 경우의 제 2 컴포넌트보다 전자 디바이스에서 더 많은 전력을 소모할 수도 있다. 특정 실시형태에 있어서, 제 3 컴포넌트는 DSP 에 통합될 수도 있다. 예를 들어, 도 2 에 있어서, 정밀 검출/분류 블록 (296) 은 제 2 활성화 신호 (298) 를 통해 프로세서 (230) 에서 최종 검출/분류 블록을 선택적으로 활성화할 수도 있다.
특정 실시형태에 있어서, 도 9 의 방법 (900) 은 중앙 프로세싱 유닛 (CPU), 디지털 신호 프로세서 (DSP) 또는 제어기와 같은 프로세싱 유닛의 하드웨어 (예를 들어, 필드-프로그램가능 게이트 어레이 (FPGA) 디바이스, 주문형 집적회로 (ASIC) 등) 를 통해, 펌웨어 디바이스 또는 이들의 임의의 조합을 통해 구현될 수도 있다. 예로서, 도 9 의 방법 (900) 은, 도 10 을 참조하여 설명되는 바와 같이, 명령들을 실행하는 프로세서에 의해 수행될 수 있다.
도 10 을 참조하면, 무선 통신 디바이스의 특정 예시적인 실시형태의 블록 다이어그램이 도시되고 일반적으로 1000 으로 지정된다. 디바이스 (1000) 은 애플리케이션 프로세서 (1010) 및 디지털 신호 프로세서 (DSP) (1080) 를 포함하며, 이들 양자는 메모리 (1032) 에 커플링된다. 예시적인 실시형태에 있어서, DSP (1080) 는 도 1 의 프로세서 (150) 또는 도 2 의 프로세서 (230) 일 수도 있다. 메모리 (1032) 는, 도 6 의 방법 (600) 및 도 8 의 방법 (800) 과 같이 본 명세서에 개시된 방법들 및 프로세스들을 수행하기 위해 DSP (1010) 에 의해 실행가능한 명령들 (1060) 을 포함할 수도 있다. 명령들은 또한, 도 7 의 방법 (700) 과 같이 본 명세서에 개시된 방법들 및 프로세스들을 수행하기 위해 코더/디코더 (CODEC) (1034) 에 의해 실행가능할 수도 있다. 명령들은 또한, 도 9 의 방법 (900) 을 수행하기 위해 CODEC (1034) 및 DSP (1080) 에 의해 실행가능할 수도 있다.
도 10 은 또한, 애플리케이션 프로세서 (1010) 및 디스플레이 (1028) 에 커플링된 디스플레이 제어기 (1026) 를 도시한다. CODEC (1034) 은 도시된 바와 같이 DSP (1080) 에 커플링될 수도 있다. 스피커 (1036) 및 마이크로폰 (1038) 은 CODEC (1034) 에 커플링될 수 있다. 예를 들어, 마이크로폰 (1038) 은 도 2 의 마이크로폰 (210) 일 수도 있다. 도 10 은 또한, 무선 제어기 (1040) 가 프로세서들 (1010, 1080) 및 무선 안테나 (1042) 에 커플링될 수 있음을 나타낸다.
CODEC (1034) 은 아날로그-디지털 컨버터 (ADC) (1071), 복수의 필터들 (1072), 및 로그 컨버터 (1073) 를 포함할 수도 있다. 예를 들어, ADC (1071) 는 도 2 의 ADC (221) 일 수도 있고, 필터들 (1072) 은 도 2 의 필터들 (223) 일 수도 있고, 로그 컨버터 (1073) 는 도 2 의 로그 컨버터 (225) 일 수도 있다. 특정 실시형태에 있어서, CODEC (1034) 은 또한 (예를 들어, 도 2 의 버퍼 (227) 를 참조하여 설명된 바와 같은) 버퍼 (1074) 를 포함할 수도 있다. 대안적으로, 버퍼 (1074) 는 (예를 들어, 도 1 의 버퍼 (140) 을 참조하여 설명된 바와 같이) CODEC (1034) 및 DSP (1080) 의 외부에 있을 수도 있다. DSP (1080) 는 변환기 (1082) (예를 들어, 도 2 의 변환기 (233)), 및 하나 이상의 사운드 인식 동작들을 수행하도록 구성된 하나 이상의 사운드 인식 모듈들 (1083) (예를 들어, 도 2 의 사운드 인식 모듈들 (241-245)) 을 포함할 수도 있다. 특정 실시형태에 있어서, 변환기 (1082) 및 사운드 인식 모듈(들) (1083) 은 DSP (1080) 의 저전력 오디오 서브시스템 (LPASS) (1081) 에 포함될 수도 있다.
특정 실시형태에 있어서, 프로세서들 (1010, 1080), 디스플레이 제어기 (1026), 메모리 (1032), CODEC (1034), 및 무선 제어기 (1040) 는 시스템-인-패키지 또는 시스템-온-칩 디바이스 (예를 들어, 이동국 모뎀 (MSM)) (1022) 에 포함된다. 특정 실시형태에 있어서, 터치스크린 및/또는 키패드와 같은 입력 디바이스 (1030), 및 전력 공급기 (1044) 는 시스템-온-칩 디바이스 (1022) 에 커플링된다. 더욱이, 특정 실시형태에 있어서, 도 10 에 도시된 바와 같이, 디스플레이 (1028), 입력 디바이스 (1030), 스피커 (1036), 마이크로폰 (1038), 무선 안테나 (1042), 및 전력 공급기 (1044) 는 시스템-온-칩 디바이스 (1022) 외부에 있다. 하지만, 디스플레이 (1028), 입력 디바이스 (1030), 스피커 (1036), 마이크로폰 (1038), 무선 안테나 (1042), 및 전력 공급기 (1044) 각각은, 인터페이스 또는 제어기와 같은, 시스템-온-칩 디바이스 (1022) 의 컴포넌트에 커플링될 수 있다.
설명된 실시형태들과 함께, 오디오 데이터의 하나 이상의 프레임들을 수신하는 수단을 포함하는 장치가 개시된다. 예를 들어, 수신하는 수단은 도 1 의 CODEC (120), 도 2 의 마이크로폰 (210), 도 3 의 마이크로폰 (310), 도 10 의 마이크로폰 (1038), 오디오 데이터의 프레임들을 수신하도록 구성된 하나 이상의 디바이스들, 또는 이들의 임의의 조합을 포함할 수도 있다. 그 장치는 또한, 프로세서가 저전력 상태에 있는지 또는 활성 상태에 있는지에 무관하게 필터링된 오디오 데이터를 생성하기 위해 오디오 데이터의 하나 이상의 프레임들을 필터링하는 수단을 포함할 수도 있다. 예를 들어, 필터링하는 수단은 도 1 의 CODEC (120), 도 2 의 필터들 (223), 도 3 의 필터들 (323), 도 10 의 필터들 (1072), 오디오 데이터의 프레임들을 필터링하도록 구성된 하나 이상의 디바이스들, 또는 이들의 임의의 조합을 포함할 수도 있다.
그 장치는 필터링된 오디오 데이터의 에너지들에 기초하여 오디오 피처 데이터를 생성하는 수단을 더 포함할 수도 있다. 예를 들어, 생성하는 수단은 도 2 의 CODEC (120), 도 2 의 로그 컨버터 (225), 도 3 의 로그 컨버터 (325), 도 10 의 로그 컨버터 (1073), 오디오 피처 데이터를 생성하도록 구성된 하나 이상의 디바이스들, 또는 이들의 임의의 조합을 포함할 수도 있다. 그 장치는 변환된 데이터를 생성하기 위해 오디오 피처 데이터를 변환하는 수단을 포함할 수도 있다. 예를 들어, 변환하는 수단은 도 1 의 프로세서 (150), 도 2 의 변환기 (233), 도 3 의 DCT (333), 도 10 의 변환기 (1082), 오디오 피처 데이터를 변환하도록 구성된 하나 이상의 디바이스들, 또는 이들의 임의의 조합을 포함할 수도 있다.
그 장치는 또한, 프로세서가 저전력 상태로부터 활성 상태로 천이한 이후 변환된 데이터에 대한 하나 이상의 동작들을 수행하는 수단을 포함할 수도 있다. 예를 들어, 수행하는 수단은 도 1 의 프로세서 (150), 도 2 의 사운드 인식 모듈들 (241-245) 중 하나 이상, 도 3 의 사운드 인식 모듈들 (340) 중 하나 이상, 도 10 의 사운드 인식 모듈(들) (1083) 중 하나 이상, 변환된 데이터에 대한 동작들을 수행하도록 구성된 하나 이상의 디바이스들, 또는 이들의 임의의 조합을 포함할 수도 있다. 그 장치는 필터링하는 수단, 생성하는 수단, 및 변환하는 수단 중 적어도 하나의 출력을 버퍼링하는 수단을 더 포함할 수도 있다. 예를 들어, 버퍼링하는 수단은 도 1 의 버퍼 (140), 도 2 의 버퍼 (227), 도 3 의 버퍼링 포인트들 (302-308) 중 하나 이상에서의 버퍼, 도 10 의 버퍼 (1074), 데이터를 버퍼링하도록 구성된 하나 이상의 디바이스들, 또는 이들의 임의의 조합을 포함할 수도 있다.
당업자는 본 명세서에 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 구성들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 하드웨어 프로세서와 같은 프로세싱 디바이스에 의해 실행되는 컴퓨터 소프트웨어, 또는 이들 양자의 조합들로서 구현될 수도 있음을 추가로 인식할 것이다. 다양한 예시적인 컴포넌트들, 블록들, 구성들, 모듈들, 회로들 및 단계들이 일반적으로 그들의 기능의 관점에서 상기 설명되었다. 그러한 기능이 하드웨어로서 구현될지 또는 소프트웨어로서 구현될지는 전체 시스템에 부과된 특정 애플리케이션 및 설계 제약들에 의존한다. 당업자는 설명된 기능을 각각의 특정 애플리케이션에 대하여 다양한 방식으로 구현할 수도 있지만, 그러한 구현의 결정들이 본 개시의 범위로부터의 일탈을 야기하는 것으로서 해석되지는 않아야 한다.
본 명세서에 개시된 실시형태들과 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 이들 양자의 조합에서 직접 구현될 수도 있다. 소프트웨어 모듈은 랜덤 액세스 메모리 (RAM), 자기저항식 랜덤 액세스 메모리 (MRAM), 스핀-토크 전송 MRAM (STT-MRAM), 플래시 메모리, 판독 전용 메모리 (ROM), 프로그램가능 판독 전용 메모리 (PROM), 소거가능한 프로그램가능 판독 전용 메모리 (EPROM), 전기적으로 소거가능한 프로그램가능 판독 전용 메모리 (EEPROM), 레지스터들, 하드 디스크, 착탈가능 디스크, 콤팩트 디스크 판독 전용 메모리 (CD-ROM), 또는 당업계에 공지된 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있도록 프로세서에 커플링된다. 대안적으로, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서 및 저장 매체는 주문형 집적 회로 (ASIC) 에 상주할 수도 있다. ASIC 은 컴퓨팅 디바이스 또는 사용자 단말기에 상주할 수도 있다. 대안적으로, 프로세서 및 저장 매체는 컴퓨팅 디바이스 또는 사용자 단말기에 별개의 컴포넌트들로서 상주할 수도 있다.
개시된 실시형태들의 상기 설명은 당업자로 하여금 개시된 실시형태들을 제조 또는 이용하게 할 수 있도록 제공된다. 이들 실시형태들에 대한 다양한 변형들은 당업자에게 용이하게 자명할 것이며, 본 명세서에서 정의된 일반적인 원리들은 본 개시의 범위로부터 일탈함이 없이 다른 실시형태들에 적용될 수도 있다. 따라서, 본 개시는 본 명세서에서 설명된 실시형태들로 한정되도록 의도되지 않으며, 다음의 청구항들에 의해 정의된 바와 같은 원리들 및 신규한 특징들과 부합하는 가능한 최광의 범위를 부여받아야 한다.

Claims (44)

  1. 프로세서에서 저전력 상태로부터 활성 상태로 천이하는 단계;
    상기 저전력 상태로부터 상기 활성 상태로 천이한 후에, 버퍼로부터 오디오 피처 (feature) 데이터를 취출하는 단계로서, 상기 오디오 피처 데이터는 상기 프로세서의 상기 저전력 상태 동안 코더/디코더(CODEC) 에서 수신된 오디오 데이터의 특징들을 나타내는, 상기 오디오 피처 데이터를 취출하는 단계; 및
    상기 프로세서의 애플리케이션 컨텍스트 (context) 에 기초하여 복수의 모드들로부터 상기 프로세서를 동작시키기 위한 특정 모드를 선택하는 단계로서, 상기 복수의 모드들의 제 1 모드에서의 프로세서 활동에 대한 상기 CODEC 의 CODEC 활동의 제 1 비는 상기 복수의 모드들의 제 2 모드에서의 프로세서 활동에 대한 CODEC 활동의 제 2 비보다 큰, 상기 특정 모드를 선택하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 프로세서는 디지털 신호 프로세서를 포함하고,
    상기 방법은, 취출된 상기 오디오 피처 데이터에 기초하여 애플리케이션 프로세서를 활성화할지 여부를 결정하는 단계를 더 포함하는, 방법.
  3. 제 1 항에 있어서,
    상기 오디오 피처 데이터는, 상기 프로세서의 상기 저전력 상태의 적어도 일부분 동안 활성인 상기 CODEC 에 의해 추출되는, 방법.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 제 1 모드 동안, 상기 CODEC 은 상시 온 (always on) 상태이고 상기 프로세서는 제 1 레이트에서 듀티-사이클링되며 (duty-cycled), 상기 제 2 모드 동안, 상기 CODEC 은 제 2 레이트에서 듀티-사이클링되고 상기 프로세서는 상기 제 1 레이트에서 듀티-사이클링되며, 상기 제 2 레이트는 상기 제 1 레이트보다 크거나 동일한, 방법.
  6. 제 1 항에 있어서,
    상기 제 1 모드 동안, 상기 CODEC 은 제 1 레이트에서 듀티-사이클링되고 상기 프로세서는 제 2 레이트에서 듀티-사이클링되며, 상기 제 2 모드 동안, 상기 CODEC 은 제 3 레이트에서 듀티-사이클링되고 상기 프로세서는 상기 제 2 레이트에서 듀티-사이클링되며, 상기 제 1 레이트는 상기 제 2 레이트보다 크고, 상기 제 3 레이트는 상기 제 2 레이트보다 작거나 동일한, 방법.
  7. 제 1 항에 있어서,
    상기 특정 모드에서 상기 오디오 피처 데이터는 복수의 오디오 프레임들에 대응하고, 상기 프로세서는 상기 저전력 상태로 다시 역으로 천이하기 전에 상기 오디오 피처 데이터를 취출 및 프로세싱하는, 방법.
  8. 제 1 항에 있어서,
    상기 특정 모드에서 상기 오디오 피처 데이터는 단일 오디오 프레임에 대응하고, 상기 프로세서는 상기 저전력 상태로 다시 역으로 천이하기 전에 상기 오디오 피처 데이터를 취출 및 프로세싱하는, 방법.
  9. 제 1 항에 있어서,
    상기 프로세서는 프로그램가능한 시간 주기의 만료에 응답하여 상기 저전력 상태로부터 상기 활성 상태로 천이하고;
    저장-및-포워드 (store-and-forward) 모드에서, 상기 프로그램가능한 시간 주기는 상기 버퍼의 사이즈에 기초하여 결정되는 최대 시간 주기보다 작거나 동일하며;
    다이렉트 전송 (direct transfer) 모드에서, 상기 프로그램가능한 시간 주기는 상기 버퍼의 사이즈에 독립적인, 방법.
  10. 제 1 항에 있어서,
    상기 프로세서가 상기 저전력 상태에 있는 동안, 상기 CODEC 은,
    상기 오디오 데이터를 수신하고;
    복수의 필터들을 통해 상기 오디오 데이터를 필터링하며;
    상기 복수의 필터들의 각각으로부터의 필터링된 오디오 데이터의 에너지들을 계산하고;
    계산된 상기 에너지들에 대해 로그 함수를 적용하여 상기 오디오 피처 데이터를 생성하고;
    상기 버퍼에 상기 오디오 피처 데이터를 저장하며; 그리고
    상기 오디오 데이터를 폐기하는, 방법.
  11. 제 1 항에 있어서,
    상기 버퍼는 상기 CODEC 내에 있는, 방법.
  12. 제 1 항에 있어서,
    상기 버퍼는 상기 CODEC 외부에 있고 상기 프로세서 외부에 있는, 방법.
  13. 제 1 항에 있어서,
    상기 프로세서는 상기 프로세서의 듀티 사이클에 기초하여 상기 활성 상태 및 상기 저전력 상태 사이를 천이하는, 방법.
  14. 제 1 항에 있어서,
    상기 오디오 피처 데이터를 변환하는 단계;
    변환된 상기 오디오 피처 데이터에 대해 하나 이상의 사운드 인식 동작들을 수행하는 단계; 및
    상기 하나 이상의 사운드 인식 동작들을 수행한 후에 상기 저전력 상태로 다시 역으로 천이하는 단계를 더 포함하는, 방법.
  15. 제 14 항에 있어서,
    상기 오디오 피처 데이터를 변환하는 단계는, 복수의 멜-주파수 캡스트럴 계수들 (mel-frequency cepstral coefficients) 을 생성하는, 방법.
  16. 제 14 항에 있어서,
    상기 하나 이상의 사운드 인식 동작들은 청취 로케이션 동작, 키워드 검출 동작, 오디오 핑거프린팅 동작, 타겟 사운드 검출 동작, 신규성 검출 동작, 또는 이들의 임의의 조합을 포함하는, 방법.
  17. 제 14 항에 있어서,
    상기 프로세서는 무선 디바이스 내에 통합되고,
    상기 방법은, 상기 하나 이상의 사운드 인식 동작들의 결과에 기초하여 상기 무선 디바이스의 이동국 모뎀의 적어도 일부분을 활성화시킬지 여부를 결정하는 단계를 더 포함하는, 방법.
  18. 제 14 항에 있어서,
    상기 하나 이상의 사운드 인식 동작들의 결과들을 복수의 애플리케이션들의 각각에 제공하는 단계를 더 포함하는, 방법.
  19. 코더/디코더 (CODEC) 에서 오디오 데이터의 프레임을 수신하는 단계;
    상기 오디오 데이터의 프레임으로부터 오디오 피처 (feature) 데이터를 추출하는 단계; 및
    듀티-사이클링된 (duty-cycled) 프로세서의 활성 상태 동안 상기 듀티-사이클링된 프로세서에 의해 액세스가능하게 될 버퍼에 추출된 상기 오디오 피처 데이터를 저장하는 단계를 포함하는, 방법.
  20. 제 19 항에 있어서,
    수신된 상기 오디오 데이터의 프레임에 대해 상기 CODEC 의 아날로그-대-디지털 컨버터를 적용하는 단계를 더 포함하는, 방법.
  21. 제 19 항에 있어서,
    상기 오디오 피처 데이터를 추출하는 단계는,
    복수의 필터들을 통해 상기 오디오 데이터의 프레임을 필터링하는 단계;
    상기 복수의 필터들의 각각으로부터의 필터링된 오디오 데이터의 에너지들을 계산하는 단계; 및
    계산된 상기 에너지들에 대해 로그 함수를 적용하여 상기 오디오 피처 데이터를 생성하는 단계를 포함하는, 방법.
  22. 제 21 항에 있어서,
    상기 복수의 필터들의 각각은 인간 지각 주파수 스케일의 상이한 부분에 대응하는 멜-대역 (mel-band) 필터를 포함하는, 방법.
  23. 제 19 항에 있어서,
    상기 오디오 피처 데이터를 추출하는 단계 후에 상기 오디오 데이터의 프레임을 폐기하는 단계를 더 포함하는, 방법.
  24. 장치로서,
    프로세서;
    상기 프로세서가 저전력 상태에 있는지 또는 활성 상태에 있는지 여부에 관계 없이 하나 이상의 오디오 데이터의 프레임들을 필터링하여 필터링된 오디오 데이터의 에너지들을 생성하도록 구성된 복수의 필터들;
    상기 필터링된 오디오 데이터의 상기 에너지들에 기초하여 오디오 피처 (feature) 데이터를 생성하도록 구성된 컨버터; 및
    상기 오디오 피처 데이터에 대해 변환 함수를 적용하여 변환된 데이터를 생성하도록 구성된 변환기를 포함하고,
    상기 프로세서는, 상기 저전력 상태로부터 상기 활성 상태로 천이한 후에 상기 변환된 데이터에 대해 하나 이상의 동작들을 수행하도록 구성되는, 장치.
  25. 제 24 항에 있어서,
    코더/디코더 (CODEC) 를 더 포함하고, 상기 컨버터는 로그 컨버터를 포함하며, 상기 복수의 필터들 및 상기 로그 컨버터는 상기 CODEC 내에 통합되는, 장치.
  26. 제 24 항에 있어서,
    상기 변환기는 상기 프로세서 내에 통합되는 이산 코사인 변환기를 포함하는, 장치.
  27. 제 24 항에 있어서,
    상기 오디오 피처 데이터를 저장하도록 구성된 버퍼를 더 포함하는, 장치.
  28. 제 27 항에 있어서,
    상기 버퍼는 랜덤 액세스 메모리 (RAM) 를 포함하는, 장치.
  29. 장치로서,
    프로세서를 포함하고,
    상기 프로세서는,
    상기 프로세서의 애플리케이션 컨텍스트 (context) 에 기초하여 제 1 모드에서의 동작과 제 2 모드에서의 동작 사이를 동적으로 스위칭하고;
    저전력 상태로부터 활성 상태로 천이한 후에 버퍼로부터 오디오 피처 (feature) 데이터를 취출하고; 그리고
    상기 오디오 피처 데이터를 분석하도록 구성되며,
    상기 오디오 피처 데이터는 상기 프로세서가 상기 저전력 상태에 있는 동안 코더/디코더 (CODEC) 에 의해 수신된 오디오 데이터의 특징들을 나타내고,
    상기 제 1 모드에서의 프로세서 활동에 대한 CODEC 활동의 비는, 상기 제 2 모드에서의 프로세서 활동에 대한 CODEC 활동의 비보다 큰, 장치.
  30. 제 29 항에 있어서,
    상기 제 1 모드 동안, 상기 CODEC 은 상시 온 (always on) 상태이고 상기 프로세서는 제 1 레이트에서 듀티-사이클링되며 (duty-cycled), 상기 제 2 모드 동안, 상기 CODEC 은 제 2 레이트에서 듀티-사이클링되고 상기 프로세서는 상기 제 1 레이트에서 듀티-사이클링되며, 상기 제 2 레이트는 상기 제 1 레이트보다 크거나 동일한, 장치.
  31. 제 29 항에 있어서,
    상기 제 1 모드 동안, 상기 CODEC 은 제 1 레이트에서 듀티-사이클링되고 상기 프로세서는 상기 제 2 레이트에서 듀티-사이클링되며, 상기 제 2 모드 동안, 상기 CODEC 은 제 3 레이트에서 듀티-사이클링되고 상기 프로세서는 상기 제 2 레이트에서 듀티-사이클링되며, 상기 제 1 레이트는 상기 제 2 레이트보다 크고 상기 제 3 레이트는 상기 제 2 레이트보다 크거나 동일한, 장치.
  32. 제 29 항에 있어서,
    상기 애플리케이션 컨텍스트는 청취 로케이션 검출, 연속적 키워드 검출, 연속적 오디오 핑거프린팅, 타겟 사운드 검출, 신규성 검출, 또는 이들의 임의의 조합을 포함하는, 장치.
  33. 제 29 항에 있어서,
    상기 코더/디코더 (CODEC) 를 더 포함하고,
    상기 CODEC 은 상기 오디오 데이터로부터 상기 오디오 피처 데이터를 추출하고 추출된 상기 오디오 피처 데이터를 상기 버퍼에 저장하도록 구성되는, 장치.
  34. 제 29 항에 있어서,
    상기 프로세서는 프로그램가능한 시간 주기의 만료에 응답하여 상기 저전력 상태로부터 상기 활성 상태로 천이하는, 장치.
  35. 하나 이상의 오디오 데이터의 프레임들을 수신하는 수단;
    프로세서가 저전력 상태에 있는지 또는 활성 상태에 있는지 여부에 관계 없이 필터링된 오디오 데이터를 생성하기 위해 상기 하나 이상의 오디오 데이터의 프레임들을 필터링하는 수단;
    상기 필터링된 오디오 데이터의 에너지들에 기초하여 오디오 피처 (feature) 데이터를 생성하는 수단;
    변환된 데이터를 생성하기 위해 상기 오디오 피처 데이터를 변환하는 수단; 및
    상기 프로세서가 상기 저전력 상태로부터 상기 활성 상태로 천이한 후에 상기 변환된 데이터에 대해 하나 이상의 동작들을 수행하는 수단을 포함하는, 장치.
  36. 제 35 항에 있어서,
    상기 필터링하는 수단, 상기 생성하는 수단, 및 상기 변환하는 수단 중 적어도 하나의 출력을 버퍼링하는 수단을 더 포함하는, 장치.
  37. 명령들을 포함하는 비-일시적 프로세서-판독가능 매체로서,
    상기 명령들은 프로세서에 의해 실행될 때 상기 프로세서로 하여금,
    제 1 모드에서의 동작과 제 2 모드에서의 동작 사이를 동적으로 스위칭하고;
    듀티 사이클 (duty cycle) 동안 저전력 상태로부터 활성 상태로 천이하고;
    상기 저전력 상태 동안 추출되는 오디오 피처 데이터를 분석하며; 그리고
    상기 저전력 상태로 다시 역으로 천이하게 하며,
    상기 제 1 모드에서의 프로세서 활동에 대한 코더/디코더 (CODEC) 활동의 비는 상기 제 2 모드에서의 프로세서 활동에 대한 CODEC 활동의 비보다 큰, 비-일시적 프로세서-판독가능 매체.
  38. 제 37 항에 있어서,
    상기 오디오 피처 데이터는 CODEC 에 의해 추출되는, 비-일시적 프로세서-판독가능 매체.
  39. 전자 디바이스의 제 1 컴포넌트에서 사운드 데이터를 수신하는 단계;
    상기 제 1 컴포넌트에서, 상기 사운드 데이터에 대해 적어도 하나의 신호 검출 동작을 수행하는 단계; 및
    상기 적어도 하나의 신호 검출 동작의 결과에 기초하여 상기 전자 디바이스의 제 2 컴포넌트를 선택적으로 활성화시키는 단계를 포함하고,
    활성일 때의 상기 제 2 컴포넌트는 활성일 때의 상기 제 1 컴포넌트보다 상기 전자 디바이스에서 더 많은 전력을 소모하는, 방법.
  40. 제 39 항에 있어서,
    상기 제 1 컴포넌트는 코더/디코더 (CODEC) 의 제 1 부분을 포함하는, 방법.
  41. 제 40 항에 있어서,
    상기 제 2 컴포넌트는 상기 CODEC 의 제 2 부분을 포함하는, 방법.
  42. 제 40 항에 있어서,
    상기 제 2 컴포넌트는 상기 전자 디바이스의 프로세서를 포함하는, 방법.
  43. 제 40 항에 있어서,
    상기 제 2 컴포넌트에서, 적어도 하나의 제 2 신호 검출 동작을 수행하는 단계; 및
    상기 적어도 하나의 제 2 신호 검출 동작의 결과에 기초하여 상기 전자 디바이스의 제 3 컴포넌트를 선택적으로 활성화시키는 단계를 더 포함하며,
    활성일 때의 상기 제 3 컴포넌트는 활성일 때의 상기 제 2 컴포넌트보다 상기 전자 디바이스에서 더 많은 전력을 소모하는, 방법.
  44. 제 39 항에 있어서,
    상기 적어도 하나의 신호 검출 동작은 평균평방근 (RMS) 분류 동작, 대역-전력 분류 동작, 시간 도메인 동작, 주파수 도메인 동작, 패턴 매칭 동작, 모델-기반 동작, 신규성 검출 동작, 또는 이들의 임의의 조합을 포함하는, 방법.
KR1020147011118A 2011-11-01 2012-09-25 오디오 피처 데이터의 추출 및 분석 KR101622493B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161554318P 2011-11-01 2011-11-01
US61/554,318 2011-11-01
US13/483,732 US9992745B2 (en) 2011-11-01 2012-05-30 Extraction and analysis of buffered audio data using multiple codec rates each greater than a low-power processor rate
US13/483,732 2012-05-30
PCT/US2012/057078 WO2013066523A2 (en) 2011-11-01 2012-09-25 Extraction and analysis of audio feature data

Publications (2)

Publication Number Publication Date
KR20140082737A KR20140082737A (ko) 2014-07-02
KR101622493B1 true KR101622493B1 (ko) 2016-05-18

Family

ID=48173294

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147011118A KR101622493B1 (ko) 2011-11-01 2012-09-25 오디오 피처 데이터의 추출 및 분석

Country Status (8)

Country Link
US (1) US9992745B2 (ko)
EP (1) EP2774420A2 (ko)
JP (1) JP6076994B2 (ko)
KR (1) KR101622493B1 (ko)
CN (2) CN108551686B (ko)
BR (1) BR112014010032A8 (ko)
IN (1) IN2014MN00769A (ko)
WO (1) WO2013066523A2 (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101804799B1 (ko) * 2011-10-25 2017-12-06 삼성전자주식회사 저전력으로 오디오 데이터를 재생하는 장치 및 방법
KR20220002750A (ko) * 2011-12-07 2022-01-06 퀄컴 인코포레이티드 디지털화된 오디오 스트림을 분석하는 저전력 집적 회로
SG11201406152SA (en) * 2012-03-29 2014-10-30 Haebora Wired and wireless earset using ear-insertion-type microphone
US9288269B2 (en) * 2012-05-30 2016-03-15 Marvell World Trade Ltd. Network presence offload
US9256269B2 (en) * 2013-02-20 2016-02-09 Sony Computer Entertainment Inc. Speech recognition system for performing analysis to a non-tactile inputs and generating confidence scores and based on the confidence scores transitioning the system from a first power state to a second power state
US9703350B2 (en) * 2013-03-15 2017-07-11 Maxim Integrated Products, Inc. Always-on low-power keyword spotting
US9270801B2 (en) * 2013-03-15 2016-02-23 Intel Corporation Low power audio trigger via intermittent sampling
US9892729B2 (en) * 2013-05-07 2018-02-13 Qualcomm Incorporated Method and apparatus for controlling voice activation
US20140337031A1 (en) * 2013-05-07 2014-11-13 Qualcomm Incorporated Method and apparatus for detecting a target keyword
US20140337030A1 (en) * 2013-05-07 2014-11-13 Qualcomm Incorporated Adaptive audio frame processing for keyword detection
US20150032238A1 (en) * 2013-07-23 2015-01-29 Motorola Mobility Llc Method and Device for Audio Input Routing
CN104683933A (zh) 2013-11-29 2015-06-03 杜比实验室特许公司 音频对象提取
WO2015100430A1 (en) 2013-12-24 2015-07-02 Digimarc Corporation Methods and system for cue detection from audio input, low-power data processing and related arrangements
JP6068401B2 (ja) * 2014-07-30 2017-01-25 ファナック株式会社 加工プログラムの読み出し時間に左右されないdnc運転手段を備えた数値制御装置
US9549273B2 (en) 2014-08-28 2017-01-17 Qualcomm Incorporated Selective enabling of a component by a microphone circuit
WO2016048037A1 (ko) * 2014-09-23 2016-03-31 엘지전자 주식회사 무선 통신 시스템에서 장치 대 장치 단말의 디스커버리 신호 전송 방법 및 장치
US9799215B2 (en) * 2014-10-02 2017-10-24 Knowles Electronics, Llc Low power acoustic apparatus and method of operation
US9693375B2 (en) * 2014-11-24 2017-06-27 Apple Inc. Point-to-point ad hoc voice communication
US9652017B2 (en) 2014-12-17 2017-05-16 Qualcomm Incorporated System and method of analyzing audio data samples associated with speech recognition
US10719115B2 (en) * 2014-12-30 2020-07-21 Avago Technologies International Sales Pte. Limited Isolated word training and detection using generated phoneme concatenation models of audio inputs
CN104636474A (zh) * 2015-02-13 2015-05-20 王磊 构建音频指纹库及检索音频指纹的方法和设备
BR112017021673B1 (pt) 2015-04-10 2023-02-14 Honor Device Co., Ltd Método de controle de voz, meio não-transitório legível por computador e terminal
US10057642B2 (en) 2015-10-06 2018-08-21 Comcast Cable Communications, Llc Controlling the provision of power to one or more devices
US11956503B2 (en) * 2015-10-06 2024-04-09 Comcast Cable Communications, Llc Controlling a device based on an audio input
US9779735B2 (en) 2016-02-24 2017-10-03 Google Inc. Methods and systems for detecting and processing speech signals
KR102556821B1 (ko) 2016-02-29 2023-07-17 퀄컴 테크놀로지스, 인크. 음향 자극의 검출을 나타내는 신호를 생성하기 위한 압전 mems 장치
CN106910494B (zh) 2016-06-28 2020-11-13 创新先进技术有限公司 一种音频识别方法和装置
CN106782529B (zh) * 2016-12-23 2020-03-10 北京云知声信息技术有限公司 语音识别的唤醒词选择方法及装置
US11024302B2 (en) * 2017-03-14 2021-06-01 Texas Instruments Incorporated Quality feedback on user-recorded keywords for automatic speech recognition systems
CN108563468B (zh) * 2018-03-30 2021-09-21 深圳市冠旭电子股份有限公司 一种蓝牙音箱数据处理的方法、装置及蓝牙音箱
US10321251B1 (en) * 2018-06-18 2019-06-11 Republic Wireless, Inc. Techniques of performing microphone switching for a multi-microphone equipped device
US11961522B2 (en) 2018-11-28 2024-04-16 Samsung Electronics Co., Ltd. Voice recognition device and method
KR20200063984A (ko) * 2018-11-28 2020-06-05 삼성전자주식회사 음성 인식 장치 및 방법
CN109814406B (zh) * 2019-01-24 2021-12-24 成都戴瑞斯智控科技有限公司 一种轨道模型电控仿真系统的数据处理方法及解码器架构
CN114175153A (zh) 2019-03-14 2022-03-11 韦斯伯技术公司 具有以不同功耗水平确定的数字输出的麦克风
KR20210141551A (ko) 2019-03-14 2021-11-23 베스퍼 테크놀로지스 인코포레이티드 음향 자극 검출을 위한 적응형 임계값을 갖는 압전 mems 장치
US11726105B2 (en) 2019-06-26 2023-08-15 Qualcomm Incorporated Piezoelectric accelerometer with wake function
CN113628616A (zh) * 2020-05-06 2021-11-09 阿里巴巴集团控股有限公司 音频采集设备、无线耳机以及电子设备系统
TWI748587B (zh) * 2020-08-04 2021-12-01 瑞昱半導體股份有限公司 聲音事件偵測系統及方法
KR102599480B1 (ko) * 2021-05-18 2023-11-08 부산대학교 산학협력단 키워드 음성인식을 위한 자동 학습 시스템 및 방법
CN115579013B (zh) * 2022-12-09 2023-03-10 深圳市锦锐科技股份有限公司 一种低功耗音频解码器
CN116456441B (zh) * 2023-06-16 2023-10-31 荣耀终端有限公司 声音处理装置、方法和电子设备

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278944A (en) * 1992-07-15 1994-01-11 Kokusai Electric Co., Ltd. Speech coding circuit
JPH07121195A (ja) 1993-10-25 1995-05-12 Sony Corp 音声処理用ディジタルシグナルプロセッサ
JPH07244494A (ja) 1994-03-04 1995-09-19 Ricoh Co Ltd 音声認識装置
US6070140A (en) 1995-06-05 2000-05-30 Tran; Bao Q. Speech recognizer
US5721938A (en) 1995-06-07 1998-02-24 Stuckey; Barbara K. Method and device for parsing and analyzing natural language sentences and text
JP3674990B2 (ja) 1995-08-21 2005-07-27 セイコーエプソン株式会社 音声認識対話装置および音声認識対話処理方法
JP3726448B2 (ja) 1997-03-12 2005-12-14 セイコーエプソン株式会社 認識対象音声検出方法およびその装置
DE69819690T2 (de) 1997-12-30 2004-08-12 Koninklijke Philips Electronics N.V. Spracherkennungsvorrichtung unter verwendung eines befehlslexikons
GB2342828A (en) 1998-10-13 2000-04-19 Nokia Mobile Phones Ltd Speech parameter compression; distributed speech recognition
KR100753780B1 (ko) 1999-01-06 2007-08-31 코닌클리케 필립스 일렉트로닉스 엔.브이. 음성 입력 디바이스
US6408272B1 (en) 1999-04-12 2002-06-18 General Magic, Inc. Distributed voice user interface
US6393572B1 (en) * 1999-04-28 2002-05-21 Philips Electronics North America Corporation Sleepmode activation in a slave device
JP2000315097A (ja) 1999-04-30 2000-11-14 Canon Inc 電子機器、その制御方法、及び記録媒体
US6594630B1 (en) 1999-11-19 2003-07-15 Voice Signal Technologies, Inc. Voice-activated control for electrical device
US8108218B1 (en) 1999-12-13 2012-01-31 Avaya Inc. Methods and apparatus for voice recognition for call treatment modification on messaging
KR100340045B1 (ko) 1999-12-24 2002-06-12 오길록 저전력 음성 명령어 구동 휴대 정보단말 장치 및 그를 이용한 음성인식 방법
KR100447667B1 (ko) 2000-04-12 2004-09-08 이경목 음성 인식 기능을 갖는 컴퓨터와 학습용 인형들을 이용한 상호 대화 언어 학습 시스템
JP2002123283A (ja) 2000-10-12 2002-04-26 Nissan Motor Co Ltd 音声認識操作装置
US20020077830A1 (en) 2000-12-19 2002-06-20 Nokia Corporation Method for activating context sensitive speech recognition in a terminal
DE60202857T2 (de) 2001-03-14 2006-02-09 International Business Machines Corp. Verfahren und prozessorsystem zur audiosignalverarbeitung
US8266451B2 (en) 2001-08-31 2012-09-11 Gemalto Sa Voice activated smart card
US6987947B2 (en) * 2001-10-30 2006-01-17 Unwired Technology Llc Multiple channel wireless communication system
KR100594140B1 (ko) 2002-04-13 2006-06-28 삼성전자주식회사 무선통신시스템의 패킷 데이터 서비스 방법
TWI225640B (en) 2002-06-28 2004-12-21 Samsung Electronics Co Ltd Voice recognition device, observation probability calculating device, complex fast fourier transform calculation device and method, cache device, and method of controlling the cache device
JP2004226698A (ja) 2003-01-23 2004-08-12 Yaskawa Electric Corp 音声認識装置
JP2004265217A (ja) 2003-03-03 2004-09-24 Nec Corp 音声認識機能を有する移動通信端末とその端末を利用したキーワード検索方法
WO2004084443A1 (en) 2003-03-17 2004-09-30 Philips Intellectual Property & Standards Gmbh Method for remote control of an audio device
JP2004294946A (ja) 2003-03-28 2004-10-21 Toshiba Corp 携帯型電子機器
JP4301896B2 (ja) 2003-08-22 2009-07-22 シャープ株式会社 信号分析装置、音声認識装置、プログラム、記録媒体、並びに電子機器
TWI222837B (en) 2003-10-14 2004-10-21 Design Technology Inc G Audio signal compression processing device to with reduced power consumption
US20060074658A1 (en) 2004-10-01 2006-04-06 Siemens Information And Communication Mobile, Llc Systems and methods for hands-free voice-activated devices
JP2007219207A (ja) 2006-02-17 2007-08-30 Fujitsu Ten Ltd 音声認識装置
JP2007255897A (ja) 2006-03-20 2007-10-04 Clarion Co Ltd ナビゲーションシステム並びに装置、その制御方法及び制御プログラム
US20070254680A1 (en) 2006-05-01 2007-11-01 Shary Nassimi Wirefree intercom having low power system and process
KR100744301B1 (ko) 2006-06-01 2007-07-30 삼성전자주식회사 음성 인식을 이용하여 동작 모드를 전환하는 휴대 단말기및 그 방법
US8207936B2 (en) 2006-06-30 2012-06-26 Sony Ericsson Mobile Communications Ab Voice remote control
EP1879000A1 (en) 2006-07-10 2008-01-16 Harman Becker Automotive Systems GmbH Transmission of text messages by navigation systems
ATE426233T1 (de) 2006-11-30 2009-04-15 Harman Becker Automotive Sys Interaktives spracherkennungssystem
US9760146B2 (en) 2007-01-08 2017-09-12 Imagination Technologies Limited Conditional activation and deactivation of a microprocessor
US7818176B2 (en) 2007-02-06 2010-10-19 Voicebox Technologies, Inc. System and method for selecting and presenting advertisements based on natural language processing of voice-based input
US20080221884A1 (en) 2007-03-07 2008-09-11 Cerra Joseph P Mobile environment speech processing facility
US7774626B2 (en) 2007-03-29 2010-08-10 Intel Corporation Method to control core duty cycles using low power modes
EP1978765A1 (en) 2007-04-02 2008-10-08 BRITISH TELECOMMUNICATIONS public limited company Power management scheme for mobile communication devices
JP2008309864A (ja) 2007-06-12 2008-12-25 Fujitsu Ten Ltd 音声認識装置および音声認識方法
US20090055005A1 (en) 2007-08-23 2009-02-26 Horizon Semiconductors Ltd. Audio Processor
US8725520B2 (en) 2007-09-07 2014-05-13 Qualcomm Incorporated Power efficient batch-frame audio decoding apparatus, system and method
US8554550B2 (en) * 2008-01-28 2013-10-08 Qualcomm Incorporated Systems, methods, and apparatus for context processing using multi resolution analysis
US8050932B2 (en) * 2008-02-20 2011-11-01 Research In Motion Limited Apparatus, and associated method, for selecting speech COder operational rates
KR20090107365A (ko) 2008-04-08 2009-10-13 엘지전자 주식회사 이동 단말기 및 그 메뉴 제어방법
JP5327838B2 (ja) 2008-04-23 2013-10-30 Necインフロンティア株式会社 音声入力分散処理方法及び音声入力分散処理システム
US8244528B2 (en) 2008-04-25 2012-08-14 Nokia Corporation Method and apparatus for voice activity determination
CA2665055C (en) 2008-05-23 2018-03-06 Accenture Global Services Gmbh Treatment processing of a plurality of streaming voice signals for determination of responsive action thereto
JP2010136292A (ja) * 2008-12-08 2010-06-17 Toshiba Corp 画像処理装置
WO2010078386A1 (en) 2008-12-30 2010-07-08 Raymond Koverzin Power-optimized wireless communications device
JP4809454B2 (ja) 2009-05-17 2011-11-09 株式会社半導体理工学研究センター 発話推定による回路起動方法及び回路起動装置
JP2011071937A (ja) 2009-09-28 2011-04-07 Kyocera Corp 電子機器
US20110099507A1 (en) 2009-10-28 2011-04-28 Google Inc. Displaying a collection of interactive elements that trigger actions directed to an item
CN201752079U (zh) 2010-01-15 2011-02-23 硕呈科技股份有限公司 待命模式的电源变动唤醒装置
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
KR20110110434A (ko) 2010-04-01 2011-10-07 삼성전자주식회사 저전력 오디오 재생장치 및 방법
KR101733205B1 (ko) 2010-04-05 2017-05-08 삼성전자주식회사 오디오 디코딩 시스템 및 그것의 오디오 디코딩 방법
US9112989B2 (en) 2010-04-08 2015-08-18 Qualcomm Incorporated System and method of smart audio logging for mobile devices
US8359020B2 (en) 2010-08-06 2013-01-22 Google Inc. Automatically monitoring for voice input based on context
US8606293B2 (en) 2010-10-05 2013-12-10 Qualcomm Incorporated Mobile device location estimation using environmental information
US9443511B2 (en) 2011-03-04 2016-09-13 Qualcomm Incorporated System and method for recognizing environmental sound
US8798995B1 (en) 2011-09-23 2014-08-05 Amazon Technologies, Inc. Key word determinations from voice data
US8924219B1 (en) 2011-09-30 2014-12-30 Google Inc. Multi hotword robust continuous voice command detection in mobile devices
US9031847B2 (en) 2011-11-15 2015-05-12 Microsoft Technology Licensing, Llc Voice-controlled camera operations
US8666751B2 (en) 2011-11-17 2014-03-04 Microsoft Corporation Audio pattern matching for device activation
KR20220002750A (ko) 2011-12-07 2022-01-06 퀄컴 인코포레이티드 디지털화된 오디오 스트림을 분석하는 저전력 집적 회로
DE102013001219B4 (de) 2013-01-25 2019-08-29 Inodyn Newmedia Gmbh Verfahren und System zur Sprachaktivierung eines Software-Agenten aus einem Standby-Modus

Also Published As

Publication number Publication date
BR112014010032A8 (pt) 2017-06-20
KR20140082737A (ko) 2014-07-02
CN103999517A (zh) 2014-08-20
CN108551686A (zh) 2018-09-18
BR112014010032A2 (pt) 2017-06-13
WO2013066523A2 (en) 2013-05-10
WO2013066523A3 (en) 2013-07-11
CN108551686B (zh) 2021-06-18
IN2014MN00769A (ko) 2015-07-03
US9992745B2 (en) 2018-06-05
EP2774420A2 (en) 2014-09-10
JP2015501450A (ja) 2015-01-15
US20130110521A1 (en) 2013-05-02
CN103999517B (zh) 2018-06-12
JP6076994B2 (ja) 2017-02-08

Similar Documents

Publication Publication Date Title
KR101622493B1 (ko) 오디오 피처 데이터의 추출 및 분석
US9549273B2 (en) Selective enabling of a component by a microphone circuit
JP2015501450A5 (ko)
US20210264947A1 (en) System and method of determining auditory context information
CN111210021B (zh) 一种音频信号处理方法、模型训练方法以及相关装置
WO2020228095A1 (zh) 实时语音唤醒的音频设备、运行方法、装置及存储介质
US9412373B2 (en) Adaptive environmental context sample and update for comparing speech recognition
US20150063575A1 (en) Acoustic Sound Signature Detection Based on Sparse Features
US20150066498A1 (en) Analog to Information Sound Signature Detection
US11264049B2 (en) Systems and methods for capturing noise for pattern recognition processing
CN104049707B (zh) 永远接通低功率关键字检出
CN113889084B (zh) 音频识别方法、装置、电子设备及存储介质
CN105718165A (zh) 一种终端后台应用的启动方法及装置
CN114758672A (zh) 一种音频生成方法、装置以及电子设备

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

Patent event date: 20140424

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20150527

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20160212

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20160512

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20160512

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20190327

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20190327

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20200324

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20210329

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20230327

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20240320

Start annual number: 9

End annual number: 9