CN114208207A - 音频设备的协调 - Google Patents

音频设备的协调 Download PDF

Info

Publication number
CN114208207A
CN114208207A CN202080055801.1A CN202080055801A CN114208207A CN 114208207 A CN114208207 A CN 114208207A CN 202080055801 A CN202080055801 A CN 202080055801A CN 114208207 A CN114208207 A CN 114208207A
Authority
CN
China
Prior art keywords
audio
smart
audio device
application
examples
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202080055801.1A
Other languages
English (en)
Inventor
G·N·狄金斯
M·R·P·托马斯
A·J·西斐德
J·B·兰多
D·阿特亚加
C·M·迪奥尼西奥
D·古纳万
R·J·卡特莱特
C·G·海因斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dolby International AB
Dolby Laboratories Licensing Corp
Original Assignee
Dolby International AB
Dolby Laboratories Licensing Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/929,215 external-priority patent/US11659332B2/en
Application filed by Dolby International AB, Dolby Laboratories Licensing Corp filed Critical Dolby International AB
Publication of CN114208207A publication Critical patent/CN114208207A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R5/00Stereophonic arrangements
    • H04R5/04Circuit arrangements, e.g. for selective connection of amplifier inputs/outputs to loudspeakers, for loudspeaker detection, or for adaptation of settings to personal preferences or hearing impairments
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R1/00Details of transducers, loudspeakers or microphones
    • H04R1/20Arrangements for obtaining desired frequency or directional characteristics
    • H04R1/32Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only
    • H04R1/326Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only for microphones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R1/00Details of transducers, loudspeakers or microphones
    • H04R1/20Arrangements for obtaining desired frequency or directional characteristics
    • H04R1/32Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only
    • H04R1/40Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only by combining a number of identical transducers
    • H04R1/403Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only by combining a number of identical transducers loud-speakers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R1/00Details of transducers, loudspeakers or microphones
    • H04R1/20Arrangements for obtaining desired frequency or directional characteristics
    • H04R1/32Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only
    • H04R1/40Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only by combining a number of identical transducers
    • H04R1/406Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only by combining a number of identical transducers microphones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R27/00Public address systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • H04R3/005Circuits for transducers, loudspeakers or microphones for combining the signals of two or more microphones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • H04R3/12Circuits for transducers, loudspeakers or microphones for distributing signals to two or more loudspeakers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S7/00Indicating arrangements; Control arrangements, e.g. balance control
    • H04S7/30Control circuits for electronic adaptation of the sound field
    • H04S7/302Electronic adaptation of stereophonic sound system to listener position or orientation
    • H04S7/303Tracking of listener position or orientation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2227/00Details of public address [PA] systems covered by H04R27/00 but not provided for in any of its subgroups
    • H04R2227/005Audio distribution systems for home, i.e. multi-room use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2420/00Details of connection covered by H04R, not provided for in its groups
    • H04R2420/07Applications of wireless loudspeakers or wireless microphones

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Health & Medical Sciences (AREA)
  • Otolaryngology (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Stereophonic System (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

一种音频会话管理方法可以涉及:由音频会话管理器确定第一智能音频设备的第一媒体引擎的一个或多个第一媒体引擎能力,第一媒体引擎被配置用于管理由第一智能音频设备接收的一个或多个音频媒体流以及用于根据第一媒体引擎采样时钟针对一个或多个音频媒体流执行第一智能音频设备信号处理;由音频会话管理器并且经由第一应用通信链路来接收来自第一应用的第一应用控制信号;以及由音频会话管理器根据第一媒体引擎能力,通过经由第一智能音频设备通信链路在不参考第一媒体引擎采样时钟的情况下传输到第一智能音频设备的第一音频会话管理控制信号来控制第一智能音频设备。

Description

音频设备的协调
相关申请的交叉引用
本申请要求以下各项的优先权:
于2019年12月18日提交的美国临时专利申请号62/949,998;
于2020年3月19日提交的美国临时专利申请号62/992,068;
于2019年12月18日提交的欧洲专利申请号19217580.0;
于2019年7月30日提交的西班牙专利申请号P201930702;
于2020年2月7日提交的美国临时专利申请号62/971,421;
于2020年6月25日提交的美国临时专利申请号62/705,410;
于2019年7月30日提交的美国临时专利申请号62/880,114;
于2020年6月23日提交的美国临时专利申请号62/705,351;
于2019年7月30日提交的美国临时专利申请号62/880,115;
于2020年6月12日提交的美国临时专利申请号62/705,143;
于2019年7月30日提交的美国临时专利申请号62/880,118;
于2020年7月15日提交的美国专利申请号16/929,215;
于2020年7月20日提交的美国临时专利申请号62/705,883;
于2019年7月30日提交的美国临时专利申请号62/880,121;以及
于2020年7月20日提交的美国临时专利申请号62/705,884。每个所提及的申请通过引用以其整体并入本文。
技术领域
本公开涉及用于协调(编排)和实施音频设备的系统和方法,所述音频设备可以包括智能音频设备。
背景技术
音频设备,包括但不限于智能音频设备,已经被广泛部署并且正在成为许多家庭的共同特征。尽管用于控制音频设备的现有系统和方法提供了益处,但改进的系统和方法将仍是期望的。
符号和术语
贯穿本公开,包括在权利要求中,“扬声器(speaker)”和“扩音器(loudspeaker)”同义地用于表示由单个扬声器馈送驱动的任何发声换能器(或一组换能器)。典型的耳机包括两个扬声器。扬声器可以被实施为包括多个换能器(例如,低音扬声器和高音扬声器),所述换能器可以由单个公共扬声器馈送或多个扬声器馈送驱动。在一些示例中,(多个)扬声器馈送可以在耦接到不同换能器的不同电路分支中经历不同处理。
贯穿本公开,包括在权利要求中,在广义上使用“对”信号或数据进行操作的表达(例如,对信号或数据进行滤波、缩放、变换或施加增益)来表示直接对信号或数据进行操作或对信号或数据的已处理版本(例如,在对其进行操作之前已进行了初步滤波或预处理的信号版本)进行操作。
贯穿本公开,包括在权利要求中,在广义上使用表达“系统”来表示设备、系统或子系统。例如,实施解码器的子系统可以被称为解码器系统,并且包括这种子系统的系统(例如,响应于多个输入而生成X个输出信号的系统,其中,所述子系统生成其中M个输入,而其他X-M个输入是从外部源接收的)也可以被称为解码器系统。
贯穿本公开,包括在权利要求中,在广义上使用术语“处理器”来表示可编程或以其他方式可配置(例如,用软件或固件)为对数据(例如,音频、视频或其他图像数据)执行操作的系统或设备。处理器的示例包括现场可编程门阵列(或其他可配置集成电路或芯片组)、被编程和/或以其他方式被配置成对音频或其他声音数据执行流水线式处理的数字信号处理器、可编程通用处理器或计算机,以及可编程微处理器芯片或芯片组。
贯穿本公开,包括在权利要求中,术语“耦接(couple/coupled)”用于指直接或间接连接。因此,如果第一设备耦接至第二设备,则所述连接可以通过直接连接或者通过经由其他设备和连接的间接连接实现。
如本文所使用的,“智能设备”是可以在某种程度上交互地和/或自主地运行的电子设备,其通常被配置为通过如蓝牙、Zigbee、近场通信、Wi-Fi、光保真(Li-Fi)、3G、4G、5G等各种无线协议与一个或多个其他设备(或网络)进行通信。若干种值得注意的智能设备类型是智能电话、智能汽车、智能恒温器、智能门铃、智能锁、智能冰箱、平板手机和平板电脑、智能手表、智能手环、智能钥匙链和智能音频设备。术语“智能设备”还可以指展现出如人工智能等普适计算的某些性质的设备。
本文中使用表达“智能音频设备”来表示智能设备,其可以是单用途音频设备或多用途音频设备(例如,实施虚拟助理功能的至少一些方面的音频设备)。单用途音频设备是包括或耦接到至少一个麦克风(并且任选地还包括或耦接到至少一个扬声器和/或至少一个相机)并且很大程度上或主要被设计为实现单用途的设备(例如,电视(TV)或移动电话)。例如,虽然TV通常可以播放(并且被认为能够播放)来自节目素材的音频,但在大多数情况下,现代TV运行某种操作系统,应用(包括看电视的应用)在所述操作系统上本地运行。类似地,移动电话中的音频输入和输出可以做很多事情,但这些都是由电话上运行的应用服务的。从这个意义上说,具有(多个)扬声器和(多个)麦克风的单用途音频设备通常被配置为运行本地应用和/或服务以直接使用所述(多个)扬声器和(多个)麦克风。一些单用途音频设备可以被配置为组合在一起以实现在一定区或用户配置区域上播放音频。
一种常见类型的多用途音频设备是实施虚拟助理功能的至少一些方面的音频设备,尽管虚拟助理功能的其他方面可以由一个或多个其他设备来实施,例如一个或多个服务器,多用途音频设备被配置为与所述一个或多个服务器通信。这种多用途音频设备在本文中可以被称为“虚拟助理”。虚拟助理是包括或耦接到至少一个麦克风(并且任选地还包括或耦接到至少一个扬声器和/或至少一个相机)的设备(例如,智能扬声器或语音助理集成设备)。在一些示例中,虚拟助理可以提供将多个设备(不同于虚拟助理)用于某种意义上支持云的应用或以其他方式未在虚拟助理本身中或之上完全实施的应用的能力。换句话说,虚拟助理功能的至少一些方面(例如,言语识别功能)可以(至少部分地)由一个或多个服务器或其他设备实施,虚拟助理可以通过网络(如互联网)与所述一个或多个服务器或其他设备通信。虚拟助理有时可以一起工作,例如,以离散和有条件地定义的方式。例如,两个或更多个虚拟助理可以在其中之一(例如,最确信已经听到唤醒词的虚拟助理)对唤醒词作出响应的意义上一起工作。在一些实施方式中,连接的虚拟助理可以形成一种可以由一个主应用管理的系列(constellation),主应用可以是(或实施)虚拟助理。
本文中,“唤醒词”在广义上用于表示任何声音(例如,人类说出的词或其他声音),其中智能音频设备被配置为响应于检测到(“听到”)声音(使用包括在智能音频设备中或耦接到所述智能音频设备的至少一个麦克风,或至少一个其他麦克风)而唤醒。在该上下文中,“唤醒”表示设备进入等待(换句话说,正在收听)声音命令的状态。在一些实例中,本文中可以被称为“唤醒词”的内容可以包括超过一个词,例如,短语。
本文中,表达“唤醒词检测器”表示被配置为连续搜索实时声音(例如,言语)特征与训练模型之间的对齐的设备(或包括用于将设备配置为连续搜索实时声音特征与训练模型之间的对齐的指令的软件)。通常,每当唤醒词检测器确定检测到唤醒词的概率超过预定义阈值,就会触发唤醒词事件。例如,所述阈值可以是被调整以在错误接受率与错误拒绝率之间给出合理折衷的预定阈值。在唤醒词事件之后,设备可能会进入一种状态(可以被称为“已唤醒”状态或“注意力”状态),在所述状态下设备会收听命令并且将接收到的命令传递给更大的、计算更密集的识别器。
发明内容
在一类实施例中,使用连续分层音频会话管理器(Continuous HierarchicalAudio Session Manager,CHASM)对音频设备(其可以包括智能音频设备)进行协调。在一些公开的实施方式中,CHASM的至少一些方面可以通过本文中所谓的“智能家居中枢”来实施。根据一些示例,CHASM可以由音频环境的特定设备实施。在一些实例中,可以至少部分地经由可以由音频环境的一个或多个设备执行的软件来实施CHASM。在一些实施例中,设备(例如,智能音频设备)包括可连接网络的元件或子系统(例如,可连接网络的媒体引擎和设备性质描述符),在本文中有时被称为可发现的机会性编排分布式音频子系统(DiscoverableOpportunistically Orchestrated Distributed Audio Subsystem,DOODAD),并且多个(例如,大量)设备(例如,智能音频设备或包括DOODADS的其他设备)由CHASM共同管理,或以实现编排功能的另一种方式进行(例如,取代首次购买时已知的或预期用于设备的功能)。本文中描述了开发架构和适用于表达和控制支持CHASM的音频系统的音频功能的控制语言。本文中还描述了编排语言(Language of Orchestration),并且阐述了在不直接参考音频的设备(或路由)的情况下解决集体性音频系统的基本要素和差异。还描述了持续性会话、目的地、优先级和音频路由以及寻求确认,这些对于编排和在人与地点之间路由音频的想法来说是特别的。
本公开的各方面包括一种被配置(例如,被编程)成执行所公开方法或其步骤的任何实施例的系统,以及一种实施数据的非暂态存储的有形非暂态计算机可读介质(例如,磁盘或其他有形存储介质),有形非暂态计算机可读介质存储了用于执行所公开方法或其步骤的任何实施例的代码(例如,可执行以执行所公开方法或其步骤的任何实施例的代码)。例如,一些实施例可以是或者包括用软件或固件编程为和/或以其他方式被配置成根据所公开方法中的一种或多种或其步骤对数据进行多种操作中的任何一种的可编程通用处理器、数字信号处理器或微处理器。这种通用处理器可以是或者包括计算机系统,计算机系统包括被编程(和/或以其他方式被配置)为响应于向其断言的数据而执行更多所公开方法(或其步骤)的处理子系统、输入设备和存储器。
本公开的至少一些方面可以经由方法来实施。在一些实例中,方法可以至少部分地由如本文所公开的那些控制系统来实施。一些这样的方法可以涉及针对音频环境的音频系统的音频会话管理。
一些这样的方法涉及在音频会话管理器与音频系统的至少第一智能音频设备之间建立第一智能音频设备通信链路。在一些示例中,第一智能音频设备是或包括单用途音频设备或多用途音频设备。在一些这样的示例中,第一智能音频设备包括一个或多个扩音器。一些这样的方法涉及在音频会话管理器与执行第一应用的第一应用设备之间建立第一应用通信链路。
一些这样的方法涉及由音频会话管理器确定第一智能音频设备的第一媒体引擎的一个或多个第一媒体引擎能力。在一些示例中,第一媒体引擎被配置用于管理由第一智能音频设备接收的一个或多个音频媒体流,以及用于根据第一媒体引擎采样时钟针对一个或多个音频媒体流执行第一智能音频设备信号处理。
在一些这样的示例中,方法涉及由音频会话管理器并且经由第一应用通信链路接收来自第一应用的第一应用控制信号。一些这样的方法涉及根据第一媒体引擎能力控制第一智能音频设备。根据一些实施方式,控制由音频会话管理器通过经由第一智能音频设备通信链路传输到第一智能音频设备的第一音频会话管理控制信号来完成。在一些这样的示例中,音频会话管理器在不参考第一媒体引擎采样时钟的情况下将第一音频会话管理控制信号传输到第一智能音频设备。
在一些实施方式中,第一应用通信链路可以响应于来自第一应用设备的第一路由发起请求而建立。根据一些示例,第一应用控制信号可以在不参考第一媒体引擎采样时钟的情况下从第一应用传输。在一些示例中,第一音频会话管理控制信号可以使第一智能音频设备将对第一媒体引擎的控制委派给音频会话管理器。
根据一些示例,除了音频会话管理器或第一智能音频设备之外的设备可以被配置用于执行第一应用。然而,在一些实例中,第一智能音频设备可以被配置用于执行第一应用。
在一些示例中,第一智能音频设备可以包括特定用途音频会话管理器。根据一些这样的示例,音频会话管理器可以经由第一智能音频设备通信链路与特定用途音频会话管理器进行通信。根据一些这样的示例,音频会话管理器可以从特定用途音频会话管理器获得一个或多个第一媒体引擎能力。
根据一些实施方式,音频会话管理器可以充当控制第一媒体引擎的所有应用的网关,无论应用是在第一智能音频设备上还是在另一个设备上运行。
一些这样的方法还可以涉及至少建立与第一音频源相对应的第一音频流。第一音频流可以包括第一音频信号。在一些这样的示例中,至少建立第一音频流可以涉及经由第一音频会话管理控制信号来使第一智能音频设备至少建立第一音频流,第一音频会话管理控制信号是经由第一智能音频设备通信链路被传输到第一智能音频设备的。
在一些示例中,这样的方法还可以涉及使第一音频信号被渲染为第一经渲染的音频信号的渲染过程。在一些示例中,渲染过程可以由第一智能音频设备响应于第一音频会话管理控制信号而执行。
一些这样的方法还可以涉及经由第一音频会话管理控制信号来使第一智能音频设备在音频环境的一个或多个其他智能音频设备中的每一个其他智能音频设备与第一智能音频设备之间建立智能音频设备间通信链路。一些这样的方法还可以涉及使第一智能音频设备经由智能音频设备间通信链路或多个智能音频设备间通信链路将原始麦克风信号、经处理的麦克风信号、经渲染的音频信号和/或未渲染的音频信号传输到一个或多个其他智能音频设备。
在一些示例中,这样的方法还可以涉及在家庭音频系统的至少一第二智能音频设备与音频会话管理器之间建立第二智能音频设备通信链路。第二智能音频设备可以是或可以包括单用途音频设备或多用途音频设备。第二智能音频设备可以包括一个或多个麦克风。一些这样的方法还可以涉及由音频会话管理器确定第二智能音频设备的第二媒体引擎的一个或多个第二媒体引擎能力。第二媒体引擎可以被配置用于从一个或多个麦克风接收麦克风数据以及用于对麦克风数据执行第二智能音频设备信号处理。一些这样的方法还可以涉及由音频会话管理器根据第二媒体引擎能力经由第二音频会话管理器控制信号来控制第二智能音频设备,第二音频会话管理器控制信号是经由第二智能音频设备通信链路被传输到第二智能音频设备的。
根据一些这样的示例,控制第二智能音频设备还可以涉及使第二智能音频设备在第二智能音频设备与第一智能音频设备之间建立智能音频设备间通信链路。在一些示例中,控制第二智能音频设备可以涉及使第二智能音频设备经由智能音频设备间通信链路将经处理的和/或未处理的麦克风数据从第二媒体引擎传输到第一媒体引擎。
在一些示例中,控制第二智能音频设备可以涉及由音频会话管理器并且经由第一应用通信链路接收来自第一应用的第一应用控制信号,以及根据第一应用控制信号来确定第二音频会话管理器控制信号。
替代性地或另外地,一些音频会话管理方法涉及从实施第一应用的第一设备并且由实施音频会话管理器的设备接收用于发起针对第一音频会话的第一路由的第一路由发起请求。在一些示例中,第一路由发起请求指示第一音频源和第一音频环境目的地,并且第一音频环境目的地与音频环境中的至少第一人相对应,但第一音频环境目的地不指示音频设备。
一些这样的方法涉及由实施音频会话管理器的设备建立与第一路由发起请求相对应的第一路由。根据一些示例,建立第一路由涉及确定音频环境中至少第一人的第一位置、针对第一音频会话的第一阶段确定至少一个音频设备以及发起或调度第一音频会话。
根据一些示例,第一路由发起请求可以包括第一音频会话优先级。在一些实例中,第一路由发起请求可以包括第一连接模式。例如,第一连接模式可以是同步连接模式、事务连接模式或调度连接模式。
在一些实施方式中,第一路由发起请求可以包括是否需要来自至少第一人的确认的指示。在一些实例中,第一路由发起请求可以包括第一音频会话目标。例如,第一音频会话目标可以包括可懂度、音频质量、空间保真度、可听度、不可听度和/或隐私性。
一些这样的方法可以涉及确定第一路由的第一持续性唯一音频会话标识符。这样的方法可以涉及将第一持续性唯一音频会话标识符传输到第一设备。
根据一些示例,建立第一路由可以涉及使环境中的至少一个设备至少建立与第一路由相对应的第一媒体流,第一媒体流包括第一音频信号。一些这样的方法可以涉及使第一音频信号被渲染为第一经渲染的音频信号。
一些这样的方法可以涉及针对音频会话的第一阶段确定第一人的第一取向。根据一些这样的示例,使第一音频信号被渲染为第一经渲染的音频信号可以涉及确定与第一人的第一位置和第一取向相对应的第一参考空间模式,以及确定音频环境中的扩音器的与第一参考空间模式相对应的第一相对激活。
一些这样的方法可以涉及针对第一音频会话的第二阶段确定第一人的第二位置和/或第二取向。一些这样的方法可以涉及确定与第二位置和/或第二取向相对应的第二参考空间模式,以及确定音频环境中的扩音器的与第二参考空间模式相对应的第二相对激活。
根据一些示例,一种方法可以涉及从实施第二应用的第二设备并且由实施音频会话管理器的设备接收用于发起针对第二音频会话的第二路由的第二路由发起请求。第二路由发起请求可以指示第二音频源和第二音频环境目的地。第二音频环境目的地可以与音频环境中的至少第二人相对应。在一些示例中,第二音频环境目的地不指示音频设备。
一些这样的方法可以涉及由实施音频会话管理器的设备建立与第二路由发起请求相对应的第二路由。在一些实施方式中,建立第二路由可以涉及确定音频环境中至少第二人的第一位置、针对第二音频会话的第一阶段确定至少一个音频设备以及发起第二音频会话。在一些示例中,建立第二路由可以涉及至少建立与第二路由相对应的第二媒体流,第二媒体流包括第二音频信号。一些这样的方法可以涉及使第二音频信号被渲染为第二经渲染的音频信号。
一些这样的方法可以涉及至少部分地基于第二音频信号、第二经渲染的音频信号或其特性中的至少一项来修正针对第一音频信号的渲染过程,以产生经修正的第一经渲染的音频信号。根据一些示例,修正针对第一音频信号的渲染过程可以涉及将第一音频信号的渲染扭曲远离第二经渲染的音频信号的渲染位置。替代性地或另外地,修正针对第一音频信号的渲染过程可以涉及响应于第二音频信号或第二经渲染的音频信号中的一个或多个的响度而修正第一经渲染的音频信号中的一个或多个的响度。
在一些示例中,第一路由发起请求可以至少将音频环境的第一区域指示为第一路由源或第一路由目的地。在一些实施方式中,第一路由发起请求可以至少将第一服务(例如,在线内容提供服务,如提供音乐的服务或提供播客的服务)指示为第一音频源。
本文描述的一些或所有操作、功能和/或方法可以由一个或多个设备根据存储在一个或多个非暂态介质上的指令(例如,软件)来执行。这种非暂态介质可以包括如本文描述的存储器设备,包括但不限于随机存取存储器(RAM)设备、只读存储器(ROM)设备等。因此,本公开中描述的主题的一些创新方面可以在其上存储有软件的一个或多个非暂态介质中实施。
例如,软件可以包括用于控制一个或多个设备执行涉及针对音频环境的音频系统的音频会话管理的一种或多种方法的指令。一些这样的方法涉及在音频会话管理器与音频系统的至少第一智能音频设备之间建立第一智能音频设备通信链路。在一些示例中,第一智能音频设备是或包括单用途音频设备或多用途音频设备。在一些这样的示例中,第一智能音频设备包括一个或多个扩音器。一些这样的方法涉及在音频会话管理器与执行第一应用的第一应用设备之间建立第一应用通信链路。
一些这样的方法涉及由音频会话管理器确定第一智能音频设备的第一媒体引擎的一个或多个第一媒体引擎能力。在一些示例中,第一媒体引擎被配置用于管理由第一智能音频设备接收的一个或多个音频媒体流,以及用于根据第一媒体引擎采样时钟针对一个或多个音频媒体流执行第一智能音频设备信号处理。
在一些这样的示例中,方法涉及由音频会话管理器并且经由第一应用通信链路接收来自第一应用的第一应用控制信号。一些这样的方法涉及根据第一媒体引擎能力控制第一智能音频设备。根据一些实施方式,控制由音频会话管理器通过经由第一智能音频设备通信链路传输到第一智能音频设备的第一音频会话管理控制信号来完成。在一些这样的示例中,音频会话管理器在不参考第一媒体引擎采样时钟的情况下将第一音频会话管理控制信号传输到第一智能音频设备。
在一些实施方式中,第一应用通信链路可以响应于来自第一应用设备的第一路由发起请求而建立。根据一些示例,第一应用控制信号可以在不参考第一媒体引擎采样时钟的情况下从第一应用传输。在一些示例中,第一音频会话管理控制信号可以使第一智能音频设备将对第一媒体引擎的控制委派给音频会话管理器。
根据一些示例,除了音频会话管理器或第一智能音频设备之外的设备可以被配置用于执行第一应用。然而,在一些实例中,第一智能音频设备可以被配置用于执行第一应用。
在一些示例中,第一智能音频设备可以包括特定用途音频会话管理器。根据一些这样的示例,音频会话管理器可以经由第一智能音频设备通信链路与特定用途音频会话管理器进行通信。根据一些这样的示例,音频会话管理器可以从特定用途音频会话管理器获得一个或多个第一媒体引擎能力。
根据一些实施方式,音频会话管理器可以充当控制第一媒体引擎的所有应用的网关,无论应用是在第一智能音频设备上还是在另一个设备上运行。
一些这样的方法还可以涉及至少建立与第一音频源相对应的第一音频流。第一音频流可以包括第一音频信号。在一些这样的示例中,至少建立第一音频流可以涉及经由第一音频会话管理控制信号来使第一智能音频设备至少建立第一音频流,第一音频会话管理控制信号是经由第一智能音频设备通信链路被传输到第一智能音频设备的。
在一些示例中,这样的方法还可以涉及使第一音频信号被渲染为第一经渲染的音频信号的渲染过程。在一些示例中,渲染过程可以由第一智能音频设备响应于第一音频会话管理控制信号而执行。
一些这样的方法还可以涉及经由第一音频会话管理控制信号来使第一智能音频设备在音频环境的一个或多个其他智能音频设备中的每一个其他智能音频设备与第一智能音频设备之间建立智能音频设备间通信链路。一些这样的方法还可以涉及使第一智能音频设备经由智能音频设备间通信链路或多个智能音频设备间通信链路将原始麦克风信号、经处理的麦克风信号、经渲染的音频信号和/或未渲染的音频信号传输到一个或多个其他智能音频设备。
在一些示例中,这样的方法还可以涉及在家庭音频系统的至少一第二智能音频设备与音频会话管理器之间建立第二智能音频设备通信链路。第二智能音频设备可以是或可以包括单用途音频设备或多用途音频设备。第二智能音频设备可以包括一个或多个麦克风。一些这样的方法还可以涉及由音频会话管理器确定第二智能音频设备的第二媒体引擎的一个或多个第二媒体引擎能力。第二媒体引擎可以被配置用于从一个或多个麦克风接收麦克风数据以及用于对麦克风数据执行第二智能音频设备信号处理。一些这样的方法还可以涉及由音频会话管理器根据第二媒体引擎能力经由第二音频会话管理器控制信号来控制第二智能音频设备,第二音频会话管理器控制信号是经由第二智能音频设备通信链路被传输到第二智能音频设备的。
根据一些这样的示例,控制第二智能音频设备还可以涉及使第二智能音频设备在第二智能音频设备与第一智能音频设备之间建立智能音频设备间通信链路。在一些示例中,控制第二智能音频设备可以涉及使第二智能音频设备经由智能音频设备间通信链路将经处理的和/或未处理的麦克风数据从第二媒体引擎传输到第一媒体引擎。
在一些示例中,控制第二智能音频设备可以涉及由音频会话管理器并且经由第一应用通信链路接收来自第一应用的第一应用控制信号,以及根据第一应用控制信号来确定第二音频会话管理器控制信号。
替代性地或另外地,软件可以包括用于控制一个或多个设备执行涉及针对音频环境的音频系统的音频会话管理的一种或多种其他方法的指令。一些这样的音频会话管理方法涉及从实施第一应用的第一设备并且由实施音频会话管理器的设备接收用于发起针对第一音频会话的第一路由的第一路由发起请求。在一些示例中,第一路由发起请求指示第一音频源和第一音频环境目的地,并且第一音频环境目的地与音频环境中的至少第一人相对应,但第一音频环境目的地不指示音频设备。
一些这样的方法涉及由实施音频会话管理器的设备建立与第一路由发起请求相对应的第一路由。根据一些示例,建立第一路由涉及确定音频环境中至少第一人的第一位置、针对第一音频会话的第一阶段确定至少一个音频设备以及发起或调度第一音频会话。
根据一些示例,第一路由发起请求可以包括第一音频会话优先级。在一些实例中,第一路由发起请求可以包括第一连接模式。例如,第一连接模式可以是同步连接模式、事务连接模式或调度连接模式。
在一些实施方式中,第一路由发起请求可以包括是否需要来自至少第一人的确认的指示。在一些实例中,第一路由发起请求可以包括第一音频会话目标。例如,第一音频会话目标可以包括可懂度、音频质量、空间保真度、可听度、不可听度和/或隐私性。
一些这样的方法可以涉及确定第一路由的第一持续性唯一音频会话标识符。这样的方法可以涉及将第一持续性唯一音频会话标识符传输到第一设备。
根据一些示例,建立第一路由可以涉及使环境中的至少一个设备至少建立与第一路由相对应的第一媒体流,第一媒体流包括第一音频信号。一些这样的方法可以涉及使第一音频信号被渲染为第一经渲染的音频信号。
一些这样的方法可以涉及针对音频会话的第一阶段确定第一人的第一取向。根据一些这样的示例,使第一音频信号被渲染为第一经渲染的音频信号可以涉及确定与第一人的第一位置和第一取向相对应的第一参考空间模式,以及确定音频环境中的扩音器的与第一参考空间模式相对应的第一相对激活。
一些这样的方法可以涉及针对第一音频会话的第二阶段确定第一人的第二位置和/或第二取向。一些这样的方法可以涉及确定与第二位置和/或第二取向相对应的第二参考空间模式,以及确定音频环境中的扩音器的与第二参考空间模式相对应的第二相对激活。
根据一些示例,一种方法可以涉及从实施第二应用的第二设备并且由实施音频会话管理器的设备接收用于发起针对第二音频会话的第二路由的第二路由发起请求。第二路由发起请求可以指示第二音频源和第二音频环境目的地。第二音频环境目的地可以与音频环境中的至少第二人相对应。在一些示例中,第二音频环境目的地不指示音频设备。
一些这样的方法可以涉及由实施音频会话管理器的设备建立与第二路由发起请求相对应的第二路由。在一些实施方式中,建立第二路由可以涉及确定音频环境中至少第二人的第一位置、针对第二音频会话的第一阶段确定至少一个音频设备以及发起第二音频会话。在一些示例中,建立第二路由可以涉及至少建立与第二路由相对应的第二媒体流,第二媒体流包括第二音频信号。一些这样的方法可以涉及使第二音频信号被渲染为第二经渲染的音频信号。
一些这样的方法可以涉及至少部分地基于第二音频信号、第二经渲染的音频信号或其特性中的至少一项来修正针对第一音频信号的渲染过程,以产生经修正的第一经渲染的音频信号。根据一些示例,修正针对第一音频信号的渲染过程可以涉及将第一音频信号的渲染扭曲远离第二经渲染的音频信号的渲染位置。替代性地或另外地,修正针对第一音频信号的渲染过程可以涉及响应于第二音频信号或第二经渲染的音频信号中的一个或多个的响度而修正第一经渲染的音频信号中的一个或多个的响度。
在一些示例中,第一路由发起请求可以至少将音频环境的第一区域指示为第一路由源或第一路由目的地。在一些实施方式中,第一路由发起请求可以至少将第一服务(例如,在线内容提供服务,如提供音乐的服务或提供播客的服务)指示为第一音频源。
在一些实施方式中,装置(或系统)可以包括接口系统和控制系统。控制系统可以包括一个或多个通用单芯片或多芯片处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑设备、离散门或晶体管逻辑、离散硬件部件或其组合。
在一些实施方式中,控制系统可以被配置用于实施本文所公开的方法中的一种或多种。一些这样的方法可以涉及针对音频环境的音频系统的音频会话管理。根据一些这样的示例,控制系统可以被配置用于实施本文中可以被称为音频会话管理器的设备。
一些这样的方法涉及在音频会话管理器(例如,实施音频会话管理器的设备)与音频系统的至少第一智能音频设备之间建立第一智能音频设备通信链路。在一些示例中,第一智能音频设备是或包括单用途音频设备或多用途音频设备。在一些这样的示例中,第一智能音频设备包括一个或多个扩音器。一些这样的方法涉及在音频会话管理器与执行第一应用的第一应用设备之间建立第一应用通信链路。
一些这样的方法涉及由音频会话管理器确定第一智能音频设备的第一媒体引擎的一个或多个第一媒体引擎能力。在一些示例中,第一媒体引擎被配置用于管理由第一智能音频设备接收的一个或多个音频媒体流,以及用于根据第一媒体引擎采样时钟针对一个或多个音频媒体流执行第一智能音频设备信号处理。
在一些这样的示例中,方法涉及由音频会话管理器并且经由第一应用通信链路接收来自第一应用的第一应用控制信号。一些这样的方法涉及根据第一媒体引擎能力控制第一智能音频设备。根据一些实施方式,控制由音频会话管理器通过经由第一智能音频设备通信链路传输到第一智能音频设备的第一音频会话管理控制信号来完成。在一些这样的示例中,音频会话管理器在不参考第一媒体引擎采样时钟的情况下将第一音频会话管理控制信号传输到第一智能音频设备。
在一些实施方式中,第一应用通信链路可以响应于来自第一应用设备的第一路由发起请求而建立。根据一些示例,第一应用控制信号可以在不参考第一媒体引擎采样时钟的情况下从第一应用传输。在一些示例中,第一音频会话管理控制信号可以使第一智能音频设备将对第一媒体引擎的控制委派给音频会话管理器。
根据一些示例,除了音频会话管理器或第一智能音频设备之外的设备可以被配置用于执行第一应用。然而,在一些实例中,第一智能音频设备可以被配置用于执行第一应用。
在一些示例中,第一智能音频设备可以包括特定用途音频会话管理器。根据一些这样的示例,音频会话管理器可以经由第一智能音频设备通信链路与特定用途音频会话管理器进行通信。根据一些这样的示例,音频会话管理器可以从特定用途音频会话管理器获得一个或多个第一媒体引擎能力。
根据一些实施方式,音频会话管理器可以充当控制第一媒体引擎的所有应用的网关,无论应用是在第一智能音频设备上还是在另一个设备上运行。
一些这样的方法还可以涉及至少建立与第一音频源相对应的第一音频流。第一音频流可以包括第一音频信号。在一些这样的示例中,至少建立第一音频流可以涉及经由第一音频会话管理控制信号来使第一智能音频设备至少建立第一音频流,第一音频会话管理控制信号是经由第一智能音频设备通信链路被传输到第一智能音频设备的。
在一些示例中,这样的方法还可以涉及使第一音频信号被渲染为第一经渲染的音频信号的渲染过程。在一些示例中,渲染过程可以由第一智能音频设备响应于第一音频会话管理控制信号而执行。
一些这样的方法还可以涉及经由第一音频会话管理控制信号来使第一智能音频设备在音频环境的一个或多个其他智能音频设备中的每一个其他智能音频设备与第一智能音频设备之间建立智能音频设备间通信链路。一些这样的方法还可以涉及使第一智能音频设备经由智能音频设备间通信链路或多个智能音频设备间通信链路将原始麦克风信号、经处理的麦克风信号、经渲染的音频信号和/或未渲染的音频信号传输到一个或多个其他智能音频设备。
在一些示例中,这样的方法还可以涉及在家庭音频系统的至少一第二智能音频设备与音频会话管理器之间建立第二智能音频设备通信链路。第二智能音频设备可以是或可以包括单用途音频设备或多用途音频设备。第二智能音频设备可以包括一个或多个麦克风。一些这样的方法还可以涉及由音频会话管理器确定第二智能音频设备的第二媒体引擎的一个或多个第二媒体引擎能力。第二媒体引擎可以被配置用于从一个或多个麦克风接收麦克风数据以及用于对麦克风数据执行第二智能音频设备信号处理。一些这样的方法还可以涉及由音频会话管理器根据第二媒体引擎能力经由第二音频会话管理器控制信号来控制第二智能音频设备,第二音频会话管理器控制信号是经由第二智能音频设备通信链路被传输到第二智能音频设备的。
根据一些这样的示例,控制第二智能音频设备还可以涉及使第二智能音频设备在第二智能音频设备与第一智能音频设备之间建立智能音频设备间通信链路。在一些示例中,控制第二智能音频设备可以涉及使第二智能音频设备经由智能音频设备间通信链路将经处理的和/或未处理的麦克风数据从第二媒体引擎传输到第一媒体引擎。
在一些示例中,控制第二智能音频设备可以涉及由音频会话管理器并且经由第一应用通信链路接收来自第一应用的第一应用控制信号,以及根据第一应用控制信号来确定第二音频会话管理器控制信号。
替代性地或另外地,控制系统可以被配置用于实施一种或多种其他音频会话管理方法。一些这样的音频会话管理方法涉及从实施第一应用的第一设备并且由实施音频会话管理器的设备接收用于发起针对第一音频会话的第一路由的第一路由发起请求。在一些示例中,第一路由发起请求指示第一音频源和第一音频环境目的地,并且第一音频环境目的地与音频环境中的至少第一人相对应,但第一音频环境目的地不指示音频设备。
一些这样的方法涉及由实施音频会话管理器的设备建立与第一路由发起请求相对应的第一路由。根据一些示例,建立第一路由涉及确定音频环境中至少第一人的第一位置、针对第一音频会话的第一阶段确定至少一个音频设备以及发起或调度第一音频会话。
根据一些示例,第一路由发起请求可以包括第一音频会话优先级。在一些实例中,第一路由发起请求可以包括第一连接模式。例如,第一连接模式可以是同步连接模式、事务连接模式或调度连接模式。
在一些实施方式中,第一路由发起请求可以包括是否需要来自至少第一人的确认的指示。在一些实例中,第一路由发起请求可以包括第一音频会话目标。例如,第一音频会话目标可以包括可懂度、音频质量、空间保真度、可听度、不可听度和/或隐私性。
一些这样的方法可以涉及确定第一路由的第一持续性唯一音频会话标识符。这样的方法可以涉及将第一持续性唯一音频会话标识符传输到第一设备。
根据一些示例,建立第一路由可以涉及使环境中的至少一个设备至少建立与第一路由相对应的第一媒体流,第一媒体流包括第一音频信号。一些这样的方法可以涉及使第一音频信号被渲染为第一经渲染的音频信号。
一些这样的方法可以涉及针对音频会话的第一阶段确定第一人的第一取向。根据一些这样的示例,使第一音频信号被渲染为第一经渲染的音频信号可以涉及确定与第一人的第一位置和第一取向相对应的第一参考空间模式,以及确定音频环境中的扩音器的与第一参考空间模式相对应的第一相对激活。
一些这样的方法可以涉及针对第一音频会话的第二阶段确定第一人的第二位置和/或第二取向。一些这样的方法可以涉及确定与第二位置和/或第二取向相对应的第二参考空间模式,以及确定音频环境中的扩音器的与第二参考空间模式相对应的第二相对激活。
根据一些示例,一种方法可以涉及从实施第二应用的第二设备并且由实施音频会话管理器的设备接收用于发起针对第二音频会话的第二路由的第二路由发起请求。第二路由发起请求可以指示第二音频源和第二音频环境目的地。第二音频环境目的地可以与音频环境中的至少第二人相对应。在一些示例中,第二音频环境目的地不指示音频设备。
一些这样的方法可以涉及由实施音频会话管理器的设备建立与第二路由发起请求相对应的第二路由。在一些实施方式中,建立第二路由可以涉及确定音频环境中至少第二人的第一位置、针对第二音频会话的第一阶段确定至少一个音频设备以及发起第二音频会话。在一些示例中,建立第二路由可以涉及至少建立与第二路由相对应的第二媒体流,第二媒体流包括第二音频信号。一些这样的方法可以涉及使第二音频信号被渲染为第二经渲染的音频信号。
一些这样的方法可以涉及至少部分地基于第二音频信号、第二经渲染的音频信号或其特性中的至少一项来修正针对第一音频信号的渲染过程,以产生经修正的第一经渲染的音频信号。根据一些示例,修正针对第一音频信号的渲染过程可以涉及将第一音频信号的渲染扭曲远离第二经渲染的音频信号的渲染位置。替代性地或另外地,修正针对第一音频信号的渲染过程可以涉及响应于第二音频信号或第二经渲染的音频信号中的一个或多个的响度而修正第一经渲染的音频信号中的一个或多个的响度。
在一些示例中,第一路由发起请求可以至少将音频环境的第一区域指示为第一路由源或第一路由目的地。在一些实施方式中,第一路由发起请求可以至少将第一服务(例如,在线内容提供服务,如提供音乐的服务或提供播客的服务)指示为第一音频源。
在以下附图和说明中阐述了本说明书所描述的主题的一个或多个实施方式的细节。从描述、附图和权利要求中,其他特征、方面和优点将变得显而易见。注意,以下附图的相对尺寸可能不是按比例来绘制的。
附图说明
图1A示出了音频环境中的人和智能音频设备的示例。
图1B是图1A的场景的修改版本的图。
图1C是根据本公开的实施例。
图2A是传统系统的框图。
图2B示出了图2A中示出的设备的修改版本的示例。
图2C是一个公开的实施方式的示例的框图。
图2D示出了多个应用与连续分层音频会话管理器(Continuous HierarchicalAudio Session Manager,CHASM)交互的示例。
图3A是示出根据一个示例的图1A的设备101的细节的框图。
图3B示出了根据一个示例的图1B的实施方式的细节。
图3C是示出CHASM对音频环境的两个音频设备进行编排的示例的框图。
图4是图示另一个公开的实施例的框图。
图5是包括根据一些实施方式的音频会话管理方法的框的流程图。
图6是示出能够实施本公开的各个方面的装置的部件的示例的框图。
图7是描绘根据一个示例的CHASM的框的框图。
图8示出了根据一个示例的图7中示出的路由表的细节。
图9A表示采用编排语言的路由发起请求的上下文无关语法的示例。
图9B提供了音频会话目标的示例。
图10示出了用于根据一个示例的修改路由的请求的流程。
图11A和图11B示出了用于修改路由的请求的流程的附加示例。
图11C示出了用于删除路由的流程的示例。
图12是包括根据一些实施方式的音频会话管理方法的框的流程图。
图13是包括根据一些实施方式的音频会话管理方法的框的流程图。
图14是包括根据一些实施方式的音频会话管理方法的框的流程图。
图15是包括根据一些实施方式的针对新引入到音频环境的一个或多个音频设备的自动设置过程的框的流程图。
图16是包括根据一些实施方式的安装虚拟助理应用的过程的框的流程图。
图17是包括根据一些实施方式的音频会话管理方法的框的流程图。
图18A是实施例的最小版本的框图。
图18B描绘了具有附加特征的另一个(更有能力的)实施例。
图19是概述了可以由如图6、图18A或图18B中示出的装置或系统等装置或系统执行的方法的一个示例的流程图。
图20和图21示出了连接的生活空间的平面图示例。
图22和图23示出了提供空间音乐混音和语音助理响应的同时回放的多流渲染器的示例。
图24描绘了示例起点,其中,空间音乐混音跨客厅和厨房中的所有扬声器为聚会上的许多人以最佳方式播放。
图25示出了婴儿试图在卧室中睡觉的示例。
图26描绘了附加音频流的再现的示例。
图27示出了图18A中示出的多流渲染器的频域/变换域示例。
图28示出了图18B中示出的多流渲染器的频域/变换域示例。
图29描绘了收听环境的平面图,收听环境在该示例中为生活空间。
图30、图31、图32和图33示出了针对图29中示出的生活空间中的多个不同收听位置和取向以参考空间模式灵活渲染空间音频的示例。
图34示出了当两个收听者在收听环境的不同位置时参考空间模式渲染的示例。
图35示出了用于接收与收听者的位置和取向有关的用户输入的GUI的示例。
图36示出了环境中三个音频设备之间的几何关系的示例。
图37示出了图36中示出的环境中三个音频设备之间的几何关系的另一个示例。
图38示出了图36和图37中描绘的这两个三角形,没有对应的音频设备和环境的其他特征。
图39示出了估计由三个音频设备形成的三角形的内角的示例。
图40是概述了可以由如图6中示出的装置等装置执行的方法的一个示例的流程图。
图41示出了其中环境中的每个音频设备都是多个三角形的顶点的示例。
图42提供了前向对齐过程的一部分的示例。
图43示出了已经在前向对齐过程期间发生的多个音频设备位置估计的示例。
图44提供了反向对齐过程的一部分的示例。
图45示出了已经在反向对齐过程期间发生的多个音频设备位置估计的示例。
图46示出了估计音频设备位置和实际音频设备位置的比较。
图47是概述了可以由如图6中示出的装置等装置执行的方法的另一个示例的流程图。
图48A示出了图47的一些框的示例。
图48B示出了确定收听者角取向数据的附加示例。
图48C示出了确定收听者角取向数据的附加示例。
图48D示出了根据参考图48C描述的方法来确定音频设备坐标的适当旋转的示例。
图49是示出能够实施本公开的各个方面的系统的部件的示例的框图。
图50A、图50B和图50C示出了回放限制阈值和对应的频率的示例。
图51A和图51B是示出动态范围压缩数据的示例的图。
图52示出了收听环境的空间区的示例。
图53示出了图52的空间区内的扩音器的示例。
图54示出了覆盖在图53的空间区和扬声器上的标称空间位置的示例。
图55是概述了可以由如本文中公开的那些装置或系统等装置或系统执行的方法的一个示例的流程图。
图56A和图56B示出了可以根据一些实施例实施的系统的示例。
图57是根据实施例的在环境(例如,家庭)中实施的系统的框图。
图58是图57的模块5701的示例实施例的元素的框图。
图59是图57的模块5701的另一个示例实施例(在图59中标记为5900)和其操作的框图。
图60是另一个示例实施例的框图。
具体实施方式
公开了许多实施例。对于本领域普通技术人员而言,从本公开中将显而易见是如何实施所述实施例。
目前,设计人员将音频设备视为音频的单一接口点,音频可以是娱乐、通信和信息服务的混合体。使用音频进行通知和语音控制具有避免视觉或物理干扰的优势。不断扩大的设备格局是碎片化的,有更多的系统在争夺我们的一对耳朵。随着可穿戴增强音频开始变得可用,事情似乎并没有朝着实现理想的普适性音频个人助理的方向发展,并且不可能使用我们周围的大量设备进行无缝捕获、连接和通信。
开发用于桥接设备并且更好地管理位置、上下文、内容、时序和用户偏好的服务将是有用的。一组标准、基础设施和API一起可以使得能够更好地访问对用户周围的一个音频空间的统一访问。设想了一种音频设备操作系统,用于管理基本的音频输入输出并且允许我们的音频设备连接到特定应用。这种思维和设计创建了交互式音频传输的支架,例如,以提供允许快速有机的改进开发并且为其他人提供独立于设备的音频连接的服务。
音频交互的范围包括实时通信、异步聊天、警报、转录、历史记录、存档、音乐、推荐、提醒、推广和上下文感知帮助。本文中公开了促进统一方法并且可以实施智能媒体格式的平台。平台可以包括或实施无处不在的可穿戴音频,和/或可以实施用户定位、选择单一或多个(例如,集体性)音频设备以进行最佳使用、管理身份、隐私性、时间性、地理位置和/或用于传输、存储、检索和算法执行的基础设施。本公开的一些方面可以包括身份、优先级(等级)和尊重用户的偏好,例如,管理对于听到的期望和被听到的价值。不想要的音频的成本很高。设想了‘音频因特网’可以提供或实施安全和信任的完整元素。
虽然单用途音频设备和多用途音频设备的类别不是严格正交的,但音频设备(例如,智能音频设备)的(多个)扬声器和(多个)麦克风可以分配给由智能音频设备支持或附接到智能音频设备(或由智能音频设备实施)的功能。然而,通常不会将单独考虑的(与音频设备不同的)音频设备的(多个)扬声器和/或(多个)麦克风添加到集体。
本文描述了一类音频设备连接,其中本地音频设备(每个本地音频设备都可以包括扬声器和麦克风)被广告并提供给集体性音频平台,集体性音频平台在抽象意义上独立于本地音频设备中的任何一个而存在。还描述了包括至少一个可发现的机会性编排分布式音频设备子系统(Discoverable Opportunistic Orchestrated Distributed AudioDevice Subsystem,DOODAD)的实施例,DOODAD实施设计方法和步骤集合,以旨在实现集体性音频设备编排和利用的这个想法。
将参考图1A描述简单的示例以展示本公开的一些实施例的应用和结果。
图1A示出了音频环境中的人和智能音频设备的示例。在该示例中,音频环境100是家庭音频环境。
在图1A的场景中,人(102)具有智能音频设备(101),智能音频设备能够用其麦克风捕获用户的语音(103)并且能够进行扬声器回放(104)。用户可以在距设备101相当远的地方讲话,这限制了设备101的双工能力。
在图1A中,标记的元素为:
·100。描绘使用智能音频设备的示例场景的音频环境。坐在椅子上的人102正在与设备101交互。
·101。能够通过(多个)扬声器进行音频回放以及从(多个)麦克风捕获音频的智能音频设备。
·102。使用设备101参与音频体验的人(也被称为用户或收听者)。
·103。人102对设备101讲话时发出的声音。
·104。来自设备101的(多个)扬声器的音频回放。
因此,在该示例中,图1A是在家的人(102)和智能音频设备(101)的图,在这种情况下,智能音频设备是用于通信的电话设备。设备101能够输出人102听到的音频,并且还能够捕获来自人102的声音(103)。然而,设备101与人102有一定距离,因此设备101上的麦克风面临穿过由设备101输出的音频听到人102的挑战——被称为回声问题的挑战。解决该问题的既定技术通常采用回声消除,即受到全双工活动(双向说话或同时在两个方向上的音频)的严重限制的处理形式。
图1B是图1A的场景的修改版本的图。在该示例中,第二智能音频设备(105)也在音频环境100中。智能音频设备105处于人102附近,但被设计用于输出音频的功能。在一些示例中,智能音频设备105可以至少部分地实施虚拟助理。
(图1A的)人102现在已经获得了第二智能音频设备105,但设备105(图1B所示)仅能够执行与第一设备(101)的目的完全分开的特定目的(106)。在该示例中,两个智能音频设备(101和105)尽管与用户在同一声学空间中,但无法共享信息和编排体验。
在图1B中,标记的元素为:
·100-104。参见图1A。
·105。能够通过(多个)扬声器进行音频回放以及从(多个)麦克风捕获音频的附加智能音频设备。
·106。通过设备105的(多个)扬声器的音频回放。
虽然将音频呼叫从电话(101)配对或转移到该智能音频设备(105)是可能的,但在没有用户干预和详细配置的情况下,这在以前是不可能的。因此,图1B中描绘的场景具有两个独立的音频设备,每个音频设备执行非常特定的应用。在该示例中,智能音频设备105比设备100购买得更晚。智能音频设备(105)是针对其(多个)特定目的而购买的,并且仅针对特定目的是开箱即用的,并且智能音频设备不会立即向已经存在于音频环境100中并且用作通信设备的设备(101)增加价值。
图1C是根据本公开的实施例。在该示例中,智能音频设备105比智能音频设备100购买得更晚。
在图1C的实施例中,智能音频设备101和105能够进行编排。在该编排示例中,当智能音频设备101从其(多个)扬声器播放声音104时,智能音频设备(105)被更好地定位以拾取人102的语音(103B)以用于涉及智能音频设备(101)的电话呼叫。
在图1C中,标记的元素为:
·100-104。参见图1A。
·105。参见图1B。
·103B。人102发出的声音更好地被智能音频设备(105)捕获,因为智能音频设备(105)的(多个)麦克风更接近用户。
在图1C中,以某种方式检测到新智能音频设备105(其示例在本文中描述),使得设备105中的麦克风可以用于支持在智能音频设备(101)上运行的应用。图1C的新智能音频设备105在某种意义上与图1C的设备101协调或编排(根据本公开的一些方面),其方式使得智能音频设备105与人102的接近度被检测到并且机会地被理解为针对图1C中描绘的情况的优越的麦克风。在图1C中,音频104来自相对较远的扬声器电话101;然而,要传输到电话101的音频103B由本地智能音频设备105捕获。在一些实施例中,在电话101和/或用于提供电话呼叫的应用不了解智能音频设备105的路由的复杂性和能力的情况下,对不同智能音频设备的部件的该机会性使用是可能的。相反,在一些这样的示例中,可以实施分层系统用于发现、路由和利用这样的能力。
稍后,更详细地描述抽象的连续分层音频会话管理器(CHASM)的概念,CHASM的一些实施方式能够为应用提供音频能力,而应用无需了解管理设备、设备连接、同时设备使用和/或设备调平和调谐的所有细节。在某种意义上,该方法认为通常运行应用(并且具有至少一个扬声器和至少一个麦克风)的设备正在放弃对音频体验的控制。然而,在房间中的扬声器和重要地麦克风的数量远远超过人的数量的情况下,看到许多音频问题的解决方案可以包括定位距相关人最近的设备的步骤——设备可以不是通常用于这种应用的设备。
考虑音频换能器(扬声器和麦克风)的一种方式是音频换能器可以在从人的嘴到应用的音频的路径中实施一个步骤,并且在从应用到人的耳朵的路径中实施返回步骤。从这个意义上说,可以看到需要从用户传递或捕获音频的任何应用都可以通过利用设备的机会性优势并且与任何设备上的音频子系统接口连接以输出或获得输入音频来改进(或至少不会变得更糟)。在一些示例中,当设备和用户移动或变得可用或从系统中移除时,可以以连续的方式做出这样的决定和路由。在这方面,本文所公开的连续分层音频会话管理器(CHASM)是有用的。在一些实施方式中,可发现的机会性编排分布式音频设备子系统(DOODAD)可以作为集体包括在CHASM中,或者DOODAD可以作为集体与CHASM一起使用。
一些公开的实施例实施了被设计用于在人与地点之间路由信号的集体性音频系统的概念。这背离通常涉及从设备输入和输出音频并且然后集体地管理设备的传统的“以设备为中心”的设计。
参考图2A至图2D,接下来描述本公开的一些示例实施例。从具有通信功能的设备开始。在这种情况下,例如,考虑门铃音频对讲设备,其在被激活时会开始本地应用,应用会创建从本地设备到某个远程用户的全双工音频链路。在该模式下,设备的基本功能是管理扬声器、麦克风并且通过双向网络流(本文中可以被称为“链路”)中继扬声器信号和麦克风信号。
图2A是传统系统的框图。在该示例中,智能音频设备200A的操作涉及应用(205A)向和从媒体引擎(201)发送媒体(212)和控制信息(213)。媒体引擎201和应用205A两者可以由智能音频设备200A的控制系统来实施。根据该示例,媒体引擎201负责管理音频输入(203)和输出(204)并且可以被配置用于信号处理和其他实时音频任务。应用205A还可以具有其他网络输入和输出连接(210)。
在图2A中,标记的元素为:
·200A。特定用途智能音频设备。
·201。媒体引擎负责管理来自应用205A的实时音频媒体流以及针对(多个)麦克风输入和(多个)扬声器输出的信号处理。信号处理的示例可以包括:声学回声消除、自动增益控制、唤醒词检测、限制器、噪声抑制、动态波束成形、言语识别、编码/解码成有损格式、语音活动检测和其他分类器等。在该上下文中,例如,短语“实时”可以指对于在从设备200A实施的模数转换器(ADC)对音频块进行采样所花费的时间内完成对音频块的处理的要求。例如,在特定实施方式中,音频块的长度可以为10ms-20ms,并且可以包含以每秒48000个样本采样的480-960个连续样本。
·203。(多个)麦克风输入。来自通过多个ADC接口连接到媒体引擎(201)的能够感测声学信息的一个或多个麦克风的输入。
·204。(多个)扬声器输出。来自通过多个数模转换器(DAC)和/或放大器接口连接到媒体引擎(201)的能够再现声学能量的一个或多个扬声器的输入。
·205A。在设备200A上运行的处理来自和去往网络的媒体并且负责向媒体引擎201发送和从媒体引擎接收媒体流的应用(“app”)。在该示例中,app 205A还管理由媒体引擎发送和接收的控制信息。app 205A的示例包括:
ο连接到因特网并且将分组从麦克风流式传输到网络服务的网络摄像头中的控制逻辑;
ο经由触摸屏与用户接口连接从而使用户能够拨打电话号码、浏览联系人列表、改变音量、发起和终止呼叫的会议电话;以及
ο智能扬声器中使得能够回放歌曲库中的音乐的语音驱动应用。
·210。将设备200A连接到网络(例如,经由Wi-Fi或以太网或4G/5G蜂窝无线电连接到因特网)的任选网络连接。网络可以承载流媒体流量。
·212。流式传输到媒体引擎(201)或从媒体引擎流式传输的媒体。例如,特定用途电话会议设备中的app 205A可以从网络(210)接收实时传输协议(RTP)分组、移除报头并且将G.711有效载荷转发到媒体引擎201以进行处理和回放。在一些这样的示例中,app 205A可以负责从媒体引擎201接收G.711流并且将RTP分组打包用于通过网络(210)进行上游传递。
·213。用于控制媒体引擎(201)的发送到app 205A或从app发送的控制信号。例如,当用户按用户界面上的音量增大按钮时,app 205A向媒体引擎201发送控制信息以放大回放信号(204)。在特定用途设备200A中,对媒体引擎(201)的控制仅来自不具备从外部控制媒体引擎的能力的本地app(205A)。
图2B示出了图2A中示出的设备的修改版本的示例。音频设备200B能够执行第二应用。例如,第二应用可以是从门铃设备连续流式传输音频以用于安全系统的应用。在这种情况下,可以使用相同的音频子系统(参考图2A描述)以及控制仅单一方向的网络流的第二应用。
在该示例中,图2B是特定用途智能音频设备(200B)的框图,特定用途智能音频设备能够托管经由特定用途音频会话管理器(Specific Purpose Audio Session Manager,SPASM)将信息发送到(设备200B的)媒体引擎202的两个应用或“app”(app 205B和app206)。使用SPASM作为app 205B和206的接口,网络媒体现在能够直接流向媒体引擎202,其中,媒体210是去往和来自第一app(206)的媒体并且媒体211是第二app(205B)的媒体。
本文中使用术语SPASM(或特定用途音频会话管理器)来表示(设备的)被配置成实施针对设备被制造用于提供的单一类型的功能的音频链的元件或子系统。SPASM可能需要重新配置(例如,包括拆卸整个音频系统)来实施设备操作模式的变化。例如,大多数膝上型计算机中的音频是作为或使用SPASM实施的,其中,SPASM被配置(并且可重新配置)成实施针对特定功能的任何期望的单用途音频链。
在图2B中,标记的元素为:
·200B。具有托管两个app(app 205B和app 206)的特定用途音频会话管理器(SPASM)207B的智能音频设备。
·202-204。参见图2A。
·205B、206。在本地设备200B上运行的app。
·207B。负责管理音频处理和展示设备200B的媒体引擎(202)的能力的特定用途音频会话管理器。每个app(206或205B)与SPASM 207B之间的描述指示不同的app可能希望如何使用不同的音频功能(例如,app可能需要不同的采样率或(多个)不同数量的输入和输出),SPASM针对不同app暴露和管理所有音频功能。SPASM的限制是其是为特定目的而设计的并且仅能够执行其了解的操作。
·210。针对第一app(205B)流式传输到网络或从网络流式传输的媒体信息。SPASM(207B)允许媒体流直接流式传输到媒体引擎(202)。
·211。针对第二app(206)流式传输到网络的媒体信息。在该示例中,app 206没有任何媒体流要接收。
·214。在SPASM(207B)与媒体引擎(202)之间发送以管理媒体引擎的功能的控制信息。
·215、216。在app(205B、206)与SPASM(207B)之间发送的控制信息。
将SPASM 207B作为图2B的设备200B的单独子系统包括在内可能似乎实施了设计中的人工步骤。实际上,从单用途音频设备设计的角度来看,它确实涉及不必要的工作。CHASM的大部分价值(将在下文描述)是作为网络效应启用的,价值(在某种意义上)与网络中节点数量的平方成比例。然而,在智能音频设备中包括SPASM(例如,图2B的SPASM 207B)确实具有优点和价值,包括以下各项:
-SPASM 207B对控制的抽象更容易允许多个应用在同一设备上运行;
-SPASM 207B紧密耦接到音频设备,并且通过将网络流连接直接带到SPASM207B,减少了网络上的音频数据与物理输入和输出声音之间的时延。例如,SPASM 207B可以存在于智能音频设备200B中的较低层(如较低的OSI或TCP/IP层),更接近设备驱动程序/数据链路层或在物理硬件层的下方。如果SPASM 207B在较高层实施,例如,实施为在设备操作系统内运行的应用,则这种实施方式可能会导致时延惩罚,因为音频数据需要通过操作系统从低级层复制备份到应用层。这种实施方式的潜在更糟糕的特征是时延可能是可变的或不可预测的;
-该设计现在已准备好在应用层之前以较低的音频层级实现更大的互连性。
在一些示例中,在其操作系统运行SPASM的智能音频设备中,许多app可以获得对智能音频设备的(多个)扬声器和(多个)麦克风的共享访问。根据一些示例,通过引入不需要发送或接收(多个)音频流的SPASM,媒体引擎可以针对非常低的时延进行优化,因为媒体引擎与控制逻辑分离。具有SPASM的设备可以允许应用建立附加媒体流(例如,图2B的媒体流210和211)。该好处来自于将媒体引擎功能与SPASM的控制逻辑分离。该配置与图1A和图2A中示出的情况形成对比,在配置中媒体引擎是特定于应用且独立的。在这些示例中,设备没有被设计成具有去往/来自附加设备的通过包括SPASM启用的附加低时延连接,例如,如图2B中示出的。在一些这样的示例中,如果如图1A和图2A中示出的那些设备等设备被设计成独立的,则简单地例如更新应用205A以提供编排可能不可行。然而,在一些示例中,设备200B被设计成是编排就绪的。
参考图2C,接下来描述(智能音频设备的)SPASM本身广告和允许控制的一些公开的实施例的一个方面。这可以允许网络中的其他设备和/或系统能够利用协议来更好地理解设备的音频能力,并且从安全和使用能力的角度来看,在适用的情况下,可以允许将音频流直接连接到该设备以从(多个)扬声器播放出或源自(多个)麦克风。在这种情况下,看到用于设置从设备连续地流式传输音频的能力的第二应用不需要在本地运行应用来控制媒体引擎(例如,202)流出,例如,上文提到的监控流(例如,211)。
图2C是一个公开的实施方式的示例的框图。在该示例中,两个或更多个app中的至少一个app(例如,图2C的app 205B)由除了智能音频设备200C之外的设备实施,例如,例如,由实施基于云的服务的一个或多个服务器、由智能音频设备200C驻留的音频环境中的另一个设备等实施。因此,需要另一个控制器(在该示例中,图2C的CHASM 208C)来管理音频体验。在该实施方式中,CHASM 208C是在(多个)远程app与具有音频功能的智能音频设备(200C)之间桥接间隙的控制器。在各种实施例中,CHASM(例如,图2C的CHASM 208C)可以实施为设备或实施为设备的子系统(例如,在设备的软件中实施),其中,是或包括CHASM的设备不同于一个或多个(例如,许多)智能音频设备。然而,在一些实施方式中,CHASM可以经由可能由音频环境的一个或多个设备执行的软件来实施。在一些这样的实施方式中,CHASM可以经由可能由音频环境的一个或多个一个或多个智能音频设备执行的软件来实施。在图2C中,CHASM 208C与设备200C的SPASM(即,图2C的SPASM 207C)协调以获得对控制设备200C的音频输入(203)和输出(204)的媒体引擎(202)的访问。
本文中使用术语“CHASM”来表示管理器(例如,是音频会话管理器或实施音频会话管理器例如正在进行的音频会话管理器的设备),许多设备(例如,设备集合)(其可以包括但不限于智能音频设备)可以使其自身可用于管理器。根据一些实施方式,CHASM可以连续(至少在实施本文中所谓的“路由”的时间期间)调整至少一个软件应用的路由和信号处理。应用可以在或可以不在音频环境的任何设备上实施,取决于特定实施方式。换句话说,CHASM可以实施或被配置为用于由音频环境内的一个或多个设备执行的一个或多个软件应用和/或由音频环境外的一个或多个设备执行的一个或多个软件应用的音频会话管理器(在本文中也被称为“会话管理器”)。软件应用在本文中有时可以被称为“app”。
在一些示例中,作为使用CHASM的结果,音频设备可以最终被用于该音频设备的创建者和/或制造商未设想的用途。例如,智能音频设备(包括至少一个扬声器和麦克风)可以进入智能音频设备在其中向音频环境内的一个或多个其他音频设备提供扬声器馈送信号和/或麦克风信号的模式,因为app(例如,在与智能音频设备不同的另一个设备上实施)要求(与智能音频设备耦接的)CHASM查找和使用可以包括来自音频环境的超过一个音频设备的扬声器和/或麦克风的所有可用的扬声器和/或麦克风(或由CHASM选择的一组可用扬声器和/或麦克风)。在许多这样的实施方式中,应用不需要选择设备、扬声器和/或麦克风,因为CHASM将提供该功能。在一些示例中,应用可能不知道(例如,CHASM可能不向应用指示)哪些特定音频设备涉及实施由应用提供给CHASM的命令。
在图2C中,标记的元素为:
·200C。特定用途智能音频设备,其是通过CHASM(208C)运行本地app(206)和远程app(205B)的会话管理器。
·202-204。参见图2A。
·205B。从设备200C,例如在CHASM 208C被配置用于经由因特网与其通信的服务器上或在音频环境的另一个设备上(与设备200C不同的设备,例如,另一个智能音频设备,如蜂窝电话)远程运行的app。在一些示例中,app 205B可以在第一设备上实施,并且CHASM208C可以在第二设备上实施,其中,第一设备和第二设备都与设备200C不同。
·206。在设备200C上本地运行的app。
·207C。SPASM,其除了与媒体引擎(202)接口连接之外,还能够管理来自CHASM208C的控制输入。
·208C。连续分层音频会话管理器(CHASM),其使得app(205B)能够利用设备200C的媒体引擎(202)、输入(203)和输出(204)的音频能力。在该示例中,CHASM 208C被配置成经由SPASM(207C)通过从SPASM 207C获得对媒体引擎(202)的至少部分控制来这样做。
·210-211。参见图2C。
·217。在SPASM(207B)与媒体引擎(202)之间发送以管理媒体引擎的功能的控制信息。
·218。来往于本地app 206和用于实施本地app 206的SPASM(207C)之间的控制信息。在一些实施方式中,这样的控制信息可以根据编排语言,如本文中所公开的编排语言。
·219。来往于CHASM(208C)和SPASM(207C)之间的用于控制媒体引擎202的功能的控制信息。在一些实例中,这样的控制信息可以与控制信息217相同或类似。然而,在一些实施方式中,控制信息219可以具有较低水平的细节,因为在一些示例中,设备特定的细节可以委派给SPASM 207C。
·220。app(205B)与CHASM(208C)之间的控制信息。在一些示例中,该控制信息可以在本文中所谓的“编排语言”中。
例如,控制信息217可以包括从SPASM 207C到媒体引擎202的控制信号,控制信号具有调整(多个)输出扩音器馈送的输出水平(例如,以分贝或线性标量值指定的增益调整)、改变应用于(多个)输出扩音器馈送的均衡曲线等效果。在一些示例中,从SPASM207C到媒体引擎202的控制信息217可以包括具有例如通过提供以参数方式描述或列表为特定频率下的增益值的列举的新均衡曲线(作为基本滤波器级的一系列组合)的方式改变应用于(多个)输出扩音器馈送的(多个)均衡曲线的效果的控制信号。在一些示例中,从SPASM207C到媒体引擎202的控制信息217可以包括具有例如通过提供用于将源馈送组合成扩音器馈送的混合矩阵的方式改变将多个音频源馈送渲染为(多个)输出扩音器馈送中的上混或下混过程的效果的控制信号。在一些示例中,从SPASM 207C到媒体引擎202的控制信息217可以包括具有改变应用于(多个)输出扩音器馈送的动态处理(例如,改变音频内容的动态范围)的效果的控制信号。
在一些示例中,从SPASM 207C到媒体引擎202的控制信息217可以指示对提供给媒体引擎的媒体流集合的改变。在一些示例中,从SPASM 207C到媒体引擎202的控制信息217可以指示需要与其他媒体引擎或其他媒体内容源(例如,基于云的流服务)建立或结束媒体流。
在一些实例中,控制信息217可以包括从媒体引擎202到SPASM 207C的控制信号,如唤醒词检测信息。在一些实例中,这种唤醒词检测信息可以包括唤醒词置信度值或用于指示已检测到可能的唤醒词的消息。在一些示例中,唤醒词置信度值可以每个时间间隔传输一次(例如,每100ms一次、每150ms一次、每200ms一次等)。
在一些实例中,来自媒体引擎202的控制信息217可以包括允许SPASM、CHASM或另一个设备(例如,基于云的服务的设备)执行解码(例如,维特比解码)以确定正在发出什么命令的言语识别电话概率。在一些实例中,来自媒体引擎202的控制信息217可以包括来自声压级(SPL)仪的SPL信息。根据一些这样的示例,SPL信息可以按时间间隔发送,例如,每秒一次、每半秒一次、每N秒或毫秒一次等。在一些这样的示例中,CHASM可以被配置成确定跨多个设备的SPL仪读数是否存在相关性,例如,以确定设备是否在同一个房间中和/或检测相同的声音。
根据一些示例,来自媒体引擎202的控制信息217可以包括从呈现为可用于媒体引擎的媒体流的麦克风馈送得到的信息,例如背景噪声的估计、到达方向(DOA)信息的估计、通过语音活动检测的言语存在的指示、当前回声消除性能等。在一些这样的示例中,DOA信息可以提供给上游CHASM(或另一个设备),CHASM被配置成在音频环境中执行音频设备的声学映射,并且在一些这样的示例中,创建音频环境的声学映射。在一些这样的示例中,DOA信息可以与唤醒词检测事件相关联。在一些这样的实施方式中,DOA信息可以提供给被配置成执行声学映射以定位说出唤醒词的用户的上游CHASM(或另一个设备)。
在一些示例中,来自媒体引擎202的控制信息217可以包括状态信息,例如,关于哪些活动媒体流可用的信息、线性时间媒体流(例如,电视节目、电影、流媒体视频)中的时间位置、与当前网络性能相关联的信息(如与活动媒体流相关联的时延)、可靠性信息(例如,丢包统计)等。
图2C的设备200C的设计可以根据本公开的各方面以各种方式扩展。可以观察到图2C的SPASM 207C的功能是实施一组钩子(hook)或功能来控制本地媒体引擎202。因此,可以将设备200C视为更接近(例如,比设备200A或设备200B的功能更接近)媒体引擎,媒体引擎可以连接音频设备、网络流、执行信号处理和响应来自设备200C的(多个)本地应用和来自音频会话管理器两者的配置命令。在这种情况下,重要的是设备具有关于其自身的信息(例如,存储在存储器设备中并且可用于音频会话管理器),以便协助音频会话管理器。该信息的简单示例包括扬声器数量、(多个)扬声器能力、动态处理信息、麦克风数量、关于麦克风布置和灵敏度的信息等。
图2D示出了多个应用与CHASM交互的示例。在图2D中示出的示例中,所有app,包括智能音频设备本地的app(例如,存储在智能音频设备200D的存储器中的app 206)都需要与CHASM 208D接口连接,以便提供涉及智能音频设备200D的功能。在该示例中,由于CHASM208D已经接管了接口连接,因此智能音频设备200D仅需要广告其性质207D,或使性质可用于CHASM 208D,并且不再需要SPASM。这将CHASM 208D作为主要控制器用于编排如app的音频会话等体验。
在图2D中,标记的元素为:
·200D。实施本地app 206的智能音频设备。CHASM 208B运行本地app(206)和远程app(205B)。
·202-204。参见图2A。
·205B。应用从智能音频设备200D远程运行(换句话说,在除智能音频设备之外的设备上运行)(并且在该示例中还从CHASM 208D远程运行)。在一些示例中,应用205B可以由CHASM 208D被配置用于与其通信的设备例如,经由因特网或经由本地网络来执行。在一些示例中,应用205B可以存储在音频环境的另一个设备(如另一个智能音频设备)上。根据一些实施方式,应用205B可以存储在可以被运送进或运送出音频环境的移动设备(如蜂窝电话)上。
·206。在智能音频设备200D上本地运行的app,但针对app的控制信息(223)被发送到CHASM 208D和/或从CHASM发送。
·207D。性质描述符。随着CHASM 208D承担管理媒体引擎202的职责,智能音频设备200D可以用SPASM替代简单的性质描述符。在该示例中,描述符207D向CHASM指示媒体引擎202的能力,如输入和输出数量、可能的采样率和信号处理部件。在一些示例中,描述符207D可以指示与智能音频设备200D的一个或多个扩音器相对应的数据,例如,指示一个或多个扩音器的类型、大小和数量的数据、与一个或多个扩音器的能力相对应的数据、与媒体引擎202将在音频数据由一个或多个扩音器再现之前应用到音频数据的动态处理有关的数据等。在一些示例中,描述符207D可以指示媒体引擎202(或更一般地,智能音频设备200D的控制系统)是否被配置成提供与环境中的音频设备的协调相关的功能如渲染要由智能音频设备200D和/或音频环境的其他音频设备再现的音频数据,智能音频设备200D的控制系统在当前提供CHASM 208D的功能的设备(例如,根据存储在设备的存储器中的CHASM软件)关闭或以其他方式停止运行时是否能够实施CHASM 208D的功能等。
·208D。在该示例中,CHASM 208D充当所有app(无论是本地的还是远程的)与媒体引擎202交互的网关。甚至本地app(例如,app 206)也经由CHASM 208D访问本地媒体引擎202。在一些实例中,CHASM 208D可以例如经由存储在无线路由器、智能扬声器等上的CHASM软件仅在音频环境的单个设备中实施。然而,在一些实施方式中,音频环境的多于一个设备可以被配置成实施CHASM功能的至少一些方面。在一些示例中,如果当前提供CHASM 208D功能的设备被关闭或以其他方式停止运行,则音频环境中的一个或多个其他设备的控制系统、如音频环境的一个或多个智能音频设备可以能够实施CHASM 208D的功能。
·210-211。参见图2C。
·221。在CHASM 208D与媒体引擎202之间(去往和来自)发送的控制信息。
·222。来自性质描述符207D的被发送到CHASM以指示媒体引擎202的能力的数据。
·223。在本地app 206与CHASM 208D之间发送的控制信息。
·224。在远程app 205B与CHASM 208D之间发送的控制信息。
接下来描述附加实施例。为了实施一些这样的实施例,单个设备(如通信设备)最初针对特定用途而设计和编码。这种设备的示例是图1C的智能音频设备101,智能音频设备可以如图3C中示出的来实施。作为背景,还描述了图1A和图1B的设备101的实施方式。
图3A是示出根据一个示例的图1A的设备101的细节的框图。当麦克风303捕获用户的语音103时,本地app 308A负责管理经由设备101的网络接口接收的网络流317、管理媒体流341和向媒体引擎301A提供控制信号传输340。
在图3A中,标记的元素为:
101、103-104。参见图1A。
301A。负责管理来自app 308A的实时音频媒体流的媒体引擎。
303。麦克风。
304。扩音器。
308A。本地app。
317。去往和来自网络的媒体流。
340。在app 308A与媒体引擎301A之间发送的控制信息。
341。发送到app 308A和从app发送的媒体流。
图3B示出了根据一个示例的图1B的实施方式的细节。在该示例中,示出了图1B的设备105和图1B的设备101的实施方式。在这种情况下,在通过SPASM的抽象来控制通用或灵活媒体引擎的意义上,两种设备的设计都是为了‘编排就绪’。
在图3B中,第二设备105的输出106与第一设备101的输出104无关,并且到设备101的麦克风303的输入103可能捕获设备105的输出106。在该示例中,设备105和101无法以编排的方式工作。
在图3B中,标记的元素为:
101、103-106。参见图1B。
301、303-304。参见图3A。
302。设备105的媒体引擎。
305。设备105的麦克风。
306。设备105的扩音器。
308B。设备101的本地app。
312B。设备101的SPASM。
314B。设备105的SPASM。
317。去往和来自网络的媒体流。
320。设备105的本地app。
321。在app 308B与SPASM 312B之间发送的控制信息。
322。在SPASM 312B与媒体引擎301之间发送的控制信息。
323。在app 320与SPASM 314B之间(去往和来自)发送的控制信息。
324。在SPASM 314B与媒体引擎302之间(去往和来自)发送的控制信息。
325。从网络进入媒体引擎302的媒体流。
图3C是示出CHASM对音频环境的两个音频设备进行编排的示例的框图。基于前述讨论,应当理解,使用图3B的系统的情况将由CHASM更好地管理(例如,如图3C的实施例中),其中CHASM在设备101和设备105的修正版本上运行或在另一个设备上运行。在一些示例中,使用CHASM 307,电话101上的应用308放弃对其音频设备101的直接控制,并且遵从CHASM307来控制所有音频。根据一些这样的示例,与来自麦克风303的信号相比,来自麦克风305的信号可以包括更少回声。在一些示例中,CHASM 307可以基于麦克风305更接近人102的估计来推断来自麦克风305的信号比来自麦克风303的信号包括更少回声。在一些这样的实例中,CHASM可以通过将来自设备105上的麦克风305的原始麦克风信号或经处理的麦克风信号作为网络流路由到电话设备101来利用,并且这些麦克风信号可以优先于来自本地麦克风303的信号使用,以便为人102实现更好的语音通信体验。
根据一些实施方式,CHASM 307可以例如通过监测人102的位置、通过监测设备101和/或设备105的位置等来确保这仍然是最佳配置。在一些示例中,CHASM 307可以确保这仍然是最佳配置。根据一些这样的示例,CHASM 307可以经由交换低速率(例如,低比特率)数据和/或元数据来确保这仍然是最佳配置。例如,仅在设备之间共享少量信息,就可以跟踪人102的位置。如果在设备之间以低比特率交换信息,则限制带宽的考虑可能问题不大。可以在设备之间交换的低比特率信息的示例包括但不限于从麦克风信号得到的信息,例如,如下文参考“跟随我(follow me)”实施方式所描述的。可以在确定时有用以确定哪个设备的麦克风具有更高的言语回声比的低比特率信息的一个示例是在时间间隔期间(例如,在最后一秒期间)由本地扩音器在音频环境中的多个音频设备中的每一个上发出的声音引起的SPL的估计。从其(多个)扩音器发出更多能量的音频设备可能会在音频环境中捕获比由(多个)扩音器引起的回声更少的其他声音。可以在确定时有用以确定哪个设备的麦克风具有更高的言语回声比的低比特率信息的另一个示例是每个设备的声学回声消除器的回声预测中的能量的量。大量的预测的回声能量指示音频设备的(多个)麦克风可能被回声淹没。在一些这样的实例中,可能存在一些声学回声消除器无法消除的回声(假定声学回声消除器此时已经收敛)。在一些示例中,如果要提供有关麦克风305有问题或不存在的信息,则CHASM 307可以连续就绪用于控制设备101恢复使用来自本地麦克风303的麦克风信号。
图3C描绘了用于协调在设备101上运行的app 308与设备105的底层系统的示例。在该示例中,CHASM 307使用户的语音103B被捕获到设备105的麦克风305中,并且使捕获的音频316在设备101的媒体引擎301中使用,而扩音器输出104来自第一设备101——由此跨设备101和105编排用户102的体验。
在图3C中,标记的元素为:
101、103B、104、105。参见图1C。
301-306。参见图3B。
307。CHASM。
309。CHASM 307与媒体引擎302之间的控制信息。
310。CHASM 307与媒体引擎301之间的控制信息。
311。CHASM 307与app 308之间(去往或来自)的控制信息。
312C。设备101的设备性质描述符。
313。从设备性质描述符312C到CHASM 307的控制信息和/或数据。
314C。设备105的设备性质描述符。
315。从设备性质描述符314C到CHASM 307的控制信息和/或数据。
316。从设备媒体引擎302到设备媒体引擎301的媒体流。
317。去往网络或从网络到媒体引擎301的媒体流。
在一些实施例中,如果DOODAD包括在CHASM(例如,CHASM 307)中以与智能音频设备交互(例如,向每个智能音频设备发送控制信息和从每个智能音频设备接收控制信息),和/或如果提供DOODAD(例如,作为设备(例如,设备101和105)的子系统,其中,设备与实施CHASM的设备(例如,实施CHASM 307的设备)分离)以与CHASM(例如,下文讨论的图4的CHASM401,或CHASM 307)一起操作,则对SPASM(在一个或多个智能音频设备中的每一个中)的需要被智能音频设备(向CHASM)广告其音频能力以及应用遵循用于音频功能的单个抽象控制点(例如,CHASM)的操作所取代。
图4是图示另一个公开的实施例的框图。图4的设计引入了重要的抽象,即在某些实施方式中,应用不需要直接选择或控制,并且在一些实例中可能不会配置有关于执行与应用相关的功能涉及哪些特定音频设备、这些音频设备的特定功能等的信息。
图4是包括三个单独的物理音频设备420、421和422的系统的框图。在该示例中,每个设备都实施可发现的机会性编排分布式音频子系统(DOODAD),并且由运行应用(410-412)的CHASM 401控制。根据该示例,CHASM 401被配置用于管理应用410-412中的每一个的媒体需求。
在图4中,标记的元素为:
400。跨三个不同设备的编排的音频系统的示例。设备420、421和422各自实施DOODAD(DUDAD)。实施DOODAD的设备420、421和422中的每一个其本身有时被称为DOODAD。在该示例中,每个DOODAD是智能音频设备(或由智能音频设备实施),智能音频设备与图3C的智能音频设备101的不同之处在于,是或实施图4中的DOODAD的设备本身并不实施相关应用,而设备101实施应用308;
401。CHASM;
410-412。在该示例中具有不同音频要求的app。在一些示例中,app 410-412中的每一个可以存储在音频环境的设备或有时位于音频环境中的移动设备上并且可由其执行;
420-422。智能音频设备,其各自实施可发现的机会性编排分布式音频子系统(DOODAD),使得每个DOODAD在单独的物理智能音频设备内运行;
430、431和432。在app 410、411和412与CHASM 401之间(去往和来自)发送的控制信息;
433、434和435。在DOODADS 420-422与CHASM 401之间发送的控制信息;
440、441和442。媒体引擎;
450、451和452。设备性质描述符,在该示例中,DOODADS 420-422被配置成将设备性质描述符提供给CHASM 401;
460-462。扩音器;
463-465。麦克风;
470。从媒体引擎442流出到网络的媒体流;
471。从媒体引擎441到媒体引擎442的媒体流;
472。从媒体引擎441到媒体引擎(440)媒体流;
473。来自用于经由网络将媒体提供到媒体引擎441的基于云的服务(如由数据中心的一个或多个服务器经由因特网提供的基于云的服务)的媒体流;
474。从媒体引擎441到基于云的服务的媒体流。
477。一项或多项基于云的服务,其可以包括一项或多项音乐流媒体服务、电影流媒体服务、电视节目流媒体服务、播客提供商等。
图4是其中多个音频设备具有路由以创建音频体验的潜力的系统的框图。根据该示例,与媒体流473相对应的音频数据由智能音频设备421的媒体引擎441接收,智能音频设备将媒体流471提供给媒体引擎442并且将媒体流472提供给媒体引擎440。根据一些这样的实施方式,媒体引擎441可以根据媒体引擎441的采样时钟来处理媒体流473,媒体引擎是在本文中可以被称为“媒体引擎采样时钟”的内容的示例。
在一些这样的示例中,CHASM 401可以已经经由控制信息434将关于与获得和处理媒体流473相关的过程的指令和信息提供给媒体引擎441。这样的指令和信息是在本文中可以被称为“音频会话管理控制信号”的内容的示例。
然而,在一些实施方式中,CHASM 401可以在不参考媒体引擎441的媒体引擎采样时钟的情况下传输音频会话管理控制信号。这样的示例具有潜在的优势,因为CHASM 401不需要例如将媒体传输同步到音频环境的音频设备。相反,在一些实施方式中,任何这样的同步都可以委派给另一个设备,如前述示例中的智能音频设备421。
根据一些这样的实施方式,CHASM 401可以已经响应于来自应用410、应用411或应用412的控制信息430、431或432而向媒体引擎441提供了与获得和处理媒体流473有关的音频会话管理控制信号。这种控制信息是在本文中可以被称为“应用控制信号”的内容的示例。根据一些实施方式,应用控制信号可以在不参考媒体引擎441的媒体引擎采样时钟的情况下从应用传输到CHASM 401。
在一些示例中,CHASM 401可以向媒体引擎441提供音频处理信息,包括但不限于渲染信息,以及相应地用于处理与媒体流473相对应的音频的指令。然而,在一些实施方式中,实施CHASM 401的设备(或实施类似功能的设备,如本文中别处描述的智能家居中枢的功能)可以被配置成提供至少一些音频处理功能。下文提供了一些示例。在一些这样的实施方式中,CHASM 401可以被配置成接收和处理音频数据,并且将经处理的(例如,经渲染的)音频数据提供给音频环境的音频设备。
图5是包括根据一些实施方式的音频会话管理方法的框的流程图。与本文所描述的其他方法一样,不必以所指示的顺序来执行方法500的框。在一些实施方式中,方法500的一个或多个框可以同时执行。例如,在一些实例中,可以同时执行框505和510。此外,方法500的一些实施方式可以包括比所示出和/或所描述的框更多或更少的框。方法500的框可以由一个或多个设备执行,设备可以是(或可以包括)控制系统,如图6中示出的和下文描述的控制系统610,或者其他公开的控制系统示例之一。
根据一些实施方式,方法500的框可以至少部分地由实施本文中所谓的音频会话管理器(例如,CHASM)的设备来执行。在一些这样的示例中,方法500的框可以至少部分地由上文参考图2C、图2D、图3C和图4描述的CHASM 208C、CHASM 208D、CHASM 307和/或CHASM401执行。更具体地,在一些实施方式中,在方法500的框中提及的“音频会话管理器”的功能可以至少部分地由CHASM 208C、CHASM 208D、CHASM 307和/或CHASM 401执行。
根据该示例,框505涉及在执行第一应用的第一应用设备与音频环境的音频会话管理器之间建立第一应用通信链路。在一些示例中,第一应用通信链路可以经由如Zigbee、苹果的Bonjour(Rendezvous)、Wi-Fi、蓝牙、低功耗蓝牙(Bluetooth LE)、5G、4G、3G、通用分组无线业务(GPRS)、Amazon Sidewalk、Nordic的在RF24L01芯片中的自定义协议等适合于在音频环境内使用的任何合适的无线通信协议来建立。在一些示例中,第一应用通信链路可以响应于“握手”过程而建立,在一些示例中,“握手”过程可以经由通过第一应用设备传输到实施音频会话管理器的设备的“握手发起”来开始。在一些示例中,第一应用通信链路可以响应于来自第一应用设备的在本文中可以被称为“路由发起请求”的内容而建立。为了方便起见,来自第一应用设备的路由发起请求在本文中可以被称为“第一路由发起请求”,以指示路由发起请求与“第一应用设备”相对应。换句话说,在该上下文中,术语“第一”可以具有或可以不具有时间意义,具体取决于特定实施方式。
在一个这样的示例中,第一应用通信链路可以在图4的应用410执行于其上的设备与CHASM 401之间建立。在一些这样的示例中,第一应用通信链路可以响应于CHASM401从应用410执行于其上的设备接收第一路由发起请求而建立。例如,应用410执行于其上的设备可以是音频环境的智能音频设备。在一些实例中,应用410执行于其上的设备可以是移动电话。应用410可以用于经由CHASM 401访问媒体,例如,音乐、电视节目、电影等。在一些实例中,媒体可用于经由基于云的服务进行流式传输。
下文详细描述了“路由”所意指的内容的各种示例。通常,路由指示将由音频会话管理器管理的音频会话的参数。例如,路由发起请求可以指示音频源和音频环境目的地。在一些实例中,音频环境目的地可以与音频环境中的至少一个人相对应。在一些实例中,音频环境目的地可以与音频环境的区域或区相对应。
然而,在大多数实例中,音频环境目的地将不指示将涉及在音频环境中再现媒体的任何特定音频设备。相反,应用(如应用410)可以提供关于例如特定类型的媒体应当对音频环境中的特定人可用的路由发起请求。在各种所公开的实施方式中,音频会话管理器将负责确定哪些音频设备将涉及路由,例如,确定哪些音频设备将涉及获得、渲染和再现与媒体相关联的音频数据。在一些实施方式中,音频会话管理器将负责确定将涉及路由的音频设备是否已变化(例如,响应于是媒体的预期接收者的人已经改变位置的确定)、更新对应的数据结构等。下文提供了详细的示例。
在该示例中,框510涉及由音频会话管理器并且经由第一应用通信链路接收来自第一应用的第一应用控制信号。再次参考图4,在一些示例中,应用控制信号可以与在app410与CHASM 401之间(去往和来自)发送的控制信息430相对应。在一些示例中,可以在音频会话管理器(例如,CHASM 401)已经发起路由之后发送第一应用控制信号。然而,在一些实例中,第一应用控制信号可以与第一路由发起请求相对应。在一些这样的示例中,框505和510可以至少部分地同时执行。
根据该示例,框515涉及在音频会话管理器与音频环境的至少第一智能音频设备之间建立第一智能音频设备通信链路。在该示例中,第一智能音频设备是或包括单用途音频设备或多用途音频设备。根据该实施方式,第一智能音频设备包括一个或多个扩音器。
在一些示例中,如上,第一应用控制信号和/或第一路由发起请求不指示将涉及路由的任何特定音频设备。根据一些这样的示例,方法500可以涉及在块515之前(例如,由音频会话管理器)确定音频环境的哪些音频设备将至少最初涉及路由的过程。
例如,图4的CHASM 401可以确定音频设备420、421和422将至少最初涉及路由。在图4中示出的示例中,框515的第一智能音频设备通信链路可以在音频会话管理器(在该示例中为CHASM 401)与智能音频设备421之间建立。第一智能音频设备通信链路可以与图4中在CHASM 401与智能音频设备421之间示出的虚线相对应,控制信息434通过虚线传输。在一些这样的示例中,第一智能音频设备通信链路可以经由如Apple Airplay、Miracast、Blackfire、蓝牙5、实时传输协议(RTP)等适合于在音频环境内使用的任何合适的无线通信协议来建立。
在图5中示出的示例中,框520涉及由音频会话管理器确定第一智能音频设备的第一媒体引擎的一个或多个第一媒体引擎能力。根据该示例,第一媒体引擎被配置用于管理由第一智能音频设备接收的一个或多个音频媒体流,以及用于根据第一媒体引擎采样时钟针对一个或多个音频媒体流执行第一智能音频设备信号处理。在上文所描述的示例中,框520可以涉及例如通过将设备性质描述符451提供给CHASM 401来使CHASM 401从智能音频设备421接收关于媒体引擎441的一个或多个能力的信息。根据一些实施方式,框520可以涉及CHASM 401接收关于智能音频设备421的一个或多个扩音器的能力的信息。在一些示例中,CHASM 401可以例如在方法500的框505、510和/或515之前已经预先确定了该信息中的一些或所有。
根据该示例,框525涉及由音频会话管理器根据第一媒体引擎能力,并且通过经由第一智能音频设备通信链路传输到第一智能音频设备的第一音频会话管理控制信号来控制第一智能音频设备。根据一些示例,第一音频会话管理控制信号可以使第一智能音频设备将对第一媒体引擎的控制委派给音频会话管理器。在该示例中,音频会话管理器在不参考第一媒体引擎采样时钟的情况下将第一音频会话管理控制信号传输到第一智能音频设备。在一些这样的示例中,第一应用控制信号可以在不参考第一媒体引擎采样时钟的情况下从第一应用传输到音频会话管理器。
在框525的一个示例中,CHASM 401可以控制媒体引擎441接收媒体流473。在一些这样的示例中,经由第一音频会话管理控制信号,CHASM 401可以向媒体引擎441提供与可以从其接收媒体流473的网站相对应的统一资源定位符(URL),以及用于启动媒体流473的指令。根据一些这样的示例,CHASM 401还可以经由第一音频会话管理控制信号向媒体引擎441提供用于将媒体流471提供给媒体引擎442以及用于将媒体流472提供给媒体引擎440的指令。
在一些这样的示例中,CHASM 401可以已经经由第一音频会话管理控制信号向媒体引擎441提供音频处理信息,包括但不限于渲染信息,以及相应地处理与媒体流473相对应的音频的指令。例如,CHASM 401可能已经向媒体引擎441提供了以下指示:例如,智能音频设备420将接收与左声道相对应的扬声器馈送信号、智能音频设备421将再现与中央声道相对应的扬声器馈送信号以及智能音频设备422将接收与右声道相对应的扬声器馈送信号。
本文中公开了渲染的各种其他示例,其中一些可以涉及CHASM 401或另一个音频会话管理器将不同类型的音频处理信息传达到智能音频设备。例如,在一些实施方式中,音频环境的一个或多个设备可以被配置成实施灵活渲染,如质心振幅平移(CMAP)和/或灵活虚拟化(FV)。在一些这样的实施方式中,可以向被配置成实施灵活渲染的设备提供音频设备位置集合、估计的当前收听者位置和估计的当前收听者取向。被配置成实施灵活渲染的设备可以被配置成根据音频设备位置集合、估计的当前收听者位置和估计的当前收听者取向来为环境中的一组音频设备渲染音频。下文描述了一些详细的示例。
在参考图4描述的方法500的前述示例中,除了音频会话管理器或第一智能音频设备之外的设备被配置用于执行第一应用。然而,例如如上文参考图2C和图2D所描述的,一些示例第一智能音频设备可以被配置用于执行第一应用。
根据一些这样的示例,例如如上文参考图2C所描述的,第一智能音频设备可以包括特定用途音频会话管理器。在一些这样的实施方式中,音频会话管理器可以经由第一智能音频设备通信链路与特定用途音频会话管理器进行通信。在一些示例中,音频会话管理器可以从特定用途音频会话管理器获得一个或多个第一媒体引擎能力。根据一些这样的示例,音频会话管理器可以充当控制第一媒体引擎的所有应用的网关,无论应用是在第一智能音频设备上或在另一个设备上运行。
如上,在一些示例中,方法500可以涉及建立与第一音频源相对应的至少第一音频流(例如,图4的媒体流473)。在一些示例中,第一音频源可以是被配置成提供如音乐流媒体服务、电视节目和/或电影流媒体服务等基于云的流媒体服务的一个或多个服务器等。第一音频流可以包括第一音频信号。在一些这样的实施方式中,建立至少第一音频流可以涉及通过经由第一智能音频设备通信链路传输到第一智能音频设备的第一音频会话管理控制信号,使第一智能音频设备建立至少第一音频流。
在一些示例中,方法500可以涉及使第一音频信号被渲染为第一经渲染的音频信号的渲染过程。在一些这样的实施方式中,渲染过程可以由第一智能音频设备响应于第一音频会话管理控制信号而执行。在上文所描述的示例中,媒体引擎441可以响应于第一音频会话管理控制信号而将与媒体流473相对应的音频信号渲染为扬声器馈送信号。
根据一些示例,方法500可以涉及经由第一音频会话管理控制信号使第一智能音频设备在第一智能音频设备与音频环境的一个或多个其他智能音频设备中的每一个之间建立智能音频设备间通信链路。在上文参考图4描述的示例中,媒体引擎441可以与媒体引擎440和442建立有线或无线智能音频设备间通信链路。在上文参考图3C描述的示例中,媒体引擎302可以建立有线或无线智能音频设备间通信链路以将媒体流316提供给媒体引擎301。
在一些示例中,方法500可以涉及使第一智能音频设备经由智能音频设备间通信链路或多个智能音频设备间通信链路将原始麦克风信号、经处理的麦克风信号、经渲染的音频信号或未渲染的音频信号中的一个或多个传输到一个或多个其他智能音频设备。在上文参考图4描述的示例中,智能音频设备间通信链路可以用于经由媒体流471和媒体流472提供经渲染的音频信号或未渲染的音频信号。在一些这样的示例中,媒体流471可以包括用于媒体引擎442的扬声器馈送信号,并且媒体流472可以包括用于媒体引擎440的扬声器馈送信号。在上文参考图3C描述的示例中,媒体引擎302可以经由媒体流316将原始麦克风信号或经处理的麦克风信号提供给媒体引擎301。
根据一些示例,方法500可以涉及在音频会话管理器与音频环境的至少第二智能音频设备之间建立第二智能音频设备通信链路。在一些这样的示例中,第二智能音频设备可以是单用途音频设备或多用途音频设备。在一些实例中,第二智能音频设备可以包括一个或多个麦克风。一些这样的方法可以涉及由音频会话管理器确定第二智能音频设备的第二媒体引擎的一个或多个第二媒体引擎能力。例如,第二媒体引擎可以被配置用于从一个或多个麦克风接收麦克风数据以及用于对麦克风数据执行第二智能音频设备信号处理。
例如,参考图3C,“第一智能音频设备”可以是智能音频设备101。根据一些这样的示例,“第二智能音频设备”可以是智能音频设备105。“第一智能音频设备通信链路”可以用于提供控制信号310,并且“第二智能音频设备通信链路”可以用于提供控制信号309。CHASM307可以至少部分地基于设备性质描述符314c来确定媒体引擎302的一个或多个媒体引擎能力。
一些这样的方法可以涉及由音频会话管理器根据第二媒体引擎能力,通过经由第二智能音频设备通信链路传输到第二智能音频设备的第二音频会话管理器控制信号控制第二智能音频设备。在一些实例中,控制第二智能音频设备可以涉及使第二智能音频设备在第二智能音频设备与第一智能音频设备之间建立智能音频设备间通信链路(例如,用于提供媒体流316的智能音频设备间通信链路)。一些这样的示例可以涉及使第二智能音频设备经由智能音频设备间通信链路将经处理的或未处理的麦克风数据(例如,来自麦克风305的经处理的或未处理的麦克风数据)中的至少一项从第二媒体引擎传输到第一媒体引擎。
在一些示例中,控制第二智能音频设备可以涉及由音频会话管理器并且经由第一应用通信链路接收来自第一应用的第一应用控制信号。在图3C的示例中,CHASM 307从在该示例中是电话应用的应用308接收控制信号311。一些这样的示例可以涉及根据第一应用控制信号确定第二音频会话管理器控制信号。例如,再次参考图3C,CHASM 307可以被配置成根据来自应用308的控制信号311针对正在提供的电话会议优化言语回声比(SER)。CHASM307可以确定电话会议的SER可以通过使用麦克风305而不是麦克风303来捕获人102的言语来改进(参见图1C)。在一些示例中,该确定可以基于对人102的位置的估计。本文中公开了估计音频环境中人的位置和/或取向的一些详细示例。
图6是示出能够实施本公开的各个方面的装置的部件的示例的框图。与本文提供的其他图一样,图6中示出的元件的类型和数量仅作为示例提供。其他实施方式可以包括更多、更少和/或不同类型和数量的元件。根据一些示例,装置600可以是或可以包括被配置用于执行本文公开的方法中的至少一些方法的智能音频设备。在其他实施方式中,装置600可以是或可以包括被配置用于执行本文所公开的方法中的至少一些方法的另一种设备,如膝上型计算机、蜂窝电话、平板设备、智能家居中枢等。在一些这样的实施方式中,装置600可以是或可以包括服务器。在一些这样的实施方式中,装置600可以被配置成实施在本文中可以被称为CHASM的东西。
在该示例中,装置600包括接口系统605和控制系统610。在一些实施方式中,接口系统605可以被配置用于与正在执行或被配置用于执行软件应用的一个或多个设备通信。这样的软件应用在本文中有时可以被称为“应用”或简称为“app”。在一些实施方式中,接口系统605可以被配置用于交换控制信息和与应用有关的相关联的数据。在一些实施方式中,接口系统605可以被配置用于与音频环境的一个或多个其他设备通信。在一些示例中,音频环境可以是家庭音频环境。在一些实施方式中,接口系统605可以被配置用于交换控制信息和与音频环境的音频设备相关联的数据。在一些示例中,控制信息和相关联的数据可以与装置600被配置用于与其通信的一个或多个应用有关。
在一些实施方式中,接口系统605可以被配置用于接收音频数据。音频数据可以包括被安排由音频环境的至少一些扬声器再现的音频信号。音频数据可以包括一个或多个音频信号和相关联的空间数据。例如,空间数据可以包括声道数据和/或空间元数据。接口系统605可以被配置用于向环境的一组扩音器中的至少一些扩音器提供经渲染的音频信号。在一些实施方式中,接口系统605可以被配置用于从环境中的一个或多个麦克风接收输入。
接口系统605可以包括一个或多个网络接口和/或一个或多个外部设备接口(如一个或多个通用串行总线(USB)接口)。根据一些实施方式,接口系统605可以包括一个或多个无线接口。接口系统605可以包括用于实施用户接口的一个或多个设备,如一个或多个麦克风、一个或多个扬声器、显示系统、触摸传感器系统和/或手势传感器系统。在一些示例中,接口系统605可以包括控制系统610与存储器系统之间的一个或多个接口,如图6中示出的任选存储器系统615。然而,在一些实例中,控制系统610可以包括存储器系统。
控制系统610例如可以包括通用单芯片或多芯片处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑设备、离散门或晶体管逻辑、和/或离散硬件部件。
在一些实施方式中,控制系统610可以驻留在超过一个设备中。例如,控制系统610的一部分可以驻留在本文描绘的环境之一内的设备中,并且控制系统610的另一部分可以驻留在环境之外的设备中,如服务器、移动设备(例如,智能电话或平板电脑)等。在其他示例中,控制系统610的一部分可以驻留在本文描绘的环境之一内的设备中,并且控制系统610的另一部分可以驻留在环境的一个或多个其他设备中。例如,控制系统功能可以跨环境的多个智能音频设备分布,或者可以由编排设备(如本文中可以被称为智能家居中枢的设备)和环境的一个或多个其他设备共享。在一些这样的示例中,接口系统605还可以驻留在超过一个设备中。
在一些实施方式中,控制系统610可以被配置用于至少部分地执行本文所公开的方法。根据一些示例,控制系统610可以被配置用于实施音频会话管理方法。
本文描述的一些或所有方法可以由一个或多个设备根据存储在一个或多个非暂态介质上的指令(例如,软件)来执行。这种非暂态介质可以包括如本文所描述的那些存储器设备,包括但不限于随机存取存储器(RAM)设备、只读存储器(ROM)设备等。一个或多个非暂态介质可以例如位于图6中所示的可选存储器系统615和/或控制系统610中。因此,可以在其上存储有软件的一个或多个非暂态介质中实施本公开中所描述的主题的各个创新方面。例如,软件可以包括用于控制至少一个设备来实施音频会话管理方法的指令。在一些示例中,软件可以包括用于控制音频环境的一个或多个音频设备来获得、处理和/或提供音频数据的指令。例如,软件可以由如图6的控制系统610等控制系统的一个或多个部件执行。
在一些示例中,装置600可以包括图6中示出的任选麦克风系统620。任选麦克风系统620可以包括一个或多个麦克风。在一些实施方式中,一个或多个麦克风可以是另一个设备(如扬声器系统的扬声器、智能音频设备等)的一部分或与其相关联。在一些示例中,装置600可以不包括麦克风系统620。然而,在一些这样的实施方式中,装置600仍然可以被配置为经由接口系统610接收音频环境中的一个或多个麦克风的麦克风数据。
根据一些实施方式,装置600可以包括图6中示出的任选扩音器系统625。任选扬声器系统625可以包括一个或多个扩音器。扩音器在本文中有时可以被称为“扬声器”。在一些示例中,任选扩音器系统625的至少一些扩音器可以任意地定位。例如,任选扩音器系统625的至少一些扬声器可以放置在不对应于任何标准规定的扬声器布局的位置,如杜比5.1、杜比5.1.2、杜比7.1、杜比7.1.4、杜比9.1、滨崎22.2等。在一些这样的示例中,任选扩音器系统625的至少一些扩音器可以放置在对空间方便的位置(例如,在有空间容纳扩音器的位置),但不在任何标准规定的扩音器布局中。
在一些实施方式中,装置600可以包括图6中示出的任选传感器系统630。任选传感器系统630可以包括一个或多个相机、触摸传感器、手势传感器、运动检测器等。根据一些实施方式,任选传感器系统630可以包括一个或多个相机。在一些实施方式中,相机可以是独立式相机。在一些示例中,任选传感器系统630的一个或多个相机可以驻留在智能音频设备中,智能音频设备可以是单用途音频设备或虚拟助理。在一些这样的示例中,任选传感器系统630的一个或多个相机可以驻留在TV、移动电话或智能扬声器中。在一些示例中,装置600可以不包括传感器系统630。然而,在一些这样的实施方式中,装置600仍然可以被配置为经由接口系统610接收音频环境中的一个或多个传感器的传感器数据。
在一些实施方式中,装置600可以包括图6中示出的任选显示系统635。任选显示系统635可以包括一个或多个显示器,如一个或多个发光二极管(LED)显示器。在一些实例中,任选显示系统635可以包括一个或多个有机发光二极管(OLED)显示器。在其中装置600包括显示系统635的一些示例中,传感器系统630可以包括接近显示系统635的一个或多个显示器的触摸传感器系统和/或手势传感器系统。根据一些这样的实施方式,控制系统610可以被配置用于控制显示系统635来呈现一个或多个图形用户界面(GUI)。
根据一些示例,装置600可以是或可以包括智能音频设备。在一些这样的实施方式中,装置600可以是或可以(至少部分地)实施唤醒词检测器。例如,装置600可以是或可以(至少部分地)实施虚拟助理。
现在返回图4,根据一些示例,图4的系统可以实施使得CHASM 401为应用410、411和412提供抽象,使得应用410、411和412可以经由以编排语言发布路由来实现呈现(例如,音频会话)。使用这种语言,应用410、411和412可以通过控制链路430、431和432来命令CHASM 401。
参考上文描述的图1A、图1B和图1C,考虑了采用编排语言的应用和结果情况的描述在图1A的情况与图1C的情况之间是相同的。
为了描述语法示例和编排语言示例,首先提供一些考虑图1A和图1C的情况的示例。
在一些示例中,本文中所谓的编排语言的“路由”可以包括媒体源(包括但不限于音频源)和媒体目的地的指示。例如,媒体源和媒体目的地可以在由应用发送给CHASM的路由发起请求中指定。根据一些实施方式,媒体目的地可以是或可以包括音频环境目的地。在一些实例中,音频环境目的地可以与至少在某些时间在音频环境中的至少一个人相对应。在一些实例中,音频环境目的地可以与音频环境的一个或多个区域或区相对应。本文中公开了音频环境区的一些示例。然而,音频环境目的地通常将不包括路由将会涉及的音频环境的任何特定音频设备。通过使编排语言(包括但不限于应用建立路由所需的细节)更加通用,针对路由实施方式的细节可以由CHASM确定并且根据需要进行更新。
在一些示例中,路由可以包括其他信息,如音频会话优先级、连接模式、一个或多个音频会话目标或标准等。在一些实施方式中,路由将具有在本文中可以被称为音频会话标识符的对应代码或标识符。在一些实例中,音频会话标识符可以是持续性唯一音频会话标识符。
在上文描述的初始示例中,对应的“路由”可以包括:从人X(例如,图1C的用户102)到网络(例如,因特网)的具有高优先级的同步模式的路由;以及从网络到人X的具有高优先级的同步模式的路由。这种术语类似于陈述某人可能想要“给人X打电话”的自然语言。然而,术语与陈述完全不同(参考包括设备101的图1A的情况):
将该设备麦克风(Mic)(即,设备101的麦克风)连接到处理(噪声/回声消除);
将处理输出(噪声/回声)连接到网络;
将网络连接到处理输入(动态);
将处理输出(动态)连接到该设备扬声器;
将处理输出(动态)连接到处理输入(参考)。
在该点上,可以观察到根据这样的命令列表执行电话应用将涉及设备的细节和所需的处理(回声和噪声消除),并且如果要引入设备105(换句话说,如果要在图1C的包括设备105和设备101的上下文中执行电话应用),就需要彻底改变,例如,如下:
将该设备麦克风(即,设备105的麦克风)连接到网络;
将网络连接到输入处理(噪声/回声消除);
将处理输出(噪声/回声)连接到网络;
将网络连接到处理输入(动态);
将处理输出(动态)连接到该设备扬声器(即,设备101的扬声器);
将处理输出(动态)连接到处理输入(参考)。
在一些示例中,最好在何处进行信号处理、如何连接信号以及通常对用户(可能处于已知或未知位置)来说最好的结果的细节可以涉及可以为有限数量的用例预先计算的优化,但对于大量设备和/或大量同时音频会话可能变得难以管理。已经认识到,最好提供可以允许更好的连接、能力、知识和智能音频设备(包括通过编排或协调设备)控制的底层框架,并且然后创建可移植且有效的语法用于控制设备。
一些公开的实施例采用在设计上有效并且非常通用的方法和语言。当某人将音频设备视为路由的一部分(例如,在系统包括如本文中描述的CHASM而不是如本文中描述的SPASM的实施例中)并且不是特定端点音频设备时,存在最容易理解的语言的特定方面。一些实施例的各方面包括以下各项中的一项或多项:路由规范语法;持续性唯一会话标识符;以及传递、确认和/或质量的连续概念。
路由规范语法(解决每个发出的路由都具有显式或隐式元素的需求)可以包括:
ο源(人/设备/自动化决定)以及因此隐式授权;
ο相对于可能已经在进行中或稍后出现的其他音频而言,该期望的音频路由的重要性方面的优先级;
ο目的地(理想地一个人或一组人,并且可能可泛化到一个地方);
ο连接模式,包括同步的、事务的或调度的;
ο消息必须被确认的程度或在传递置信度方面的确定性的要求;和/或
ο了解听到的内容最重要的方面是什么(可懂度、质量、空间保真度、一致性或者也许不可听度)。该最后一点可以包括消极路由的概念,其中,不仅对听到和被听到感兴趣,而且还控制未听到和/或无法听到的内容。一些这样的示例涉及确保音频环境的一个或多个区域保持相对安静,如下文详细描述的“不要吵醒婴儿”实施方式。其他这样的示例可以涉及例如通过在一个或多个附近扩音器中再现“白噪声”、通过增加一个或多个附近扩音器中一个或多个其他音频内容的回放水平等来防止音频环境中的其他人偷听机密对话。
持续性唯一会话标识符的各方面可以包括以下内容。在一些示例中,一些实施例的关键方面是与路由相对应的音频会话是持续性的,直到完成或以其他方式关闭。例如,这可以允许系统(例如,经由CHASM)跟踪正在进行的音频会话,并且结束或移除音频会话以改变路由,而不是要求应用确定必须改变哪些单独的连接集合。一旦创建,持续性唯一会话标识符可以涉及可以允许系统实施消息驱动的或轮询驱动的管理的控制和状态的各方面。例如,音频会话或路由的控制可以是或包括:
-完成;
-移动目的地;以及
-增加或减少优先级。
可以查询的关于音频会话或路由的内容可以是或包括:
-它是否在合适的位置;
-在相互竞争的优先级中,既定目标的实施情况如何;
-听到/确认音频的用户的感觉或确信如何;
-质量如何(例如,针对保真度、空间、可懂度、信息、注意力、一致性或不可听度的不同目标);以及
-如果期望的话,向下查询关于正在使用哪些音频设备的实际路由层。
传递、确认和质量的连续概念可以包括以下内容。虽然可能有联网套接字方法(和会话层)的某种感觉,但音频路由可以有很大不同,尤其是考虑到可能同时路由或排队的音频活动的数量等时。同样,由于目的地可能是至少一个人并且由于在一些实例中该人的相对于可能被路由通过的音频设备的位置可能存在不确定性,因此具有相当持续的确信的感觉可能会很有用。联网可以包括是可以到达或不到达的数据报(DATAGRAM)和保证到达的流(STREAM)的链接或与链接相关。在音频的情况下,可以有一种感觉,即事物可以被听到(HEARD)或未被听到(NOT HEARD)和/或我们认为我们可以听到(HEAR)或听不到(NOT HEAR)某人。
这些术语是在编排语言的一些实施例中引入的,其可以具有简单联网的一些方面。在这之上(在一些实施例中)是呈现层和应用层(例如,用于实施“电话呼叫”的示例应用)。
编排语言的实施例可以具有与会话发起协议(SIP)和/或媒体服务器标记语言(MSML)相关的方面(例如,以设备为中心、基于当前音频会话集合连续地和自主地适配路由)。SIP是用于发起、维持和结束可能包括语音、视频和/或消息传递应用的会话的信号传输协议。在一些情况下,SIP可以用于信号传输和控制因特网电话的通信会话,例如,用于语音呼叫、视频呼叫、专用IP电话系统、用于通过因特网协议(IP)网络的即时消息传递、用于移动电话呼叫等。SIP是定义消息的格式和参与者的通信序列的基于文本的协议。SIP包括超文本传输协议(HTTP)和简单邮件传输协议(SMTP)的元素。在一些情况下,使用SIP建立的呼叫可以包括多个媒体流,但将数据作为SIP消息的有效负载进行交换的应用(例如,文本消息应用)不需要单独的流。
评论请求(RFC)5707中描述了MSML。MSML用于控制IP媒体服务器上的各种类型的服务。根据MSML,媒体服务器是专门用于控制和/或操纵如实时传输协议媒体流等媒体流的电器。根据MSML,应用服务器与媒体服务器是分开的,并且被配置用于建立和中断呼叫连接。根据MSML,应用服务器被配置成经由SIP或IP建立控制“隧道”,应用服务器使用控制“隧道”与媒体服务器交换以MSML编码的请求和响应。
MSML可以用于定义多媒体会话如何在媒体服务器上交互以及用于将服务应用于单个用户或用户组。MSML可以用于控制媒体服务器会议特征(如视频布局和音频混音)、创建侧边栏会议或个人混音、设置媒体流的性质等。
一些实施例不需要允许用户通过发布特定命令来控制一系列音频设备。然而,设想了一些实施例可以有效地实现应用层的所有期望的呈现而不参考设备本身。
图7是描绘根据一个示例的CHASM的框的框图。图7描绘了图4中示出的CHASM 401的示例。图7示出了CHASM 401使用编排语言从多个app接收路由并且将关于路由的信息存储在路由表701中。图7的元素包括:
401:CHASM;
430:来自使用编排语言的第一应用(图4的应用410)的命令和来自CHASM 401的响应;
431:来自使用编排语言的第二应用(图4的应用411)的命令和来自CHASM 401的响应;
432:来自使用编排语言的第三应用(图4的应用412)的命令和来自CHASM 401的响应;
703:来自图4中未示出的使用编排语言的附加应用的命令和来自CHASM 401的响应;
701:由CHASM 401维护的路由表;
702:基于当前路由信息连续控制多个音频设备的优化器,在本文中也被称为音频会话管理器;
435:从CHASM 401到第一音频设备(图4的音频设备420)的命令和来自第一音频设备的响应;
434:从CHASM 401到第二音频设备(图4的音频设备421)的命令和来自第二音频设备的响应;
435:从CHASM 401到第三音频设备(图4的音频设备422)的命令和来自第三音频设备的响应。
图8示出了根据一个示例的图7中示出的路由表的细节。图8的元素包括:
701:由CHASM维护的路由表。根据该示例,每个路由都具有以下字段:
·ID或“持续性唯一会话标识符”;
·关于哪个应用已经请求了路由的记录;
·源;
·目的地,其在该示例中可以包括一个或多个人或位置,但不包括音频设备;
·优先级;
·连接模式,其在该示例中是从包括同步模式、调度模式和事务模式的模式列表中选择的;
·关于是否需要确认的指示;
·优先考虑哪个(哪些)音频质量方面,(多个)音频质量方面在本文中也被称为(多个)音频会话目标。在一些示例中,音频会话管理器或优先级排序器702将根据(多个)音频会话目标来优化音频会话;
801:路由表701中已经由app 410请求并且被分配了ID 50的路由。该路由指定Alex(目的地)想要以优先级4收听Spotify。在该示例中,优先级是整数值,其中最高优先级为1。连接模式是同步的,在该示例中意指正在进行。在该实例中,不要求Alex证实或确认是否向她提供了对应的音乐。在该示例中,唯一指定的音频会话目标是音乐质量;
802:路由表701中已经由app 811请求并且被分配了ID 51的路由。Angus将听到优先级为4的定时器警报。该音频会话被安排在未来时间,音频会话由CHASM 401存储但未在路由表701中示出。在该示例中,Angus被要求确认他已经听到了警报。在该示例中,唯一指定的音频会话目标是可听度,以增加Angus听到警报的可能性;
803:路由表701中已经由app 410请求并且被分配了ID 52的路由。尽管目的地是“婴儿”,但潜在的音频会话目标是音频环境中婴儿附近的不可听度。因此,这是“不要吵醒婴儿!”实施方式的示例,下文描述了实施方式的详细示例。该音频会话的优先级为2(比几乎任何事情更重要)。连接模式是同步的(进行中的)。不需要来自没有被吵醒的婴儿的任何确认。在该示例中,唯一指定的音频会话目标是在婴儿的位置处的声音的不可听度。
804:路由表701中已经由app 411请求并且被分配了ID 53的路由。在该示例中,app 411是电话app。在该实例中,George在打电话。此处,音频会话的优先级为3。连接模式是同步的(进行中的)。无需确认George仍然在通话中。例如,当George准备结束通话时,George可以打算要求虚拟助理结束通话。在该示例中,唯一指定的音频会话目标是言语可懂度。
805:路由表701中已经由app 412请求并且被分配了ID 54的路由。在该示例中,音频会话的根本目的是通知Richard管道工在门口并且需要与Richard交谈。连接模式是事务的:鉴于其他音频会话的优先级的优先级,尽快将消息播放给Richard。在该示例中,Richard刚刚把婴儿放在床上并且Richard仍然在婴儿的房间里。鉴于路由803具有更高优先级,所以CHASM的音频会话管理器将一直等待直到Richard离开婴儿的房间、直到与路由805相对应的消息送达。在该示例中,需要确认:在该实例中,Richard被要求口头确认Richard已听到消息并且正在去见管道工的路上。根据一些示例,如果Richard没有在指定时间内确认,则CHASM的音频会话管理器可能使音频环境的所有音频设备(在一些示例中,婴儿的房间中的任何音频设备除外)提供该消息,直到Richard响应。在该示例中,唯一指定的音频会话目标是言语可懂度,使得Richard听到并且理解消息。
806:路由表701中已经由火警警报系统app 810请求并且被分配了ID 55的路由。该路由的根本目的是在某些情况下(例如,根据来自烟雾检测传感器的响应)拉响火警警报以疏散房屋里的人。该路由具有最高优先级:吵醒婴儿甚至是可接受的。连接模式是同步的。无需确认。在该示例中,唯一指定的音频会话目标是可听度。根据该示例,CHASM将控制音频环境的所有音频设备大声播放警报,以确保音频环境中的所有人听到警报并且疏散。
在一些实施方式中,音频会话管理器(例如,CHASM)将在一个或多个存储器结构中维护与每个路由相对应的信息。根据一些这样的实施方式,音频会话管理器可以被配置成根据音频环境中的变化条件(例如,音频环境中的人变化位置)和/或根据来自音频会话管理器702的控制信号来更新与每个路由相对应的信息。例如,参考路由801,音频会话管理器可以存储和更新包括以下信息或与以下信息相对应的一个存储器结构:
ID 目的地位置 目的地取向 音频设备
50 客厅沙发 面向电视 a、b、c、d、e
表1
出于提供示例的目的,表1中示出的信息采用人类可读的格式。音频会话管理器用于存储这种信息(例如,目的地位置和目的地取向)的实际格式可能是或可能不是人类可理解的,取决于特定实施方式。
在该示例中,音频会话管理器被配置成监测Alex的位置和取向、路由801的目的地以及确定哪些音频设备将涉及为路由801提供音频内容。根据一些这样的示例,音频会话管理器可以被配置成根据下文详细描述的方法来确定音频设备位置、人的位置和人的取向。在一些实施方式中,如果表1中的信息变化,则音频会话管理器将发送对应的命令/控制信号到正在为路由801渲染来自媒体流的音频的设备,并且将更新如经由表1所描绘的存储器结构。
图9A表示采用编排语言的路由发起请求的上下文无关语法的示例。在一些示例中,图9A可以表示针对路由的从应用到CHASM的请求的语法。例如,路由发起请求可以根据用户例如通过选择蜂窝电话上与应用相对应的图标、经由语音命令等选择了应用并且与应用交互而被触发。
在该示例中,元素901与元素902A、902B、902C和902D结合,允许定义路由源。在该示例中,如元素902A、902B、902C和902D所描绘的,路由源可以是或可以包括一个或多个人、服务和音频环境位置。例如,服务可以是基于云的媒体流式传输服务、提供来自外部门铃或来自与门铃相关联的音频设备的音频馈送的家庭服务等。在一些实施方式中,可以根据URL(例如,Spotify的URL)、服务名称、我房子门铃的IP地址等来指定服务。在一些实施方式中,音频环境位置可以与下文描述的音频环境区相对应。在一些示例中,音频环境位置源可以与区中的一个或多个麦克风相对应。元素902D的逗号指示可以指定多于一个源。例如,路由请求可能指示“来自Roger、Michael的路由”或“来自Spotify的路由”或“来自厨房的路由”或“来自Roger和厨房的路由”等。
在该示例中,元素903与元素904A、904B、904C和904D结合,允许定义路由目的地。在该实施方式中,路由目的地可以是或可以包括一个或多个人、服务和音频环境位置。例如,路由请求可能指示“到David的路由”或“到厨房的路由”或“到屋后平台的路由”或“到Roger和厨房的路由”等。
在该示例中,每个路由只能选择一种连接模式。根据该实施方式,连接模式选项是同步的、调度的或事务的。然而,在一些实施方式中,每个路由可以选择多于一种连接模式。例如,在一些这样的实施方式中,路由发起请求可以指示路由可以是调度的和事务的两者。例如,路由发起请求可以指示消息应该在预定的时间传递给David并且David应该回复消息。尽管图9A中未示出,但在一些实施方式中,特定消息可以包括在路由发起请求中,例如,预先记录的消息。
在该示例中,音频会话目标被称为“特质”。根据该示例,可以经由质量907和一个或多个特质908A的组合在路由发起请求中指示一个或多个音频会话目标。逗号908B指示,根据该示例,可以指定一个或多个特质。然而,在替代性实施方式中,在路由发起请求中可以仅指示一个音频会话目标。
图9B提供了音频会话目标的示例。根据该示例,“特质”列表908A允许指定一种或多种重要质量。在一些实施方式中,路由发起请求可以指定例如,降序排列的多于一个特质。例如,路由发起请求可以指定(质量=可懂度,空间保真度),这意味着可懂度是最重要的特质,其次是空间保真度。路由发起请求可以指定(质量=可听度),这意味着唯一的音频会话目标是人们能够听到例如警报。
路由发起请求可以指定(质量=不可听度),这意味着唯一的音频会话目标是让被指定为路由目的地的人(例如,婴儿)听不到在音频环境中再现的音频。这是“不要吵醒婴儿”实施方式的路由发起请求的示例。
在另一个示例中,路由发起请求可以指定(质量=可听度,隐私性)。例如,这可以意指主要音频会话目标是让被指定为路由目的地的人听到传递的音频,但次要音频会话目标是限制其他人例如,在机密电话对话期间可以听到根据路由传递和/或交换的音频的程度。如本文中别处,后一个音频会话目标可以通过在路由目的地与音频环境中的一个或多个其他人之间再现白噪声或其他掩蔽噪声、增加在音频环境中的一个或多个其他人附近再现的其他音频的音量等来实现。
现在返回图9A,在该示例中,路由发起请求可以经由元素909和910指定优先级。在一些示例中,可以经由有限数量的整数(例如,3、4、5、6、7、8、9、10等)中的整数来指示优先级。在一些示例中,1可以指示最高优先级。
根据该示例,路由发起请求可以任选地经由元素911指定确认。例如,路由发起请求可以指示“告诉Michael Richard说晚餐准备好了并且得到确认”。在一些示例中,作为响应,音频会话管理器可能会尝试确定Michael的位置。例如,CHASM可以推断出Michael在车库里,因为那里是最后一次检测到Michael的语音的地方。因此,音频会话管理器可以使通知“晚餐准备好了;请确认您听到了该消息”将经由车库中的一个或多个扩音器播放。如果Michael响应,则音频会话管理器可以使响应报告/重播给Richard。如果(例如,十秒后)Michael没有对车库通知做出响应,则音频会话管理器可以使通知在Michael的第二个最可能的位置进行,例如,Michael花费大量时间的地方或者在先前的车库话语之前听到Michael的最后一个地方。假设那个地方是Michael的卧室。如果(例如,十秒后)Michael没有对Michael卧室中的通知做出响应,则音频会话管理器可以使环境的许多扩音器播放通知,但会受到其他限制,如“不要吵醒婴儿”。
图10示出了用于根据一个示例的修改路由的请求的流程。例如,路由修正请求可以由应用传输并且由音频会话管理器接收。例如,可以根据用户已经选择应用并且与应用交互来触发路由修正请求。
在该示例中,ID 1002是指音频会话管理器先前响应于路由发起请求而提供给app的持续性唯一音频会话编号或代码。根据该示例,可以经由元素1003和元素1004A、1004B或1004C进行连接模式变化。替代性地,如果不期望连接模式变化,则可以绕过元素1004A、1004B和1004C。
根据该示例,可以经由元素1005、1006A和1006B改变一个或多个音频会话目标。替代性地,如果不期望音频会话目标变化,则可以绕过元素1005、1006A和1006B。
在该示例中,可以经由元素1007和1008改变路由优先级。替代性地,如果不期望路由优先级变化,则可以绕过元素1007和1008。
根据该示例,元素1009或元素1011可以用于做出确认要求变化。例如,元素1009指示如果先前不需要对路由进行确认,则可以添加确认。相反,元素1011指示如果先前需要对路由进行确认,则可以移除确认。元素1010的分号指示修改路由的请求结束。
图11A和图11B示出了用于修改路由的请求的流程的附加示例。图11C示出了用于删除路由的流程的示例。例如,路由修改或删除请求可以由应用传输并且由音频会话管理器接收。例如,可以根据用户已经选择应用并且与应用交互来触发路由修正请求。在图11A和图11B中,“宿(sink)”是指路由目的地。与本文中公开的其他流程图一样,图11A至图11C中示出的操作不必以所指示的顺序来执行。例如,在一些实施方式中,可以在流程中较早地(例如,在流程的开始)指定路由ID。
图11A示出了用于添加源或目的地的流程1100A。在一些实例中,可以添加一个或多个源或目的地。在该示例中,可以经由元素1101和1102A添加路由源。根据该示例,可以经由元素1101和1102B添加路由目的地。在该示例中,为其添加路由源或目的地的路由经由元素1103和1104来指示。根据该示例,可以经由元素1105A将人添加为源或目的地。在该示例中,可以经由元素1105B将服务添加为源或目的地。根据该示例,可以经由元素1105C将位置添加为源或目的地。元素1106指示用于添加一个或多个源或目的地的流程的结束。
图11B示出了用于移除源或目的地的流程1100B。在一些实例中,可以移除一个或多个源或目的地。在该示例中,可以经由元素1107和1108A移除路由源。根据该示例,可以经由元素1107和1108B移除路由目的地。在该示例中,为其移除路由源或目的地的路由经由元素1109和1110来指示。根据该示例,可以经由元素1111A将人作为源或目的地而移除。在该示例中,可以经由元素1111B将服务作为源或目的地而移除。根据该示例,可以经由元素1111C将位置作为源或目的地而移除。元素1112指示用于移除一个或多个源或目的地的流程的结束。
图11C示出了用于删除路由的流程。此处,元素1113指示删除。经由元素1114指定的路由ID指示要删除的路由。元素1115指示用于移除一个或多个源或目的地的流程的结束。
图12是包括根据一些实施方式的音频会话管理方法的框的流程图。根据该示例,方法1200是用于具有多个音频设备的音频环境的音频会话管理方法。与本文所描述的其他方法一样,不必以所指示的顺序来执行方法1200的框。在一些实施方式中,方法1200的一个或多个框可以同时执行。此外,方法1200的一些实施方式可以包括比所示出和/或所描述的框更多或更少的框。方法1200的框可以由一个或多个设备执行,设备可以是(或可以包括)控制系统,如图6中示出的和下文描述的控制系统610,或者其他公开的控制系统示例之一。
在该示例中,框1205涉及从实施第一应用的第一设备并且由实施音频会话管理器(例如,CHASM)的设备接收用于发起针对第一音频会话的第一路由的第一路由发起请求。根据该示例,第一路由发起请求指示第一音频源和第一音频环境目的地。此处,第一音频环境目的地与音频环境中的至少第一人相对应。然而,在该示例中,第一音频环境目的地不指示音频设备。
根据一些示例,第一路由发起请求可以将音频环境的至少第一区域指示为第一路由源或第一路由目的地。在一些实例中,第一路由发起请求可以将至少第一服务指示为第一音频源。
在该实施方式中,框1210涉及由实施音频会话管理器的设备建立与第一路由发起请求相对应的第一路由。在该示例中,建立第一路由涉及确定音频环境中至少第一人的第一位置、针对第一音频会话的第一阶段确定至少一个音频设备以及发起或调度第一音频会话。
根据一些示例,第一路由发起请求可以包括第一音频会话优先级。在一些实例中,第一路由发起请求可以包括第一连接模式。例如,第一连接模式可以是同步连接模式、事务连接模式或调度连接模式。在一些示例中,第一路由发起请求可以指示多于一个连接模式。
在一些实施方式中,第一路由发起请求可以包括是否需要来自至少第一人的确认的指示。在一些示例中,第一路由发起请求可以包括第一音频会话目标。例如,第一音频会话目标可以包括可懂度、音频质量、空间保真度和/或不可听度。
如本文中别处,在一些实施方式中,路由可以具有相关联的音频会话标识符,在一些实施方式中,音频会话标识符可以是持续性唯一音频会话标识符。因此,方法1200的一些实施方式可以涉及(例如,由音频会话管理器)确定针对第一路由的第一持续性唯一音频会话标识符,以及将第一持续性唯一音频会话标识符传输到第一设备(正在执行第一应用的设备)。
在一些实施方式中,建立第一路由可以包括使环境中的至少一个设备建立与第一路由相对应的至少第一媒体流,第一媒体流包括第一音频信号。方法1200的一些实施方式可以涉及使第一音频信号被渲染为第一经渲染的音频信号。在一些示例中,方法1200可以涉及音频会话管理器使音频环境的另一个设备将第一音频信号渲染为第一经渲染的音频信号。然而,在一些实施方式中,音频会话管理器可以被配置成接收第一音频信号并且将第一音频信号渲染为第一经渲染的音频信号。
如本文中别处,在一些实施方式中,音频会话管理器(例如,CHASM)可以监测音频环境的条件,如音频环境中一个或多个人的位置和/或取向、音频环境中音频设备的位置等。例如,对于“不要吵醒婴儿”用例,音频会话管理器(例如,图7的优化器702)可以确定或至少估计婴儿在何处。音频会话管理器可以知道婴儿在何处,因为来自用户的明确陈述以“编排语言”从相关联的应用传输(例如,“不要吵醒婴儿。婴儿在卧室1里。”)。替代性地或另外地,音频会话管理器可以基于先前的明确输入或基于对婴儿哭声的先前检测(例如,如下文所描述的)来确定婴儿在何处。在一些示例中,音频会话管理器可以(例如,经由“不可听度”音频会话目标)接收该约束并且可以例如通过确保婴儿位置处的声压级小于阈值分贝水平(例如,50dB)来实施该约束。
方法1200的一些示例可以涉及针对音频会话的第一阶段确定第一人的第一取向。根据一些这样的示例,使第一音频信号被渲染为第一经渲染的音频信号可以涉及确定与第一人的第一位置和第一取向相对应的第一参考空间模式,以及确定音频环境中的扩音器的与第一参考空间模式相对应的第一相对激活。下文描述了一些详细的示例。
在一些实例中,音频会话管理器可以确定第一人已经改变了位置和/或取向。方法1200的一些示例可以涉及确定第一人的第二位置或第二取向中的至少一项、确定与第二位置或第二取向中的至少一项相对应的第二参考空间模式、以及确定音频环境中的扩音器的与第二参考空间模式相对应的第二相对激活。
如在本公开中别处,在一些实例中,音频管理器的任务可以是一次建立并且实施多于一个路由。方法1200的一些示例可以涉及从实施第二应用的第二设备并且由实施音频会话管理器的设备接收用于发起针对第二音频会话的第二路由的第二路由发起请求。第一路由发起请求可以指示第二音频源和第二音频环境目的地。在一些示例中,第二音频环境目的地可以与音频环境中的至少第二人相对应。然而,在一些实例中,第二音频环境目的地可以不指示与第二路由相关联的任何特定音频设备。
方法1200的一些这样的示例可以涉及由实施音频会话管理器的设备建立与第二路由发起请求相对应的第二路由。在一些实例中,建立第二路由可以涉及确定音频环境中至少第二人的第一位置、针对第二音频会话的第一阶段确定至少一个音频设备以及发起第二音频会话。
根据一些示例,建立第二路由可以包括建立与第二路由相对应的至少第二媒体流。第二媒体流可以包括第二音频信号。方法1200的一些这样的示例可以涉及使第二音频信号被渲染为第二经渲染的音频信号。
方法1200的一些示例可以涉及至少部分地基于第二音频信号、第二经渲染的音频信号或其特性中的至少一项来修正针对第一音频信号的渲染过程,以产生经修正的第一经渲染的音频信号。例如,修正针对第一音频信号的渲染过程可以涉及将第一音频信号的渲染扭曲远离第二经渲染的音频信号的渲染位置。替代性地或另外地,修正针对第一音频信号的渲染过程可以涉及响应于第二音频信号或第二经渲染的音频信号中的一个或多个的响度而修正第一经渲染的音频信号中的一个或多个的响度。
图13是包括根据一些实施方式的音频会话管理方法的框的流程图。根据该示例,方法1300是用于具有多个音频设备的音频环境的音频会话管理方法。与本文所描述的其他方法一样,不必以所指示的顺序来执行方法1300的框。在一些实施方式中,方法1300的一个或多个框可以同时执行。此外,方法1300的一些实施方式可以包括比所示出和/或所描述的框更多或更少的框。方法1300的框可以由一个或多个设备执行,设备可以是(或可以包括)控制系统,如图6中示出的和下文描述的控制系统610,或者其他公开的控制系统示例之一。
在该示例中,框1305涉及从实施第一应用的第一设备并且由实施音频会话管理器(例如,CHASM)的设备接收用于发起针对第一音频会话的第一路由的第一路由发起请求。根据该示例,第一路由发起请求指示第一音频源和第一音频环境目的地。此处,第一音频环境目的地与音频环境的至少第一区域相对应。然而,在该示例中,第一音频环境目的地不指示音频设备。
根据一些示例,第一路由发起请求可以将音频环境中的至少第一人指示为第一路由源或第一路由目的地。在一些实例中,第一路由发起请求可以将至少第一服务指示为第一音频源。
在该实施方式中,框1310涉及由实施音频会话管理器的设备建立与第一路由发起请求相对应的第一路由。在该示例中,建立第一路由涉及针对第一音频会话的第一阶段确定音频环境的第一区域中的至少一个音频设备,以及发起或调度第一音频会话。
根据一些示例,第一路由发起请求可以包括第一音频会话优先级。在一些实例中,第一路由发起请求可以包括第一连接模式。例如,第一连接模式可以是同步连接模式、事务连接模式或调度连接模式。在一些示例中,第一路由发起请求可以指示多于一个连接模式。
在一些实施方式中,第一路由发起请求可以包括是否需要来自至少第一人的确认的指示。在一些示例中,第一路由发起请求可以包括第一音频会话目标。例如,第一音频会话目标可以包括可懂度、音频质量、空间保真度和/或不可听度。
方法1300的一些实施方式可以涉及(例如,由音频会话管理器)确定针对第一路由的第一持续性唯一音频会话标识符,以及将第一持续性唯一音频会话标识符传输到第一设备(正在执行第一应用的设备)。
在一些实施方式中,建立第一路由可以包括使环境中的至少一个设备建立与第一路由相对应的至少第一媒体流,第一媒体流包括第一音频信号。方法1300的一些实施方式可以涉及使第一音频信号被渲染为第一经渲染的音频信号。在一些示例中,方法1300可以涉及音频会话管理器使音频环境的另一个设备将第一音频信号渲染为第一经渲染的音频信号。然而,在一些实施方式中,音频会话管理器可以被配置成接收第一音频信号并且将第一音频信号渲染为第一经渲染的音频信号。
如本文中别处,在一些实施方式中,音频会话管理器(例如,CHASM)可以监测音频环境的条件,如音频环境中一个或多个音频设备的位置。
方法1300的一些示例可以涉及执行在第一时间自动确定多个音频设备中的每个音频设备在音频环境的第一区域中的第一位置的第一扩音器自动定位过程。在一些这样的示例中,渲染过程可以至少部分地基于每个音频设备的第一位置。一些这样的示例可以涉及将每个音频设备的第一位置存储在与第一路由相关联的数据结构中。
在一些实例中,音频会话管理器可以确定第一区域中的至少一个音频设备具有变化的位置。一些这样的示例可以涉及执行自动确定变化的位置的第二扩音器自动定位过程,以及至少部分地基于变化的位置来更新渲染过程。一些这样的实施方式可以涉及将变化的位置存储在与第一路由相关联的数据结构中。
在一些实例中,音频会话管理器可以确定至少一个附加音频设备已被移动到第一区域。一些这样的示例可以涉及执行自动确定附加音频设备的附加音频设备位置的第二扩音器自动定位过程,以及至少部分地基于附加音频设备位置来更新渲染过程。一些这样的实施方式可以涉及将附加音频设备位置存储在与第一路由相关联的数据结构中。
如本文中别处,在一些示例中,第一路由发起请求可以将至少第一人指示为第一路由源或第一路由目的地。方法1300的一些示例可以涉及针对音频会话的第一阶段确定第一人的第一取向。根据一些这样的示例,使第一音频信号被渲染为第一经渲染的音频信号可以涉及确定与第一人的第一位置和第一取向相对应的第一参考空间模式,以及确定音频环境中的扩音器的与第一参考空间模式相对应的第一相对激活。下文描述了一些详细的示例。
在一些实例中,音频会话管理器可以确定第一人已经改变了位置和/或取向。方法1300的一些示例可以涉及确定第一人的第二位置或第二取向中的至少一项、确定与第二位置或第二取向中的至少一项相对应的第二参考空间模式、以及确定音频环境中的扩音器的与第二参考空间模式相对应的第二相对激活。
如在本公开中别处,在一些实例中,音频管理器的任务可以是一次建立并且实施多于一个路由。方法1300的一些示例可以涉及从实施第二应用的第二设备并且由实施音频会话管理器的设备接收用于发起针对第二音频会话的第二路由的第二路由发起请求。第一路由发起请求可以指示第二音频源和第二音频环境目的地。在一些示例中,第二音频环境目的地可以与音频环境中的至少第二人相对应。然而,在一些实例中,第二音频环境目的地可以不指示与第二路由相关联的任何特定音频设备。
方法1300的一些这样的示例可以涉及由实施音频会话管理器的设备建立与第二路由发起请求相对应的第二路由。在一些实例中,建立第二路由可以涉及确定音频环境中至少第二人的第一位置、针对第二音频会话的第一阶段确定至少一个音频设备以及发起第二音频会话。
根据一些示例,建立第二路由可以包括建立与第二路由相对应的至少第二媒体流。第二媒体流可以包括第二音频信号。方法1300的一些这样的示例可以涉及使第二音频信号被渲染为第二经渲染的音频信号。
方法1300的一些示例可以涉及至少部分地基于第二音频信号、第二经渲染的音频信号或其特性中的至少一项来修正针对第一音频信号的渲染过程,以产生经修正的第一经渲染的音频信号。例如,修正针对第一音频信号的渲染过程可以涉及将第一音频信号的渲染扭曲远离第二经渲染的音频信号的渲染位置。替代性地或另外地,修正针对第一音频信号的渲染过程可以涉及响应于第二音频信号或第二经渲染的音频信号中的一个或多个的响度而修正第一经渲染的音频信号中的一个或多个的响度。
图14是包括根据一些实施方式的音频会话管理方法的框的流程图。根据该示例,方法1400是用于具有多个音频设备的音频环境的音频会话管理方法。与本文所描述的其他方法一样,不必以所指示的顺序来执行方法1400的框。在一些实施方式中,方法1400的一个或多个框可以同时执行。此外,方法1400的一些实施方式可以包括比所示出和/或所描述的框更多或更少的框。方法1400的框可以由一个或多个设备执行,设备可以是(或可以包括)控制系统,如图6中示出的和下文描述的控制系统610,或者其他公开的控制系统示例之一。
在该示例中,在框1405中,图4的应用410使用编排语言来指示CHASM 401。例如,框1405可以涉及应用410向CHASM 401发送路由发起请求或路由修正请求。
根据该示例,CHASM 401响应于从应用410接收的指令确定最佳媒体引擎控制信息。在该示例中,最佳媒体引擎控制信息至少部分地基于收听者在音频环境内的位置、音频环境内的音频设备可用性以及来自应用410的指令中指示的音频会话优先级。在一些实例中,最优媒体引擎控制信息可以至少部分地基于由CHASM 401例如,经由(多个)相关音频设备共享的设备性质描述符确定的媒体引擎能力。根据一些示例,最佳媒体引擎控制信息可以至少部分地基于收听者的取向。
在该实例中,框415涉及将控制信息发送到一个或多个音频设备媒体引擎。控制信息可以与上文参考图5描述的音频会话管理控制信号相对应。
根据该示例,框1420表示音频环境内的CHASM 401监测条件,以及来自应用410的关于该特定路由的可能的进一步通信,以确定是否存在任何重大变化,如路由优先级的变化、(多个)音频设备位置的变化、收听者的位置的变化等。如果存在,则过程返回到框1410并且根据(多个)新参数执行框1410的过程。如果不存在,则CHASM 401继续框1420的监测过程。
图15是包括根据一些实施方式的针对新引入到音频环境的一个或多个音频设备的自动设置过程的框的流程图。在该示例中,一些或所有音频设备是新的。与本文所描述的其他方法一样,不必以所指示的顺序来执行方法1500的框。在一些实施方式中,方法1500的一个或多个框可以同时执行。此外,方法1500的一些实施方式可以包括比所示出和/或所描述的框更多或更少的框。方法1500的框可以由一个或多个设备执行,设备可以是(或可以包括)控制系统,如图6中示出的和下文描述的控制系统610,或者其他公开的控制系统示例之一。
在该示例中,在框1505中将新音频设备拆开并且上电。在框1510的示例中,每个新音频设备进入发现模式以搜索其他音频设备,并且具体地搜索音频环境的CHASM。如果发现现有CHASM,则新音频设备可以被配置成与CHASM通信,以与CHASM共享有关每个新音频设备的能力的信息等。
然而,根据该示例,没有发现现有CHASM。因此,在框1510的该示例中,新音频设备之一将其自身配置为CHASM。在该示例中,具有最可用计算能力和/或最大连接的新音频设备会将其自身配置为新的CHASM 401。
在该示例中,在框1515中,新的非CHASM音频设备均与另一个新音频设备(即新指定的CHASM 401)进行通信。根据该示例,新CHASM 401启动“设置”应用,应用在该示例中为图4的应用412。在该实例中,设置应用412被配置成例如,经由音频和/或视觉提示与用户交互,以指导用户完成设置过程。
根据该示例,在框1520中,设置应用412以编排语言向CHASM 401发送指令,指示“设置所有新设备”并且具有最高优先级水平。
在该示例中,在框1525中,CHASM 401解释来自设置应用412的指令并且确定需要新的声学映射校准。根据该示例,声学映射过程在框1525中开始并且在框1530中经由CHASM401与新的非CHASM音频设备的媒体引擎之间的通信完成,在该实例中,新的非CHASM音频设备是图4的媒体引擎440、441和442。如本文所使用的,术语“声学映射”包括对音频环境中所有可发现的扩音器位置的估计。例如,声学映射过程可以涉及扩音器自动定位过程,如下文详细描述的那些扩音器自动定位过程。在一些实例中,声学映射过程可以涉及发现扩音器能力信息和/或单个扩音器动态处理信息的过程。
根据该示例,在框1535中,CHASM 401将设置过程已经完成的确认发送到应用412。在该示例中,在框1540中,应用412向用户指示设置过程已经完成。
图16是包括根据一些实施方式的安装虚拟助理应用的过程的框的流程图。在一些实例中,方法1700可以在方法1500的设置过程之后执行。在该示例中,方法1600涉及在图4中示出的音频环境的上下文中安装虚拟助理应用。与本文所描述的其他方法一样,不必以所指示的顺序来执行方法1600的框。在一些实施方式中,方法1600的一个或多个框可以同时执行。此外,方法1600的一些实施方式可以包括比所示出和/或所描述的框更多或更少的框。方法1600的框可以由一个或多个设备执行,设备可以是(或可以包括)控制系统,如图6中示出的和下文描述的控制系统610,或者其他公开的控制系统示例之一。
在该示例中,在框1605中,用户安装被称为“虚拟辅助联络员”或VAL的新应用411。根据一些示例,框1605可以涉及经由因特网从一个或多个服务器将应用411下载到如蜂窝电话等音频设备。
根据该实施方式,在框1610中,应用411以编排语言指示CHASM 401以最高优先级并且作为持续音频会话连续收听新唤醒词“嘿Val”。在该示例中,在框1615中,CHASM 401解释来自应用411的指令,并且指示媒体引擎440、441和442配置其唤醒词检测器以收听唤醒词“嘿Val”并且无论何时检测到唤醒词“嘿Val”时,都向CHASM 401发出回呼。在该实施方式中,在框1620中,媒体引擎440、441和442继续收听唤醒词。
在该示例中,在框1625中,CHASM 401从媒体引擎440和441接收回呼,指示已经检测到唤醒词“嘿Val”。作为响应,CHASM 401指示媒体引擎440、441和442在最初检测到唤醒词之后的阈值时间间隔(在该示例中为5秒)期间收听命令,并且如果检测到命令,则在检测到命令的区域中“躲避”或降低音频音量。
根据该示例,在框1630中,媒体引擎440、441和442都检测命令并且将与检测到的命令相对应的言语音频数据和概率发送到CHASM 401。在该示例中,在框1630中,CHASM 401将与检测到的命令相对应的言语音频数据和概率转发到应用411。
在该实施方式中,在框1635中,应用411接收与检测到的命令相对应的言语音频数据和概率,并且将这些数据转发到基于云的言语识别应用进行处理。在该示例中,在框1635中,基于云的言语识别应用将言语识别过程的结果发送到应用411,在该示例中,结果包括与命令相对应的一个或多个词。此处,在框1635中,应用411以编排语言指示CHASM 401结束言语识别会话。根据该示例,CHASM 401指示媒体引擎440、441和442停止收听命令。
图17是包括根据一些实施方式的音频会话管理方法的框的流程图。根据该示例,方法1700是用于在图4的音频环境中实施音乐应用的音频会话管理方法。在一些实例中,方法1700可以在方法1500的设置过程之后执行。在一些示例中,方法1700可以在上文参考图16描述的用于安装虚拟助理应用的过程之前或之后执行。与本文所描述的其他方法一样,不必以所指示的顺序来执行方法1700的框。在一些实施方式中,方法1700的一个或多个框可以同时执行。此外,方法1700的一些实施方式可以包括比所示出和/或所描述的框更多或更少的框。方法1700的框可以由一个或多个设备执行,设备可以是(或可以包括)控制系统,如图6中示出的和下文描述的控制系统610,或者其他公开的控制系统示例之一。
在该示例中,在框1705中,用户向在音频环境中的设备上运行的音乐应用提供输入。在该实例中,音乐应用是图4的应用410。根据该示例,应用410在智能电话上运行并且输入是经由智能电话的用户界面(如触摸和/或手势传感器系统)提供的。
根据该示例,在框1710中,应用410在该示例中经由采用编排语言的路由发起请求来指示CHASM 401发起从基于云的音乐服务到经由智能电话与应用410交互的用户的路由。在该示例中,路由发起请求指示同步模式和具有最高音乐再现质量的音频会话目标,不请求确认并且优先级为4,使用用户的当前最喜欢的基于云的音乐服务的播放列表。
在该示例中,在框1715中,CHASM 401根据在框1710中接收的指令来确定路由中将涉及音频环境的哪些音频设备。确定可以至少部分地基于先前确定的音频环境的声学映射、基于哪些音频设备当前可用、基于可用音频设备的能力以及基于估计的用户当前位置。在一些示例中,框1715的确定可以至少部分地基于估计的用户当前取向。在一些实施方式中,也可以在框1715中选择标称的或初始的收听水平。水平可以至少部分地基于估计的用户与一个或多个音频设备的接近度、用户的区域中的环境噪声水平等。
根据该示例,在框1720中,CHASM 401将控制信息发送到在该示例中为媒体引擎441的所选音频设备媒体引擎,以获得与由应用410请求的路由相对应的媒体比特流。在该示例中,CHASM 401向媒体引擎441提供基于云的音乐提供商的HTTP地址,例如,由基于云的音乐提供商托管的特定服务器的HTTP地址。根据该实施方式,在框1725中,媒体引擎441从基于云的音乐提供商(在该示例中,从一个或多个分配的服务器位置)获得媒体比特流。
在该示例中,框1730涉及回放与在框1725中获得的媒体流相对应的音乐。根据该示例,CHASM 401已经确定至少扩音器461,并且在一些示例中,还有扩音器460和/或扩音器462,涉及音乐的回放。在一些这样的示例中,CHASM 401已经将指令提供给媒体引擎441以渲染来自媒体流的音频数据并且将经渲染的扬声器馈送信号提供给媒体引擎440和/或媒体引擎442。
图18A是实施例的最小版本的框图。描绘了N个节目流(N≥2),其中第一个明确标记为空间,其对应的音频信号集合馈送通过对应的渲染器,渲染器各自单独被配置用于通过一组公共的M个任意间隔开的扩音器(M≥2)来回放其对应的节目流。渲染器在本文中也可以被称为“渲染模块”。渲染模块和混音器1830a可以经由软件、硬件、固件或其某种组合来实施。在该示例中,渲染模块和混音器1830a经由控制系统610a实施,控制系统是上文参考图6描述的控制系统610的实例。根据一些实施方式,渲染模块和混音器1830a的功能可以至少部分地根据来自实施本文中所谓的音频会话管理器(例如,CHASM)的设备的指令来实施。在一些这样的示例中,渲染模块和混音器1830a的功能可以至少部分地根据来自上文参考图2C、图2D、图3C和图4描述的CHASM 208C、CHASM 208D、CHASM 307和/或CHASM 401的指令来实施。在替代性示例中,实施音频会话管理器的设备也可以实施渲染模块和混音器1830a的功能。
在图18A中示出的示例中,N个渲染器中的每一个输出跨所有N个渲染器相加的一组M个扩音器馈送,用于在M个扩音器上同时回放。根据该实施方式,将有关收听环境内M个扩音器的布局的信息提供给所有渲染器,由从扩音器框馈送返回的虚线指示,以便渲染器可以正确地被配置用于通过扬声器进行回放。该布局信息可以从或可以不从一个或多个扬声器本身发送,取决于特定实施方式。根据一些示例,布局信息可以由被配置用于确定M个扩音器中的每一个在收听环境中的相对位置的一个或多个智能扬声器提供。一些这样的自动定位方法可以基于到达方向(DOA)方法或到达时间(TOA)方法。在其他示例中,该布局信息可以由另一个设备确定和/或由用户输入。在一些示例中,可以将关于收听环境内M个扩音器中的至少一些扩音器的能力的扩音器规格信息提供给所有渲染器。这种扩音器规格信息可以包括阻抗、频率响应、灵敏度、额定功率、单独驱动器的数量和位置等。根据该示例,来自附加节目流中的一个或多个附加节目流的渲染的信息被馈送到主要空间流的渲染器中,使得可以根据信息动态地修正渲染。该信息由从渲染框2到渲染框N向上回到渲染框1的虚线表示。
图18B描绘了具有附加特征的另一个(更有能力的)实施例。在该示例中,渲染模块和混音器1830b经由控制系统610b实施,控制系统是上文参考图6描述的控制系统610的实例。根据一些实施方式,渲染模块和混音器1830b的功能可以至少部分地根据来自实施本文中所谓的音频会话管理器(例如,CHASM)的设备的指令来实施。在一些这样的示例中,渲染模块和混音器1830b的功能可以至少部分地根据来自上文参考图2C、图2D、图3C和图4描述的CHASM 208C、CHASM 208D、CHASM 307和/或CHASM 401的指令来实施。在替代性示例中,实施音频会话管理器的设备也可以实施渲染模块和混音器1830b的功能。
在图18B中,在所有N个渲染器之间上下行进的虚线表示N个渲染器中的任何一个都可以有助于剩余N-1个渲染器中的任何一个的动态修正的想法。换句话说,N个节目流中的任何一个节目流的渲染可以根据剩余N-1个节目流中的任何一个的一个或多个渲染的组合而动态地修正。另外地,节目流中的任何一个或多个节目流可以是空间混音,并且任何节目流的渲染,无论它是否是空间的,都可以根据其他节目流中的任何节目流来动态修正。例如,如上,可以将扩音器布局信息提供给N个渲染器。在一些示例中,可以将扩音器规格信息提供给N个渲染器。在一些实施方式中,麦克风系统620a可以在收听环境内包括一组K个麦克风(K≥1)。在一些示例中,(多个)麦克风可以附接到扩音器中的一个或多个扩音器或与其相关联。这些麦克风可以将其捕获的音频信号(由实线表示)和附加配置信息(例如,其位置)(由虚线表示)两者馈送回到一组N个渲染器中。N个渲染器中的任何渲染器可以然后根据该附加麦克风输入进行动态修正。本文中提供了各种示例。
从麦克风输入得到的并且随后用于动态修正N个渲染器中的任何渲染器的信息的示例包括但不限于:
·对系统用户的特定单词或短语话语的检测。
·对系统的一个或多个用户的位置的估计。
·对收听空间中特定位置处的N个节目流的组合中的任何节目流的响度的估计。
·对收听环境中其他环境声音(如背景噪声)的响度的估计。
图19是概述了可以由如图6、图18A或图18B中示出的装置或系统等装置或系统执行的方法的一个示例的流程图。与本文所描述的其他方法一样,不必以所指示的顺序来执行方法1900的框。而且,这种方法可以包括比所示出和/或所描述的框更多或更少的框。方法1900的框可以由一个或多个设备执行,设备可以是(或可以包括)控制系统,如图6、图18A和图18B中示出的和上文描述的控制系统610、控制系统610a或控制系统610b,或者其他公开的控制系统示例之一。根据一些实施方式,方法1900的框可以至少部分地根据来自实施本文中所谓的音频会话管理器(例如,CHASM)的设备的指令来执行。在一些这样的示例中,方法1900的框可以至少部分地根据来自上文参考图2C、图2D、图3C和图4描述的CHASM208C、CHASM 208D、CHASM 307和/或CHASM 401的指令来执行。在替代性示例中,实施音频会话管理器的设备也可以实施方法1900的框。
在该实施方式中,框1905涉及经由接口系统接收第一音频节目流。在该示例中,第一音频节目流包括被安排由环境的至少一些扬声器再现的第一音频信号。此处,第一音频节目流包括第一空间数据。根据该示例,第一空间数据包括声道数据和/或空间元数据。在一些示例中,框1905涉及经由接口系统接收第一音频节目流的控制系统的第一渲染模块。
根据该示例,框1910涉及渲染第一音频信号以经由环境的扬声器再现,从而产生第一经渲染的音频信号。例如,如上,方法1900的一些示例涉及接收扩音器布局信息。例如,如上,方法1900的一些示例涉及接收扩音器规格信息。在一些示例中,第一渲染模块可以至少部分地基于扩音器布局信息和/或扩音器规格信息产生第一经渲染的音频信号。
在该示例中,框1915涉及经由接口系统接收第二音频节目流。在该实施方式中,第二音频节目流包括被安排由环境的至少一些扬声器再现的第二音频信号。根据该示例,第二音频节目流包括第二空间数据。第二空间数据包括声道数据和/或空间元数据。在一些示例中,框1915涉及经由接口系统接收第二音频节目流的控制系统的第二渲染模块。
根据该实施方式,框1920涉及渲染第二音频信号以经由环境的扬声器再现,从而产生第二经渲染的音频信号。在一些示例中,第二渲染模块可以至少部分地基于接收到的扩音器布局信息和/或接收到的扩音器规格信息产生第二经渲染的音频信号。
在一些实例中,环境中的一些或所有扬声器可以任意地定位。例如,环境的至少一些扬声器可以放置在不对应于任何标准规定的扬声器布局(如杜比5.1、杜比7.1、滨崎22.2等)的位置。在一些这样的示例中,环境的至少一些扬声器可以放置在相对于环境的家具、墙等而言方便的位置(例如,在有空间容纳扬声器的位置),但不采用任何标准的规定的扬声器布局。
因此,一些实施方式框1910或框1920可以涉及灵活渲染到任意定位的扬声器。一些这样的实施方式可以涉及质心振幅平移(CMAP)、灵活虚拟化(FV)或两者的组合。从高水平来看,这两种技术渲染一组一个或多个音频信号,每个音频信号具有相关联的期望的感知空间位置,用于在一组两个或更多个扬声器上回放,其中,该组扬声器的相对激活是通过扬声器回放的音频信号的感知空间位置的模型以及音频信号的期望感知空间位置与扬声器位置的接近度的函数。模型确保收听者在其预期空间位置附近听到音频信号,并且接近度项控制使用哪些扬声器来实现该空间印象。具体地,接近度项有利于激活靠近音频信号的期望感知空间位置的扬声器。对于CMAP和FV两者,该函数关系可以方便地从成本函数中得到,成本函数写为两个项的和,一个项用于空间方面并且一个项用于接近度:
Figure BDA0003495664310000651
此处,集合
Figure BDA0003495664310000652
表示一组M个扩音器的位置,
Figure BDA0003495664310000653
表示音频信号的期望感知空间位置,并且g表示扬声器激活的M维矢量。对于CMAP,矢量中的每个激活表示每个扬声器的增益,而对于FV,每个激活表示滤波器(在第二种情况下,g可以等效地被视为特定频率处的复值的矢量,并且跨多个频率计算不同的g以形成滤波器)。激活的最佳矢量是通过跨激活最小化成本函数找到的:
Figure BDA0003495664310000654
在成本函数的某些定义下,很难控制由上述最小化产生的最佳激活的绝对水平,尽管gopt的分量之间的相对水平是适当的。为了解决该问题,可以执行gopt的后续归一化,以便控制激活的绝对水平。例如,可以期望将矢量归一化为具有单位长度,这符合常用的恒定功率平移规则:
Figure BDA0003495664310000661
灵活渲染算法的确切行为取决于成本函数的Cspatial和Cproximity这两个项的特定构建。对于CMAP,Cspatial是从模型得到的,模型将从一组扩音器播放的音频信号的感知空间位置放置在由扩音器的相关联的激活增益gi(矢量g的元素)加权的这些扩音器的位置的质心:
Figure BDA0003495664310000662
然后将等式3操纵成表示期望音频位置与由激活的扩音器产生的音频位置之间的平方误差的空间成本:
Figure BDA0003495664310000663
对于FV,成本函数的空间项被不同地定义。目标是在收听者的左耳和右耳处产生与音频对象位置
Figure BDA0003495664310000664
相对应的双耳响应b。概念上,b是滤波器的2×1矢量(每只耳朵一个滤波器),但更方便地将其视为特定频率下复值的2×1矢量。继续以特定频率进行该表示,可以按对象位置从一组HRTF索引中取得期望的双耳响应:
Figure BDA0003495664310000665
同时,由扩音器在收听者的耳朵处产生的2×1双耳响应e被建模为2×M声学传输矩阵H乘以复扬声器激活值的M×1矢量g:
e=Hg (6)
声学传输矩阵H是基于扩音器位置的集合
Figure BDA0003495664310000666
相对于收听者位置建模的。最后,成本函数的空间分量定义为期望的双耳响应(等式5)与扩音器产生的双耳响应(等式6)之间的平方误差:
Figure BDA0003495664310000667
方便地,等式4和7两者中定义的针对CMAP和FV的成本函数的空间项都可以重新布置为矩阵二次函数,作为扬声器激活g的函数:
Figure BDA0003495664310000668
其中,A是M×M方阵,B是1×M矢量,并且C是标量。矩阵A的秩为2,并且因此当M>2时,存在无限多个空间误差项等于零的扬声器激活g。引入成本函数的第二项Cproximity去除了该不确定性,并且产生了与其他可能的解相比具有感知上有益性质的特定解。对于CMAP和FV两者,Cproximity被构建成使得位置
Figure BDA0003495664310000671
远离期望的音频信号位置
Figure BDA0003495664310000672
的扬声器的激活比位置接近期望位置的扬声器的激活受到更多惩罚。该构建产生了稀疏的扬声器激活最佳集合,其中,仅接近期望的音频信号的位置的扬声器才会被显著激活,并且实际上导致音频信号的空间再现,这对于在一组扬声器周围的收听者移动在感知上更加稳健。
为此,成本函数的第二项Cproximity可以定义为扬声器激活的绝对值平方的距离加权和。这以矩阵形式简洁地表示为:
Figure BDA0003495664310000673
其中,D是期望的音频位置与每个扬声器之间距离惩罚的对角矩阵:
Figure BDA0003495664310000674
距离惩罚函数可以采取许多形式,但以下是有用的参数化
Figure BDA0003495664310000675
其中,
Figure BDA0003495664310000676
是期望的音频位置与扬声器位置之间的欧几里得距离,并且α和β是可调参数。参数α指示惩罚的全局强度;d0与距离惩罚的空间范围相对应(在大约d0距离处或更远的扩音器将受到惩罚),并且β解释了在距离d0处惩罚起始的突然性。
将等式8和9a中定义的成本函数的两个项相结合,得出总体成本函数
C(g)=g*Ag+Bg+C+g*Dg=g*(A+D)g+Bg+C (10)
将该成本函数关于g的导数设置为零并且求解g产生最佳扬声器激活解:
Figure BDA0003495664310000677
通常,等式11中的最佳解可以产生值为负的扬声器激活。对于灵活渲染器的CMAP构建,这样的负激活可能是不期望的,并且因此等式(11)可以在所有激活保持为正的情况下最小化。
将灵活渲染方法(根据一些实施例实施)与一组无线智能扬声器(或其他智能音频设备)配对可以产生非常有能力并且易于使用的空间音频渲染系统。在考虑与这种系统的交互时,显然期望对空间渲染进行动态修正,以便针对在系统使用期间可能出现的其他目标进行优化。为了实现该目标,一类实施例增强了现有的灵活渲染算法(其中扬声器激活是先前公开的空间项和接近度项的函数),具有一个或多个附加的动态可配置功能,动态可配置功能取决于正在渲染的音频信号、扬声器组和/或其他外部输入的一个或多个属性。根据一些实施例,等式1中给出的现有灵活渲染的成本函数根据以下等式增加了这些一个或多个附加依赖项
Figure BDA0003495664310000681
在等式12中,项
Figure BDA0003495664310000682
表示附加成本项,并且
Figure BDA0003495664310000683
表示正在渲染的音频信号(例如,基于对象的音频节目)的一组一个或多个性质,
Figure BDA0003495664310000684
表示正在渲染音频的扬声器的一组一个或多个性质,并且
Figure BDA0003495664310000685
表示一个或多个附加外部输入。每个项
Figure BDA0003495664310000686
返回成本作为与音频信号、扬声器和/或外部输入的一个或多个属性的组合相关的激活g的函数,一般由集合
Figure BDA0003495664310000687
表示。应当理解,集合
Figure BDA0003495664310000688
至少包含来自
Figure BDA0003495664310000689
Figure BDA00034956643100006810
中的任何一个的一个元素。
Figure BDA00034956643100006811
的示例包括但不限于:
·音频信号的期望的感知空间位置;
·音频信号的水平(可能随时间变化);和/或
·音频信号的频谱(可能随时间变化)。
Figure BDA00034956643100006812
的示例包括但不限于:
·扩音器在收听空间中的位置;
·扩音器的频率响应;
·扩音器的回放水平限制;
·扬声器内部动态处理算法的参数,如限制器增益;
·从每个扬声器到其他扬声器的声学传输的测量或估计;
·扬声器上回声消除器性能的测量;和/或
·扬声器关于彼此的相对同步。
Figure BDA0003495664310000691
的示例包括但不限于:
·回放空间中一个或多个收听者或说话者的位置;
·从每个扩音器到收听位置的声学传输的测量或估计;
·从说话者到一组扩音器的声学传输的测量或估计;
·回放空间中其他一些地标的位置;和/或
·从每个扬声器到回放空间中一些其他地标的声学传输的测量或估计;
使用等式12中定义的新成本函数,可以通过如先前在等式2a和2b中指定的关于g的最小化和可能的后归一化来找到最佳组激活。
与等式9a和9b中定义的接近度成本类似,将每个新的成本函数项
Figure BDA0003495664310000692
表达为扬声器激活的绝对值平方的加权和也是方便的:
Figure BDA0003495664310000693
其中,Wj是权重
Figure BDA0003495664310000694
的对角矩阵,描述与激活扬声器i相关联的成本j:
Figure BDA0003495664310000695
将等式13a和b与等式10中给出的CMAP和FV成本函数的矩阵二次版本相结合,产生等式12中给出的(一些实施例的)通用扩展成本函数的潜在有益实施方式:
C(g)=g*Ag+Bg+C+g*Dg+∑jg*Wjg=g*(A+D+∑jWj)g+Bg+C (14)
有了新成本函数项的该定义,总体成本函数仍然是矩阵二次的,并且可以通过等式14的微分找到最佳组激活gopt以产生
Figure BDA0003495664310000696
将权重项wij中的每一个视为扩音器中的每一个的给定连续惩罚值
Figure BDA0003495664310000697
的函数是有用的。在一个示例实施例中,该惩罚值是从(将被渲染的)对象到所考虑的扩音器的距离。在另一个示例实施例中,该惩罚值表示给定扩音器无法再现一些频率。基于该惩罚值,权重项wij可以参数化为:
Figure BDA0003495664310000698
其中,αj表示前置因子(其考虑了权重项的全局强度),其中,τj表示惩罚阈值(约为或超过惩罚阈值,权重项变得显著),并且其中,fj(x)表示单调增加函数。例如,有了
Figure BDA0003495664310000701
权重项具有以下形式:
Figure BDA0003495664310000702
其中,αj、βj、τj是可调参数,其分别指示惩罚的全局强度、惩罚起始的突然性和惩罚的程度。在设置这些可调值时应小心谨慎,使得成本项Cj相对于任何其他附加成本项以及Cspatial和Cproximity的相对影响适合用于实现期望的结果。例如,根据经验,如果一个人希望特定惩罚明显地支配其他惩罚,则将其强度αj设置为下一个最大惩罚强度的大约十倍可能是适当的。
如果所有扩音器都被惩罚,则通常可以方便地在后处理中从所有权重项中减去最小惩罚,使得扬声器中的至少一个不会被惩罚:
wij→w′ij=wij-mini(wij) (18)
如上,使用本文所描述的新成本函数项(以及根据其他实施例采用的类似的新成本函数项)可以实现许多可能的用例。接下来,用以下三个示例来描述更具体的细节:将音频移动朝向收听者或说话者、将音频移动离开收听者或说话者以及将音频移动离开地标。
在第一个示例中,在本文中将被称为“吸引力”的东西用于将音频拉动朝向某个位置,在一些示例中,位置可以是收听者或说话者的位置、地标位置、家具位置等。位置在本文中可以被称为“吸引力位置”或“吸引子位置”。如本文所使用的,“吸引力”是有利于更接近吸引力位置的相对更高的扩音器激活的因素。根据该示例,权重wij采用等式17的形式,连续惩罚值pij由第i个扬声器从固定吸引子位置
Figure BDA0003495664310000703
的距离给出,并且阈值τj由所有扬声器的这些距离中的最大值给出:
Figure BDA0003495664310000704
Figure BDA0003495664310000705
为了说明将音频“拉动”朝向收听者或说话者的用例,特别地设置αj=20,βj=3,并且将
Figure BDA0003495664310000706
设置为与180度的收听者/说话者位置相对应的矢量。αj、βj
Figure BDA0003495664310000707
的这些值仅为示例。在一些实施方式中,αj可以在1至100的范围内并且βj可以在1至25的范围内。
在第二个示例中,“推斥力”用于将音频“推动”离开某个位置,位置可以是收听者位置、说话者位置或其他位置,如地标位置、家具位置等。所述位置在本文中可以被称为“推斥力位置”或“推斥位置”。如本文所使用的,“推斥力”是有利于更接近推斥力位置的相对更低的扩音器激活的因素。根据该示例,相对于固定推斥位置
Figure BDA0003495664310000711
定义pij和τj,类似于等式19中的吸引力:
Figure BDA0003495664310000712
Figure BDA0003495664310000713
为了说明将音频“推动”离开收听者或说话者的用例,特别地设置αj=5,βj=2,并且将
Figure BDA0003495664310000714
设置为与180度的收听者/说话者位置相对应的矢量。αj、βj
Figure BDA0003495664310000715
的这些值仅为示例。
现在返回图19,在该示例中,框1925涉及至少部分地基于第二音频信号、第二经渲染的音频信号或其特性中的至少一项来修正针对第一音频信号的渲染过程,以产生经修正的第一经渲染的音频信号。本文中公开了修正渲染过程的各种示例。例如,经渲染的信号的“特性”可以包括在预期收听位置处估计或测量的响度或可听度,无论是在静默中或在存在一个或多个附加的经渲染的信号的情况下。特性的其他示例包括如相关联的节目流的组成信号的预期空间位置等与信号的渲染相关联的参数、信号渲染于其上的扩音器的位置、根据组成信号的预期空间位置的扩音器的相对激活、以及与用于生成经渲染的信号的渲染算法相关联的任何其他参数或状态。在一些示例中,框1925可以由第一渲染模块执行。
根据该示例,框1930涉及至少部分地基于第一音频信号、第一经渲染的音频信号或其特性中的至少一项来修正针对第二音频信号的渲染过程,以产生经修正的第二经渲染的音频信号。在一些示例中,框1930可以由第二渲染模块执行。
在一些实施方式中,修正针对第一音频信号的渲染过程可以涉及将第一音频信号的渲染扭曲远离第二经渲染的音频信号的渲染位置和/或响应于第二音频信号或第二经渲染的音频信号中的一个或多个的响度而修正第一经渲染的音频信号中的一个或多个的响度。替代性地或另外地,修正针对第二音频信号的渲染过程可以涉及将第二音频信号的渲染扭曲远离第一经渲染的音频信号的渲染位置和/或响应于第一音频信号或第一经渲染的音频信号中的一个或多个的响度而修正第二经渲染的音频信号中的一个或多个的响度。下文参考图3以及以下提供了一些示例。
然而,其他类型的渲染过程修正在本公开的范围内。例如,在一些实例中,修正第一音频信号或第二音频信号的渲染过程可以涉及执行频谱修正、基于可听度的修正或动态范围修正。这些修正可以与基于响度的渲染修正有关或者可以与其无关,取决于特定示例。例如,在上述主要空间流在开敞布置生活区域中渲染并且包括烹饪提示的次要流在相邻厨房中渲染的情况下,可能期望确保烹饪提示在厨房中仍然是可听的。这可以通过在没有干扰性第一信号的情况下估计厨房中经渲染的烹饪提示流的响度、然后估计厨房中存在的第一信号的响度、并且最后跨多个频率动态地修正两个流的响度和动态范围来完成,从而确保第二信号在厨房中的可听度。
在图19中示出的示例中,框1935涉及混合至少经修正的第一经渲染的音频信号和经修正的第二经渲染的音频信号以产生经混合的音频信号。例如,框1935可以由图18B中示出的混音器1830b执行。
根据该示例,框1940涉及将经混合的音频信号提供给环境的至少一些扬声器。方法1900的一些示例涉及由扬声器回放经混合的音频信号。
如图19中示出的,一些实施方式可以提供多于2个渲染模块。一些这样的实施方式可以提供N个渲染模块,其中,N是大于2的整数。因此,一些这样的实施方式可以包括一个或多个附加渲染模块。在一些这样的示例中,一个或多个附加渲染模块中的每一个可以被配置用于经由接口系统接收附加音频节目流。附加音频节目流可以包括被安排由环境的至少一个扬声器再现的附加音频信号。一些这样的实施方式可以涉及渲染附加音频信号以经由环境的至少一个扬声器再现从而产生附加的经渲染的音频信号,以及至少部分地基于第一音频信号、第一经渲染的音频信号、第二音频信号、第二经渲染的音频信号或其特性中的至少一项来修正附加音频信号的渲染过程以产生经修正的附加的经渲染的音频信号。根据一些这样的示例,混合模块可以被配置用于将经修正的附加的经渲染的音频信号与至少经修正的第一经渲染的音频信号和经修正的第二经渲染的音频信号混合,以产生经混合的音频信号。
如上文参考图6和图18B所描述的,一些实施方式可以包括包含收听环境中的一个或多个麦克风的麦克风系统。在一些这样的示例中,第一渲染模块可以被配置用于至少部分地基于来自麦克风系统的第一麦克风信号来修正第一音频信号的渲染过程。“第一麦克风信号”可以从单个麦克风或从2个或更多个麦克风接收,取决于特定实施方式。在一些这样的实施方式中,第二渲染模块可以被配置用于至少部分地基于第一麦克风信号来修正第二音频信号的渲染过程。
如上文参考图18B,在一些实例中,一个或多个麦克风的位置可以是已知的并且可以提供给控制系统。根据一些这样的实施方式,控制系统可以被配置用于基于第一麦克风信号估计第一声源位置以及至少部分地基于第一声源位置来修正第一音频信号或第二音频信号中的至少一项的渲染过程。例如,可以基于来自具有已知位置的三个或更多个麦克风或麦克风组中的每一个麦克风的DOA数据,根据三角测量过程来估计第一声源位置。替代性地或另外地,可以根据从两个或更多个麦克风接收的信号的振幅来估计第一声源位置。可以假定产生最高振幅信号的麦克风离第一声源位置最近。在一些这样的示例中,第一声源位置可以设置为最近的麦克风的位置。在一些这样的示例中,第一声源位置可以与区的位置相关联,其中,区是由通过预训练的分类器(如高斯混音器模型)处理来自两个或更多个麦克风的信号来选择的。
在一些这样的实施方式中,控制系统可以被配置用于确定第一麦克风信号是否与环境噪声相对应。一些这样的实施方式可以涉及至少部分地基于第一麦克风信号是否与环境噪声相对应来修正第一音频信号或第二音频信号中的至少一项的渲染过程。例如,如果控制系统确定第一麦克风信号与环境噪声相对应,则修正第一音频信号或第二音频信号的渲染过程可以涉及增加经渲染的音频信号的水平,使得在预期收听位置处存在噪声时信号的感知响度基本上等于不存在噪声时信号的感知响度。
在一些示例中,控制系统可以被配置用于确定第一麦克风信号是否与人类语音相对应。一些这样的实施方式可以涉及至少部分地基于第一麦克风信号是否与人类语音相对应来修正第一音频信号或第二音频信号中的至少一项的渲染过程。例如,如果控制系统确定第一麦克风信号与人类语音(如唤醒词)相对应,则修正第一音频信号或第二音频信号的渲染过程可以涉及与由远离第一声源位置的扬声器再现的经渲染的音频信号的响度相比,减小由在第一声源位置附近的扬声器再现的经渲染的音频信号的响度。修正第一音频信号或第二音频信号的渲染过程可以替代性地或另外涉及修正渲染过程以将相关联的节目流的组成信号的预期位置扭曲远离第一声源位置和/或与远离第一声源位置的扬声器相比,对在第一声源位置附近的扬声器的使用进行惩罚。
在一些实施方式中,如果控制系统确定第一麦克风信号与人类语音相对应,则控制系统可以被配置用于在与第一声源位置不同的环境的位置附近的一个或多个扬声器中再现第一麦克风信号。在一些这样的示例中,控制系统可以被配置用于确定第一麦克风信号是否与儿童的哭声相对应。根据一些这样的实施方式,控制系统可以被配置用于在与估计的看护者诸如父母、亲戚、监护人、儿童看护服务提供者、老师、护士等的估计位置相对应的环境位置附近的一个或多个扬声器中再现第一麦克风信号。在一些示例中,估计看护者的估计位置的过程可以由如“<唤醒词>,不要吵醒婴儿”等语音命令触发。控制系统将能够根据正在实施虚拟助理的最近的智能音频设备的位置,通过基于由三个或更多个本地麦克风等提供的DOA信息的三角测量来估计扬声器(看护者)的位置。根据一些实施方式,控制系统将具有婴儿房间位置(和/或其中的收听设备)的先验知识,然后将能够执行适当的处理。
根据一些这样的示例,控制系统可以被配置用于确定第一麦克风信号是否与命令相对应。在一些实例中,如果控制系统确定第一麦克风信号与命令相对应,则控制系统可以被配置用于确定对命令的回复并且控制在第一声源位置附近的至少一个扬声器来再现回复。在一些这样的示例中,控制系统可以被配置用于在控制在第一声源位置附近的至少一个扬声器再现回复之后,返回到第一音频信号或第二音频信号的未修正的渲染过程。
在一些实施方式中,控制系统可以被配置用于执行命令。例如,控制系统可以是或者可以包括被配置成根据命令控制音频设备、电视、家用电器等的虚拟助理。
通过图6、图18A和图18B中示出的最小且更有能力的多流渲染系统的该定义,可以针对许多有用的场景实现对多个节目流的同时回放的动态管理。现在将参考图20和图21描述若干个示例。
首先检查先前讨论的涉及同时在客厅中回放空间电影声轨和在连接的厨房中回放烹饪提示的示例。空间电影声轨是上文提及的“第一音频节目流”的示例,并且烹饪提示音频是上文提及的“第二音频节目流”的示例。图20和图21示出了连接的生活空间的平面图示例。在该示例中,生活空间2000包括在左上方处的客厅、在下方中央处的厨房和在右下方处的卧室。跨生活空间分布的方框和圆圈2005a至2005h表示放置在对于空间便利的位置的一组8个扩音器,但不遵守任何标准规定的布局(任意放置)。在图20中,仅回放空间电影声轨,并且考虑到扩音器的能力和布局,客厅2010和厨房2015中的所有扩音器被用于围绕坐在沙发2025上、面向电视2030的收听者2020a创建优化的空间再现。电影声轨的该最佳再现在视觉上由位于有源扩音器范围内的云状线2035a表示。
在图21中,在厨房2015中的单个扩音器2005g上为第二收听者2020b同时渲染和回放烹饪提示。该第二节目流的再现在视觉上由从扩音器2005g传出的云状线2140表示。如果在不修正电影声轨的渲染的情况下同时回放这些烹饪提示,如图20所示,那么来自从厨房2015中或附近的扬声器传出的电影声轨的音频会干扰第二收听者的理解烹饪提示的能力。相反,在该示例中,根据烹饪提示的渲染动态地修改空间电影声轨的渲染。具体地,电影声轨的渲染从烹饪提示的渲染位置(厨房2015)附近的扬声器移开,其中图21中从厨房附近的扬声器被推开的较小云状线2035b在视觉上表示了该移位。在一些实施方式中,如果在播放电影声轨时烹饪提示回放停止,那么电影声轨的渲染可以动态地移回在图20中看到的其原始的最佳配置。可以通过许多所公开方法来实现空间电影声轨的渲染中的这种动态移位。
许多空间音频混音包括被设计为在收听空间中的特定位置处播放的多个组成音频信号。例如,杜比5.1和7.1环绕声混音分别由6个和8个信号构成,意指在收听者周围的指定规范位置的扬声器上回放。基于对象的音频格式例如杜比全景声(Dolby Atmos)由具有相关联的元数据的组成音频信号构成,元数据描述了将要渲染音频的收听空间中可能的时变3D位置。假设空间电影声轨的渲染器能够在关于任意扩音器组的任何位置渲染单独的音频信号,则可以通过扭曲空间混音内音频信号的预期位置来实现对图20和图21中描绘的渲染的动态移位。例如,与音频信号相关联的2D或3D坐标可以被推动远离厨房中扬声器的位置,或者替代性地被拉动朝向客厅的左上角。这种扭曲的结果是在厨房附近的扬声器较少被使用,因为空间混音的音频信号的经扭曲的位置现在离该位置更远了。虽然该方法确实实现了让第二音频流对于第二收听者来说更加可懂的目标,但这样做的代价是显著改变了针对第一收听者的电影声轨的预期空间平衡。
用于实现向空间渲染的动态转移的第二种方法可以通过使用灵活渲染系统来实现。在一些这样的实施方式中,灵活渲染系统可以是CMAP、FV或两者的混合,如上文所描述的。一些这样的灵活渲染系统试图再现空间混音,空间混音的所有组成信号被认为来自其预期位置。在一些示例中,在对混音的每个信号这样做的同时,优先考虑激活接近该信号的期望位置的扩音器。在一些实施方式中,附加项可以动态添加到渲染的优化中,这会基于其他标准惩罚某些扩音器的使用。例如,可以将可以被称为“推斥力”的东西动态地放置在厨房的位置,以高度惩罚在该位置附近使用扩音器并且有效地将空间电影声轨的渲染推开。如本文所使用的,术语“推斥力”可以指与在收听环境的特定位置或区中相对较低的扬声器激活相对应的因素。换句话说,短语“推斥力”可以指有利于激活距与“推斥力”相对应的特定位置或区域相对较远的扬声器的因素。然而,根据一些这样的实施方式,渲染器可以仍试图使用剩余的、较少被惩罚的扬声器来重现混音的预期空间平衡。如此,与简单地扭曲混音的组成信号的预期位置的方法相比,该技术可以被认为是实现渲染的动态移位的优越的方法。
可以使用图18A中描绘的多流渲染器的最小版本来实现所描述的将空间电影声轨的渲染从厨房中的烹饪提示移开的场景。然而,可以通过采用图18B中描绘的更有能力的系统来实现对场景的改进。虽然将空间电影声轨的渲染移位确实改进了厨房中烹饪提示的可懂度,但电影声轨在厨房中可以仍然是明显可听的。根据两个流的瞬时条件,烹饪提示可能会被电影声轨掩蔽;例如,电影声轨中的响亮时刻掩蔽烹饪提示中的轻柔时刻。要处理该问题,可以根据空间电影声轨的渲染添加对烹饪提示的渲染的动态修正。例如,可以执行用于跨频率和时间动态地改变音频信号以便在存在干扰信号的情况下保持其感知响度的方法。在该场景中,可以生成对在厨房位置处经移位的电影声轨的感知响度的估计,并且将所述估计作为干扰信号馈送到这样的过程中。然后可以动态地修正烹饪提示的时间和频率变化水平以维持其感知响度高于该干扰,由此更好地维持针对第二收听者的可懂度。厨房中电影声轨的响度的所需估计可以来自声轨的渲染的扬声器馈送、来自在厨房中或厨房附近的麦克风的信号或其组合。维持烹饪提示的感知响度的该过程通常将提高烹饪提示的水平,并且在一些情况下,整体响度可能会变得高得令人反感。要解决该问题,可以采用又另一种渲染修正。可以根据厨房中经响度修正的烹饪提示变得太大声而将干扰空间电影声轨动态地调低。最后,一些外部噪声源可能同时干扰两个节目流的可听度;例如,在烹饪期间在厨房中可能使用搅拌机。在客厅和厨房两者中该环境噪声源的响度估计可以由连接到渲染系统的麦克风生成。例如,可以将该估计添加到对厨房中声轨的响度的估计中,以影响烹饪提示的响度修正。同时,可以根据环境噪声估计来另外地修正客厅中声轨的渲染,以在存在该环境噪声的情况下维持客厅中声轨的感知响度,由此更好地维持针对客厅中的收听者的可听度。
如可以看到的,所公开的多流渲染器的该示例用例对两个节目流采用了大量相互关联的修正,从而优化其同时回放。总之,对流的这些修正可以列出如下:
·空间电影声轨
ο根据在厨房中渲染的烹饪提示将空间渲染从厨房移开
ο根据在厨房中渲染的烹饪提示的响度来动态降低响度
ο根据对来自厨房的干扰性搅拌机噪声在客厅中的响度的估计来动态提高响度
·烹饪提示
ο根据对电影声轨和厨房中搅拌机噪声两者的响度的组合估计来动态提高响度
所公开的多流渲染器的第二个示例用例涉及同时发生的空间节目流(如音乐)的回放以及智能语音助理对用户的一些询问的响应。对于回放通常被约束为单个设备上的单声道或立体声回放的现有智能扬声器,与语音助理的交互通常由以下阶段构成:
1)播放音乐
2)用户说出语音助理唤醒词
3)智能扬声器识别唤醒词并且显著调低(躲避)音乐
4)用户向智能助理说出命令(即“播放下一首歌曲”)
5)智能扬声器识别命令,通过借由扬声器播放在躲避的音乐之上混合的某个语音响应(即“好的,播放下一首歌曲”)来确认命令,并且然后执行命令
6)智能扬声器将音乐上调回到原始音量
图22和图23示出了提供空间音乐混音和语音助理响应的同时回放的多流渲染器的示例。当在多个经编排的智能扬声器上播放空间音频时,一些实施例提供了对上述事件链的改进。具体地,可以将空间混音从被选择为适合于中继来自语音助理的响应的一个或多个扬声器移开。为语音助理响应创建该空间意指与上文列出的现有情况相比,空间混音可以被调低更少,或者可以根本不被调低。图22和图23描绘了该场景。在该示例中,经修正的事件链可以发生如下:
1)正在为用户在众多经编排的智能扬声器上播放空间音乐节目流(图22中的云状线2035c)。
2)用户2020c说出语音助理唤醒词。
3)一个或多个智能扬声器(例如,扬声器2005d和/或扬声器2005f)识别唤醒词,并且使用来自与一个或多个智能扬声器相关联的麦克风的相关联的记录来确定用户2020c的位置或者用户2020c最接近哪个(哪些)扬声器。
4)在预期语音助理响应节目流在该位置附近被渲染时,将空间音乐混音的渲染从在先前步骤中确定的位置移开(图23中的云状线2035d)。
5)用户对智能助理(例如,对运行智能助理/虚拟助理软件的智能扬声器)说出命令。
6)智能扬声器识别命令,合成对应的响应节目流,并且在用户的位置附近渲染响应(图23中的云状线2340)。
7)当语音助理响应完成时,空间音乐节目流的渲染将切换回其原始状态(图22中的云状线2035c)。
除了优化空间音乐混音和语音助理响应的同时回放,空间音乐混音的移位也可以改进步骤5中一组扬声器理解收听者的能力。这是因为音乐已经从在收听者附近的扬声器中移出,由此将语音提高到相关麦克风的其他比例。
与针对具有空间电影混音和烹饪提示的先前场景所描述的场景类似,当前场景可以进一步优化,超出通过根据语音助理响应将空间混音的渲染移位而提供的优化。将空间混音移位本身可能不足以使语音助理响应对于用户来说是完全可懂的。简单的解决方案是也将空间混音降低固定的量,尽管少于当前状态所需的量。替代性地,可以根据空间音乐混音节目流的响度来动态提高语音助理响应节目流的响度,以维持响应的可听度。作为扩展,如果响应流上的该提高过程变得太大,则空间音乐混音的响度也可能会被动态削减。
图24、图25和图26图示了所公开的多流渲染器的第三示例用例。该示例涉及管理空间音乐混音节目流和舒适噪声节目流的同时回放,同时试图确保婴儿在相邻的房间里保持睡眠,但能够听到婴儿是否哭泣。图24描绘了起点,其中,空间音乐混音(由云状线2035e表示)跨客厅2010和厨房2015中的所有扬声器为聚会上的许多人以最佳方式播放。在图25中,婴儿2510现在正在试图在右下方所绘制的相邻卧室2505中睡觉。为帮助确保这一点,空间音乐混音从卧室动态地移开,以最小化在卧室中的泄漏,如云状线2035f所描绘的,同时仍为聚会上的人们维持合理的体验。同时,包含舒缓白噪声的第二节目流(由云状线2540表示)从婴儿的房间的扬声器2005h中播放,以掩蔽来自相邻房间中音乐的任何剩余泄漏。在一些示例中,要确保完全掩蔽,可以根据对泄漏到婴儿的房间中的空间音乐的响度的估计来动态地修正该白噪声流的响度。该估计可以从空间音乐的渲染的扬声器馈送、来自婴儿的房间的麦克风的信号或其组合中生成。同样,如果空间音乐混音的响度变得太大,则可以根据响度经修改的噪声使空间音乐混音的响度动态衰减。这类似于第一个场景的空间电影混音与烹饪提示之间的响度处理。最后,婴儿的房间里的麦克风(例如,与在一些实施方式可以是智能扬声器的扬声器2005h相关联的麦克风)可以被配置成记录来自婴儿的音频(消除可能从空间音乐和白噪声中拾取的声音),并且如果(通过机器学习、经由模式匹配算法等)检测到哭泣,则这些经处理的麦克风信号的组合然后可以充当可以在客厅2010中的收听者2020d附近同时回放的第三节目流,收听者可以是父母或其他看护者。图26用云状线2650描绘了该附加流的再现。在这种情况下,空间音乐混音可以另外地从在父母附近的播放婴儿的哭声的扬声器移开,如相对于图25的云状线2035f的形状的云状线2035g的经修正的形状所示出的,并且婴儿的哭声的节目流可以根据空间音乐流来修正响度,使得婴儿的哭声对于收听者2020d保持可听。该示例中考虑的优化三个节目流的同时回放的互连修正可以总结如下:
·客厅里的空间音乐混音
ο将空间渲染从婴儿的房间移开,以减少进入房间的传播
ο根据在婴儿的房间中渲染的白噪声的响度来动态降低响度
ο根据婴儿的哭声在父母附近的扬声器上渲染,将空间渲染从父母移开
·白噪声
ο根据对渗透进婴儿的房间中的音乐流的响度的估计来动态提高响度
·记录婴儿的哭声
ο根据对在父母或其他看护者的位置处的音乐混音的响度的估计来动态提高响度。
接下来描述可以如何实施一些提到的实施例的示例。
在图18A中,渲染块1...N中的每一个都可以实施为如先前提到的CMAP、FV或混合渲染器等任何单流渲染器的相同实例。以该方式构造多流渲染器具有一些方便并且有用的性质。
首先,如果渲染是在该分层布置中完成的,并且每个单流渲染器实例都被配置成在频域/变换域(例如,QMF)中操作,那么流的混合也可以发生在频域/变换域中,并且逆变换只需要运行一次,用于M个声道。与在时域中运行N×M逆变换和混合相比,这是显著的效率改进。
图27示出了图18A中示出的多流渲染器的频域/变换域示例。在该示例中,在每个节目流被渲染模块1至N中的对应渲染模块接收之前,正交镜像分析滤波器组(QMF)被应用于节目流1至N中的每一个。根据该示例,渲染模块1至N在频域中操作。在混音器1830a混合了渲染模块1至N的输出之后,逆合成滤波器组2735a将混音转换到时域,并且将时域中的经混合的扬声器馈送信号提供给扩音器1至M。在该示例中,正交镜像滤波器组、渲染模块1至N、混音器1830a和逆滤波器组2735a是控制系统610c的部件。
图28示出了图18B中示出的多流渲染器的频域/变换域示例。如在图27中,在每个节目流被渲染模块1至N中的对应渲染模块接收之前,正交镜像滤波器组(QMF)被应用于节目流1至N中的每一个。根据该示例,渲染模块1至N在频域中操作。在该实施方式中,来自麦克风系统620b的时域麦克风信号也被提供给正交镜像滤波器组,使得渲染模块1至N接收频域中的麦克风信号。在混音器1830b混合了渲染模块1至N的输出之后,逆滤波器组2735b将混音转换到时域,并且将时域中的经混合的扬声器馈送信号提供给扩音器1至M。在该示例中,正交镜像滤波器组、渲染模块1至N、混音器1830b和逆滤波器组2735b是控制系统610d的部件。
参考图29描述了另一个示例实施例。与本文提供的其他图一样,图29中示出的元件的类型和数量仅作为示例提供。其他实施方式可以包括更多、更少和/或不同类型和数量的元件。图29描绘了收听环境的平面图,收听环境在该示例中为生活空间。根据该示例,环境2000包括在左上方处的客厅2010、在下方中央处的厨房2015和在右下方处的卧室2505。跨生活空间分布的方框和圆圈表示一组扩音器2005a至2005h,一组扩音器中的至少一些在一些实施方式中可以是智能扬声器,放置在对空间方便的位置,但不遵守任何标准规定的布局(任意放置)。在一些示例中,扩音器2005a至2005h可以被协调以实施一个或多个公开的实施例。例如,在一些实施例中,扩音器2005a至2005h可以根据来自实施在一些示例中可以是CHASM的音频会话管理器的设备的命令进行协调。在一些这样的示例中,所公开的音频处理,包括但不限于所公开的灵活渲染功能可以至少部分地根据来自上文参考图2C、图2D、图3C和图4描述的CHASM 208C、CHASM 208D、CHASM 307和/或CHASM 401的指令来实施。在该示例中,环境2000包括分布在整个环境中的相机2911a至2911e。在一些实施方式中,环境2000中的一个或多个智能音频设备还可以包括一个或多个相机。一个或多个智能音频设备可以是单用途音频设备或虚拟助理。在一些这样的示例中,一个或多个相机(其可以是图6的任选传感器系统630的相机)可以驻留在电视2030中或上、在移动电话中或在智能扬声器如扩音器2005b、2005d、2005e或2005h中的一个或多个中。尽管在本公开中呈现的收听环境的每个描绘中都未示出相机2911a至2911e,但在一些实施方式中,每个收听环境,包括但不限于环境2000,仍然可以包括一个或多个相机。
图30、图31、图32和图33示出了针对图29中示出的生活空间中的多个不同收听位置和取向以参考空间模式灵活渲染空间音频的示例。图30至图33在四个示例收听位置处描绘了该功能。在每个示例中,指向人3020a的箭头3005表示前声场的位置(人3020a面向的位置)。在每个示例中,箭头3010a表示左环绕场并且箭头3010b表示右环绕场。
在图30中,针对坐在客厅沙发2025上的人3020a,已经确定了参考空间模式(例如,通过实施音频会话管理器的设备)并且已经灵活地渲染了空间音频。在图30中示出的示例中,考虑到扩音器的能力和布局,客厅2010和厨房2015中的所有扩音器都用于在收听者3020a周围创建优化的音频数据空间再现。该最佳再现在视觉上由位于有源扩音器范围内的云状线3035表示。
根据一些实施方式,被配置用于实施音频会话管理器的控制系统(如图6的控制系统610)可以被配置成根据经由接口系统(如图6的接口系统605)接收的参考空间模式数据来确定参考空间模式的假定收听位置和/或假定取向。下文描述了一些示例。在一些这样的示例中,参考空间模式数据可以包括来自麦克风系统(如图6的麦克风系统120)的麦克风数据。
在一些这样的示例中,参考空间模式数据可以包括与唤醒词和语音命令(如“[唤醒词],使电视成为前声场”)相对应的麦克风数据。替代性地或另外地,麦克风数据可以用于根据用户的语音的声音例如经由到达方向(DOA)数据对用户的位置进行三角测量。例如,三个或更多个扩音器2005a至2005e可以使用麦克风数据,根据人3020a的语音的声音,经由DOA数据,对坐在客厅沙发2025上的人3020a的位置进行三角测量。可以根据人3020a的位置来假定人3020a的取向:如果人3020a在图30中示出的位置处,则可以假定人3020a面向电视2030。
替代性地或另外地,人3020a的位置和取向可以根据来自相机系统(如图6的传感器系统130)的图像数据来确定。
在一些示例中,人3020a的位置和取向可以根据经由图形用户界面(GUI)获得的用户输入来确定。根据一些这样的实例,控制系统可以被配置用于控制显示设备(例如,蜂窝电话的显示设备)来呈现允许人3020a输入人3020a的位置和取向的GUI。
在图31中,针对坐在客厅阅读椅3115上的人3020a,已经确定了参考空间模式并且已经灵活地渲染了空间音频。在图32中,针对站在厨房柜台330旁边的人3020a,已经确定了参考空间模式并且已经灵活地渲染了空间音频。在图33中,针对坐在早餐桌340旁的人3020a,已经确定了参考空间模式并且已经灵活地渲染了空间音频。可以观察到,如箭头3005所指示的前声场取向不一定与环境2000内的任何特定扩音器相对应。随着收听者的位置和取向变化,扬声器渲染空间混音的各种分量的责任也在变化。
对于图30至图33中任何一个中的人3020a,他或她听到如预期针对示出的每个位置和取向的空间混音。然而,对于空间中的附加收听者来说,体验可能是次优的。图34示出了当两个收听者在收听环境的不同位置时参考空间模式渲染的示例。图34描绘了针对在沙发上的人3020a和站在厨房中的人3020b的参考空间模式渲染。渲染对于人3020a是最佳的,但是人3020b鉴于他/她的位置,将听到主要来自环绕场以及少量前声场的信号。在该情况下以及多人可以以不可预测的方式(例如,聚会)在空间中移动的其他情况下,需要更适合于这种分布式听众的渲染模式。参考于2020年6月23日提交并且名称为“适应性空间音频回放(ADAPTABLE SPATIAL AUDIO PLAYBACK)”的美国临时专利申请号62/705,351的第27至43页上的图4B至图9描述了这样的分布式空间渲染模式的示例,所述美国临时专利申请通过引用的方式并入。
图35示出了用于接收与收听者的位置和取向有关的用户输入的GUI的示例。根据该示例,用户先前已经标识了若干个可能的收听位置和对应取向。在设置过程期间已经输入并且存储了与每个位置和对应取向相对应的扩音器位置。本文中公开了一些示例。下文描述了音频设备自动定位过程的详细示例。例如,可以已经提供了收听环境布局GUI,并且可以已经提示用户触摸与可能的收听位置和扬声器位置相对应的位置,并且命名可能的收听位置。在该示例中,在图35中描绘的时间,用户已经通过触摸虚拟按钮“客厅沙发”向GUI3500提供了关于用户的位置的用户输入。因为存在两个可能的面向前方的位置,考虑到L形沙发2025,提示用户指示用户面向哪个方向。
图36示出了环境中三个音频设备之间的几何关系的示例。在该示例中,环境3600是包括电视3601、沙发3603和五个音频设备3605的房间。根据该示例,音频设备3605在环境3600的位置1至位置5中。在该实施方式中,每个音频设备3605包括具有至少三个麦克风的麦克风系统3620和包括至少一个扬声器的扬声器系统3625。在一些实施方式中,每个麦克风系统3620包括麦克风阵列。根据一些实施方式,每个音频设备3605可以包括包含至少三根天线的天线系统。
与本文所公开的其他示例一样,图36中示出的元件的类型、数量和布置仅作为示例。其他实施方式可以具有不同类型、数量和布置的元件,例如,更多或更少的音频设备3605、在不同位置的音频设备3605等。
在该示例中,三角形3610a顶点在位置1、2和3处。此处,三角形3610a具有边12、23a和13a。根据该示例,边12与23之间的角为θ2,边12与13a之间的角为θ1并且边23a与13a之间的角为θ3。这些角可以根据DOA数据确定,如下文更详细描述的。
在一些实施方式中,可以确定仅三角形边的相对长度。在替代性实施方式中,可以确定三角形边的实际长度。根据一些这样的实施方式,三角形边的实际长度可以根据TOA数据来估计,例如,根据由位于一个三角形顶点处的音频设备产生并且由位于另一个三角形顶点处的音频设备检测到的声音的到达时间来估计。替代性地或另外地,三角形边的长度可以根据由位于一个三角形顶点处的音频设备产生并且由位于另一个三角形顶点处的音频设备检测到的电磁波来估计。例如,三角形边的长度可以根据由位于一个三角形顶点处的音频设备产生并且由位于另一个三角形顶点处的音频设备检测到的电磁波的信号强度来估计。在一些实施方式中,可以根据检测到的电磁波的相移来估计三角形边的长度。
图37示出了图36中示出的环境中三个音频设备之间的几何关系的另一个示例。在该示例中,三角形3610b的顶点在位置1、3和4处。此处,三角形3610b具有边13b、14和34a。根据该示例,边13b与14之间的角为θ4,边13b与34a之间的角为θ5并且边34a与14之间的角为θ6
通过比较图36和图37,可以观察到三角形3610a的边13a的长度应该等于三角形3610b的边13b的长度。在一些实施方式中,一个三角形(例如,三角形3610a)的边长可以被假定为正确的,并且由相邻三角形共享的边的长度将被约束为该长度。
图38示出了图36和图37中描绘的这两个三角形,没有对应的音频设备和环境的其他特征。图38示出了三角形3610a和3610b的边长和角取向的估计。在图38中示出的示例中,三角形3610b的边13b的长度被约束为与三角形3610a的边13a的长度相同。三角形3610b的其他边的长度与边13b的长度的所产生的变化成比例地缩放。所得三角形3610b’在图38示出为与三角形3610a相邻。
根据一些实施方式,与三角形3610a和3610b相邻的其他三角形的边长都可以以类似的方式确定,直到已经确定了环境3600中的所有音频设备位置。
音频设备位置的一些示例可以如下进行。每个音频设备可以基于由环境中的每个其他音频设备产生的声音(例如,根据来自实施音频会话管理器(如CHASM)的设备的指令)来报告环境(例如,房间)中的每个其他音频设备的DOA。第i个音频设备的笛卡尔坐标可以表示为xi=[xi,yi]T,其中,上标T指示矢量转置。给定环境中的M个音频设备,i={1...M}。
图39示出了估计由三个音频设备形成的三角形的内角的示例。在该示例中,音频设备为i、j和k。从设备i观察到的从设备h散发的声源的DOA可以表示为θji。从设备i观察到的从设备k散发的声源的DOA可以表示为θki。在图39中示出的示例中,θji和θki是从轴线3905a测得的,所述轴线的取向是任意的,并且轴线可以例如与音频设备i的取向相对应。三角形3910的内角a可以表示为a=θkiji。可以观察到内角a的计算不依赖于轴线3905a的取向。
在图39中示出的示例中,θij和θkj是从轴线3905b测得的,所述轴线的取向是任意的,并且轴线可以与音频设备j的取向相对应。三角形3910的内角b可以表示为b=θijkj。类似地,在该示例中,θjk和θik是从轴线3905c测得的。三角形3910的内角c可以表示为c=θjkik
在存在测量误差的情况下,a+b+c≠180°。可以通过从其他两个角预测每个角并且求平均来提高稳健性,例如,如下所示:
Figure BDA0003495664310000844
在一些实施方式中,可以通过应用正弦规则来计算边缘长度(A,B,C)(直至缩放误差)。在一些示例中,可以为一个边缘长度分配任意值,如1。例如,通过使A=1并且将顶点
Figure BDA0003495664310000841
放置在原点处,剩余两个顶点的位置可以计算如下:
Figure BDA0003495664310000842
然而,任意旋转可以是可接受的。
根据一些实施方式,可以为环境中三个音频设备的所有可能子集重复三角形参数化的过程,在大小为
Figure BDA0003495664310000843
的超集ζ中枚举。在一些示例中,Tl可以表示第l个三角形。三角形可以不以任何特定顺序枚举,取决于实施方式。由于DOA和/或边长估计中的可能误差,三角形可能重叠并且可能无法完美对齐。
图40是概述了可以由如图6中示出的装置等装置执行的方法的一个示例的流程图。与本文所描述的其他方法一样,不必以所指示的顺序来执行方法4000的框。而且,这种方法可以包括比所示出和/或所描述的框更多或更少的框。在该实施方式中,方法4000涉及估计扬声器在环境中的位置。方法4000的框可以由一个或多个设备执行,一个或多个设备可以是(或可以包括)图6中示出的装置600。根据一些实施方式,方法4000的框可以至少部分地由实施音频会话管理器(例如,CHASM)的设备和/或根据来自实施音频会话管理器的设备的指令来执行。在一些这样的示例中,方法4000的框可以至少部分地由上文参考图2C、图2D、图3C和图4描述的CHASM 208C、CHASM 208D、CHASM 307和/或CHASM 401执行。根据一些实施方式,方法4000的框可以作为上文参考图15描述的方法1500的设置过程的一部分来执行。
在该示例中,框4005涉及获得多个音频设备中的每个音频设备的到达方向(DOA)数据。在一些示例中,多个音频设备可以包括环境中的所有音频设备,如图36中示出的所有音频设备3605。
然而,在一些实例中,多个音频设备可以仅包括环境中所有音频设备的子集。例如,多个音频设备可以包括环境中的所有智能扬声器,但不包括环境中的其他音频设备中的一个或多个。
DOA数据可以通过各种方式获得,取决于特定实施方式。在一些实例中,确定DOA数据可以涉及确定多个音频设备中的至少一个音频设备的DOA数据。例如,确定DOA数据可以涉及从与多个音频设备中的单个音频设备相对应的多个音频设备麦克风中的每个麦克风接收麦克风数据以及至少部分地基于麦克风数据确定单个音频设备的DOA数据。替代性地或另外地,确定DOA数据可以涉及从与多个音频设备中的单个音频设备相对应的一个或多个天线接收天线数据以及至少部分地基于天线数据确定单个音频设备的DOA数据。
在一些这样的示例中,单个音频设备本身可以确定DOA数据。根据一些这样的实施方式,多个音频设备中的每个音频设备可以确定其自身的DOA数据。然而,在其他实施方式中,可以是本地或远程设备的另一个设备可以确定环境中的一个或多个音频设备的DOA数据。根据一些实施方式,服务器可以确定环境中一个或多个音频设备的DOA数据。
根据该示例,框4010涉及基于DOA数据确定多个三角形中的每个三角形的内角。在该示例中,多个三角形中的每个三角形具有与三个音频设备的音频设备位置相对应的顶点。上文描述了一些这样的示例。
图41示出了其中环境中的每个音频设备都是多个三角形的顶点的示例。每个三角形的边与两个音频设备3605之间的距离相对应。
在该实施方式中,框4015涉及确定每个三角形的每条边的边长。(三角形的边在本文中也可以被称为“边缘”。)根据该示例,边长至少部分地基于内角。在一些实例中,可以通过确定三角形的第一边的第一长度并且基于三角形的内角确定三角形的第二边和第三边的长度来计算边长。上文描述了一些这样的示例。
根据一些这样的实施方式,确定第一长度可以涉及将第一长度设置为预定值。然而,在一些示例中,确定第一长度可以基于到达时间数据和/或接收到的信号强度数据。在一些实施方式中,到达时间数据和/或接收到的信号强度数据可以与来自环境中的第一音频设备的由环境中的第二音频设备检测到的声波相对应。替代性地或另外地,到达时间数据和/或接收到的信号强度数据可以与来自环境中的第一音频设备的由环境中的第二音频设备检测到的电磁波(例如,无线电波、红外波等)相对应。
根据该示例,框4020涉及执行将多个三角形中的每一个以第一顺序对齐的前向对齐过程。根据该示例,前向对齐过程产生前向对齐矩阵。
根据一些这样的示例,期望三角形以边缘(xi,xj)等于相邻边缘的方式对齐,例如,如图38中示出的和上文所描述的。令ε为大小为
Figure BDA0003495664310000861
的所有边缘的集合。在一些这样的实施方式中,框4020可以涉及遍历ε并且通过使边缘与先前对齐的边缘的边缘一致来按前向顺序对齐三角形的公共边缘。
图42提供了前向对齐过程的一部分的示例。图42中以粗体示出的数字1至5与图36、图37和图41中示出的音频设备位置相对应。图42中示出并且在本文中描述的前向对齐过程的顺序仅为示例。
在该示例中,如在图38中,使三角形3610b的边13b的长度与三角形3610a的边13a的长度一致。图42中示出了所得三角形3610b’,其中维持相同的内角。根据该示例,也使三角形3610c的边13c的长度与三角形3610a的边13a的长度一致。图42中示出了所得三角形3610c’,其中维持相同的内角。
接下来,在该示例中,使三角形3610d的边34b的长度与三角形3610b’的边34a的长度一致。此外,在该示例中,使三角形3610d的边23b的长度与三角形3610a的边23a的长度一致。图42中示出了所得三角形3610d’,其中维持相同的内角。根据一些这样的示例,图41中示出的剩余三角形可以以与三角形3610b、3610c和3610d相同的方式进行处理。
前向对齐过程的结果可以存储在数据结构中。根据一些这样的示例,前向对齐过程的结果可以存储在前向对齐矩阵中。例如,前向对齐过程的结果可以存储在矩阵
Figure BDA0003495664310000862
中,其中N指示三角形的总数。
当DOA数据和/或初始边长确定包含误差时,将发生多个音频设备位置估计。在前向对齐过程期间,误差通常会增加。
图43示出了已经在前向对齐过程期间发生的多个音频设备位置估计的示例。在该示例中,前向对齐过程基于以七个音频设备位置为顶点的三角形。此处,由于DOA估计中的附加误差,三角形没有完美对齐。图43中示出的数字1至7的位置与由前向对齐过程产生的估计音频设备位置相对应。在该示例中,标记为“1”的音频设备位置估计一致,但针对音频设备6和7的音频设备位置估计示出较大差异,如数字6和7所在的相对较大的区域示出的。
返回图40,在该示例中,框4025涉及将多个三角形中的每一个以与第一顺序反向的第二顺序对齐的反向对齐过程。根据一些实施方式,反向对齐过程可以涉及像以前一样但以反向的顺序遍历ε。在替代性示例中,反向对齐过程可以不与前向对齐过程的操作顺序正好反向。根据该示例,反向对齐过程产生反向对齐矩阵,反向对齐矩阵在本文中可以表示为
Figure BDA0003495664310000871
图44提供了反向对齐过程的一部分的示例。图44中以粗体示出的数字1至5与图36、图37和图41中示出的音频设备位置相对应。图44中示出并且在本文中描述的反向对齐过程的顺序仅为示例。
在图44中示出的示例中,三角形3610e基于音频设备位置3、4和5。在该实施方式中,假定三角形3610e的边长(或“边缘”)是正确的,并且使相邻三角形的边长与其一致。根据该示例,使三角形3610f的边45b的长度与三角形3610e的边45a的长度一致。图44中示出了所得三角形3610f’,其中内角保持相同。在该示例中,使三角形3610c的边35b的长度与三角形3610e的边35a的长度一致。图44中示出了所得三角形3610c”,其中内角保持相同。根据一些这样的示例,图5中示出的剩余三角形可以以与三角形3610c和3610f相同的方式进行处理,直到反向对齐过程已经包括所有剩余三角形。
图45示出了已经在反向对齐过程期间发生的多个音频设备位置估计的示例。在该示例中,反向对齐过程基于具有与上文参考图43描述的顶点相同的七个音频设备位置的三角形。图45中示出的数字1至7的位置与由反向对齐过程产生的估计音频设备位置相对应。此处同样,由于DOA估计中的附加误差,三角形没有完美对齐。在该示例中,标记为6和7的音频设备位置估计一致,但针对音频设备1和2的音频设备位置估计示出更大差异。
返回图40,框4030涉及至少部分地基于前向对齐矩阵的值和反向对齐矩阵的值来产生每个音频设备位置的最终估计。在一些示例中,产生每个音频设备位置的最终估计可以涉及平移和缩放前向对齐矩阵以产生经平移和经缩放的前向对齐矩阵,以及平移和缩放反向对齐矩阵以产生经平移和经缩放的反向对齐矩阵。
例如,通过将形心移动到原点并且强制单位弗罗伯尼范数(Frobenius norm)(例如,
Figure BDA0003495664310000872
Figure BDA0003495664310000873
)来固定平移和缩放。
根据一些这样的示例,产生每个音频设备位置的最终估计也可以涉及基于经平移和经缩放的前向对齐矩阵以及经平移和经缩放的反向对齐矩阵来产生旋转矩阵。旋转矩阵可以包括每个音频设备的多个估计音频设备位置。例如,可以通过奇异值分解来找到前向对齐与反向对齐之间的最佳旋转。在一些这样的示例中,涉及产生旋转矩阵可以涉及对经平移和经缩放的前向对齐矩阵以及经平移和经缩放的反向对齐矩阵执行奇异值分解,例如,如下:
Figure BDA0003495664310000881
在前述等式中,分别地,U表示矩阵
Figure BDA0003495664310000882
的左奇异矢量并且V表示矩阵的右奇异矢量。∑表示奇异值矩阵。前述等式产生旋转矩阵R=VUT。矩阵乘积VUT产生旋转矩阵,使得
Figure BDA0003495664310000883
被最佳旋转以与
Figure BDA0003495664310000884
对齐。
根据一些示例,在确定旋转矩阵R=VUT之后,可以对对齐求平均,例如,如下:
Figure BDA0003495664310000885
在一些实施方式中,产生每个音频设备位置的最终估计也可以涉及对每个音频设备的估计音频设备位置求平均,以产生每个音频设备位置的最终估计。各种公开的实施方式已被证明是稳健的,即使在DOA数据和/或其他计算包括重大误差时。例如,由于来自多个三角形的重叠顶点,
Figure BDA0003495664310000886
包含相同节点的
Figure BDA0003495664310000887
个估计。跨公共节点求平均产生最终估计
Figure BDA0003495664310000888
图46示出了估计音频设备位置和实际音频设备位置的比较。在图46中示出的示例中,音频设备位置与在上文参考图43和图45描述的前向对齐过程和反向对齐过程期间估计的音频设备位置相对应。在这些示例中,DOA估计的误差有15度的标准偏差。尽管如此,每个音频设备位置的最终估计(每个最终估计在图46中由“x”表示)与实际音频设备位置(每个实际音频设备位置在图46中由圆圈表示)很好地对应。
前述讨论的大部分涉及音频设备自动定位。以下讨论扩展了上文简要描述的确定收听者位置和收听者角取向的一些方法。在前述描述中,术语“旋转”的使用方式与以下描述中使用的术语“取向”基本上相同。例如,上文提到的“旋转”可以指最终扬声器几何形状的全局旋转,而不是在上文参考图40以及以下描述的过程期间单独三角形的旋转。该全局旋转或取向可以参考收听者角取向,例如通过收听者注视的方向、收听者的鼻子指向的方向等来解决。
下文描述了用于估计收听者位置的各种令人满意的方法。然而,估计收听者角取向可能具有挑战性。下文详细描述了一些相关方法。
确定收听者位置和收听者角取向可以实现一些期望的特征,如相对于收听者定向定位的音频设备。知道收听者位置和角取向允许确定例如环境中相对于收听者哪些扬声器在前面、哪些在后面、哪些靠近中心(如果有的话)等。
在音频设备位置与收听者的位置和取向之间建立关联之后,一些实施方式可以涉及将音频设备位置数据、音频设备角取向数据、收听者位置数据和收听者角取向数据提供给音频渲染系统。替代性地或另外地,一些实施方式可以涉及至少部分地基于音频设备位置数据、音频设备角取向数据、收听者位置数据和收听者角取向数据的音频数据渲染过程。
图47是概述了可以由如图6中示出的装置等装置执行的方法的一个示例的流程图。与本文所描述的其他方法一样,不必以所指示的顺序来执行方法4700的框。而且,这种方法可以包括比所示出和/或所描述的框更多或更少的框。在该示例中,方法4700的框由控制系统执行,所述控制系统可以是(或可以包括)图6中示出的控制系统610。如上,在一些实施方式中,控制系统610可以驻留在单个设备中,而在其他实施方式中,控制系统610可以驻留在两个或更多个设备中。根据一些实施方式,方法4700的框可以至少部分地由实施音频会话管理器(例如,CHASM)的设备和/或根据来自实施音频会话管理器的设备的指令来执行。在一些这样的示例中,方法4700的框可以至少部分地由上文参考图2C、图2D、图3C和图4描述的CHASM 208C、CHASM 208D、CHASM 307和/或CHASM 401执行。根据一些实施方式,方法4700的框可以作为上文参考图12描述的方法1200的过程的一部分来执行,例如,确定第一人的第一位置和第一取向、确定第一人的第二位置或第二取向中的至少一项等。
在该示例中,框4705涉及获得环境中多个音频设备中的每个音频设备的到达方向(DOA)数据。在一些示例中,多个音频设备可以包括环境中的所有音频设备,如图36中示出的所有音频设备3605。
然而,在一些实例中,多个音频设备可以仅包括环境中所有音频设备的子集。例如,多个音频设备可以包括环境中的所有智能扬声器,但不包括环境中的其他音频设备中的一个或多个。
DOA数据可以通过各种方式获得,取决于特定实施方式。在一些实例中,确定DOA数据可以涉及确定多个音频设备中的至少一个音频设备的DOA数据。在一些示例中,可以通过控制环境中的多个扩音器中的每个扩音器以再现测试信号来获得DOA数据。例如,确定DOA数据可以涉及从与多个音频设备中的单个音频设备相对应的多个音频设备麦克风中的每个麦克风接收麦克风数据以及至少部分地基于麦克风数据确定单个音频设备的DOA数据。替代性地或另外地,确定DOA数据可以涉及从与多个音频设备中的单个音频设备相对应的一个或多个天线接收天线数据以及至少部分地基于天线数据确定单个音频设备的DOA数据。
在一些这样的示例中,单个音频设备本身可以确定DOA数据。根据一些这样的实施方式,多个音频设备中的每个音频设备可以确定其自身的DOA数据。然而,在其他实施方式中,可以是本地或远程设备的另一个设备可以确定环境中的一个或多个音频设备的DOA数据。根据一些实施方式,服务器可以确定环境中一个或多个音频设备的DOA数据。
根据图47中示出的示例,框4710涉及至少部分基于DOA数据,经由控制系统产生音频设备位置数据。在该示例中,音频设备位置数据包括对在框4705中引用的每个音频设备的音频设备位置的估计。
音频设备位置数据例如可以是(或包括)坐标系(如笛卡尔坐标系、球坐标系或圆柱坐标系)的坐标。所述坐标系在本文中可以被称为音频设备坐标系。在一些这样的示例中,音频设备坐标系可以参考环境中的音频设备之一来定向。在其他示例中,音频设备坐标系可以参考由环境中的音频设备中的两个音频设备之间的线定义的轴线来定向。然而,在其他示例中,音频设备坐标系可以参考环境的另一部分(如电视、房间的墙等)来定向。
在一些示例中,框4710可以涉及上文参考图40描述的过程。根据一些这样的示例,框4710可以涉及基于DOA数据确定多个三角形中的每个三角形的内角。在一些实例中,多个三角形中的每个三角形可以具有与三个音频设备的音频设备位置相对应的顶点。一些这样的方法可以涉及至少部分地基于内角来确定每个三角形的每条边的边长。
一些这样的方法可以涉及执行将多个三角形中的每一个以第一顺序对齐的前向对齐过程,以产生前向对齐矩阵。一些这样的方法可以涉及执行将多个三角形中的每一个以与第一顺序反向的第二顺序对齐的反向对齐过程,以产生反向对齐矩阵。一些这样的方法可以涉及至少部分地基于前向对齐矩阵的值和反向对齐矩阵的值来产生每个音频设备位置的最终估计。然而,在方法4700的一些实施方式中,框4710可以涉及应用除了上文参考图40描述的方法之外的方法。
在该示例中,框4715涉及经由控制系统确定指示环境内的收听者位置的收听者位置数据。例如,收听者位置数据可以参考音频设备坐标系。然而,在其他示例中,坐标系可以参考收听者或参考环境的一部分(如电视、房间的墙等)来定向。
在一些示例中,框4715可以涉及提示收听者(例如,经由来自环境中的一个或多个扩音器的音频提示)说出一个或多个话语并且根据DOA数据估计收听者位置。DOA数据可以与由环境中的多个麦克风获得的麦克风数据相对应。麦克风数据可以与由麦克风对一个或多个话语的检测相对应。至少一些麦克风可以与扩音器共同定位。根据一些示例,框4715可以涉及三角测量过程。例如,框4715可以涉及通过找到穿过音频设备的DOA矢量之间的交点来对用户的语音进行三角测量,例如,如下文参考图48A所描述的。根据一些实施方式,框4715(或方法4700的另一个操作)可以涉及在确定收听者位置之后,将音频设备坐标系的原点和收听者坐标系的原点共同定位。将音频设备坐标系的原点和收听者坐标系的原点共同定位可以涉及将音频设备位置从音频设备坐标系变换到收听者坐标系。
根据该实施方式,框4720涉及经由控制系统确定指示收听者角取向的收听者角取向数据。例如,收听者角取向数据可以参考用于表示收听者位置数据的坐标系如音频设备坐标系来得到。在一些这样的示例中,收听者角取向数据可以参考音频设备坐标系的原点和/或轴线来得到。
然而,在一些实施方式中,收听者角取向数据可以参考由收听者位置和环境中的另一个点如电视、音频设备、墙等定义的轴线来得到。在一些这样的实施方式中,收听者位置可以用于定义收听者坐标系的原点。在一些这样的示例中,可以参考收听者坐标系的轴线来得到收听者角取向数据。
本文公开了用于执行框4720的各种方法。根据一些示例,收听者角取向可以与收听者观看方向相对应。在一些这样的示例中,可以例如通过假定收听者正在观看特定对象如电视,参考收听者位置数据来推断收听者观看方向。在一些这样的实施方式中,可以根据收听者位置和电视位置来确定收听者观看方向。替代性地或另外地,可以根据收听者位置和电视条形音箱位置来确定收听者观看方向。
然而,在一些示例中,可以根据收听者输入来确定收听者观看方向。根据一些这样的示例,收听者输入可以包括从由收听者持有的设备接收的惯性传感器数据。收听者可以使用设备来指向环境中的位置,例如,与收听者面向的方向相对应的位置。例如,收听者可以使用设备来指向发声的扩音器(再现声音的扩音器)。因此,在这样的示例中,惯性传感器数据可以包括与发声的扩音器相对应的惯性传感器数据。
在一些这样的实例中,收听者输入可以包括由收听者选择的音频设备的指示。在一些示例中,音频设备的指示可以包括与所选音频设备相对应的惯性传感器数据。
然而,在其他示例中,可以根据收听者的一个或多个话语(例如,“电视现在在我前面”、“扬声器2现在在我前面”等)做出音频设备的指示。下文描述根据收听者的一个或多个话语来确定收听者角取向数据的其他示例。
根据图47中示出的示例,框4725涉及经由控制系统确定音频设备角取向数据,音频设备角取向数据指示每个音频设备相对于收听者位置和收听者角取向的音频设备角取向。根据一些这样的示例,框4725可以涉及围绕由收听者位置定义的点旋转音频设备坐标。在一些实施方式中,框4725可以涉及将音频设备位置数据从音频设备坐标系变换到收听者坐标系。下文描述了一些示例。
图48A示出了图47的一些框的示例。根据一些这样的示例,音频设备位置数据包括参考音频设备坐标系4807对音频设备1至5中的每一个的音频设备位置的估计。在该实施方式中,音频设备坐标系4807是以音频设备2的麦克风的位置作为原点的笛卡尔坐标系。此处,音频设备坐标系4807的x轴与音频设备2的麦克风位置与音频设备1的麦克风位置之间的线4803相对应。
在该示例中,该示例,收听者位置是通过提示被示出为坐在沙发3603上的收听者4805(例如,经由来自环境4800a中的一个或多个扩音器的音频提示)说出一个或多个话语4827并且根据到达时间(TOA)数据估计收听者位置来确定的。TOA数据与由环境中的多个麦克风获得的麦克风数据相对应。在该示例中,麦克风数据与由音频设备1至5中的至少一些(例如,3个、4个或全部5个)音频设备的麦克风对一个或多个话语4827的检测相对应。
替代性地或另外地,收听者位置根据由音频设备1至5中的至少一些(例如,2个、3个、4个或全部5个)音频设备的麦克风提供的DOA数据。根据一些这样的示例,可以根据与DOA数据相对应的线4809a、4809b等的交点来确定收听者位置。
根据该示例,收听者位置与收听者坐标系4820的原点相对应。在该示例中,收听者角取向数据由收听者坐标系4820的y’轴指示,y’轴与收听者的头4810(和/或收听者的鼻子4825)与电视3601的条形音箱4830之间的线4813a相对应。在图48A中示出的示例中,线4813a平行于y’轴。因此,角
Figure BDA0003495664310000921
表示y轴与y’轴之间的角。在该示例中,图21的框2125可以涉及音频设备坐标的角
Figure BDA0003495664310000931
围绕收听者坐标系4820的原点旋转。因此,尽管音频设备坐标系4807的原点示出为与图48A中的音频设备2相对应,但一些实施方式涉及在音频设备坐标的角
Figure BDA0003495664310000932
围绕收听者坐标系4820的原点旋转之前,将音频设备坐标系4807的原点与收听者坐标系4820的原点共同定位。该共同定位可以通过从音频设备坐标系4807到收听者坐标系4820的坐标变换来执行。
在一些示例中,条形音箱4830和/或电视3601的位置可以通过使条形音箱发出声音并且根据DOA和/或TOA数据估计条形音箱的位置来确定,这可以相当于由音频设备1至5中的至少一些(例如,3个、4个或全部5个)音频设备的麦克风对声音的检测。替代性地或另外地,条形音箱4830和/或电视3601的位置可以通过提示用户走近电视并且通过由DOA和/或TOA数据定位用户的言语来确定,这可以相当于由音频设备1至5中的至少一些(例如,3个、4个或全部5个)音频设备的麦克风对声音的检测。这种方法可以涉及三角测量。这样的示例在其中条形音箱4830和/或电视3601没有相关联的麦克风的情况下可以是有益的。
在一些其他示例中,其中,条形音箱4830和/或电视3601确实具有相关联的麦克风,条形音箱4830和/或电视3601的位置可以根据TOA或DOA方法(如本文公开的DOA方法)来确定。根据一些这样的方法,麦克风可以与条形音箱4830共同定位。
根据一些实施方式,条形音箱4830和/或电视3601可以具有相关联的相机4811。控制系统可以被配置成捕获收听者的头4810(和/或收听者的鼻子4825)的图像。在一些这样的示例中,控制系统可以被配置成确定收听者的头4810(和/或收听者的鼻子4825)与相机4811之间的线4813a。收听者角取向数据可以与线4813a相对应。替代性地或另外地,控制系统可以被配置成确定线4813a与音频设备坐标系的y轴之间的角
Figure BDA0003495664310000933
图48B示出了确定收听者角取向数据的附加示例。根据该示例,收听者位置已经在图47的框2115中确定。此处,控制系统控制环境4800b的扩音器以将音频对象4835渲染到环境4800b内的各种位置。在一些这样的示例中,控制系统可以使扩音器渲染音频对象4835,使得音频对象4835似乎围绕收听者4805旋转,例如,通过渲染音频对象4835使得音频对象4835似乎围绕收听者坐标系4820的原点旋转。在该示例中,弯曲箭头4840示出了音频对象4835在其围绕收听者4805旋转时的轨迹的一部分。
根据一些这样的示例,收听者4805可以提供指示音频对象4835何时处于收听者4805所面对的方向的用户输入(例如,说“停止”)。在一些这样的示例中,控制系统可以被配置成确定收听者位置与音频对象4835的位置之间的线4813b。在该示例中,线4813b与收听者坐标系的指示收听者4805所面对的方向的y’轴相对应。在替代性实施方式中,收听者4805可以提供指示音频对象4835何时在环境的前面、在环境的TV位置、在音频设备位置等的用户输入。
图48C示出了确定收听者角取向数据的附加示例。根据该示例,收听者位置已经在图47的框2115中确定。此处,收听者4805正在使用手持设备4845通过将手持设备4845指向电视3601或条形音箱4830来提供关于收听者4805的观看方向的输入。在该示例中,手持设备4845和收听者的手臂的虚线轮廓指示在收听者4805将手持设备4845指向电视3601或条形音箱4830之前的时间,收听者4805将手持设备4845指向音频设备2。在其他示例中,收听者4805可以已经将手持设备4845指向另一个音频设备,如音频设备1。根据该示例,手持设备4845被配置成确定音频设备2与电视3601或条形音箱4830之间的角α,角近似于音频设备2与收听者4805的观看方向之间的角。
在一些示例中,手持设备4845可以是包括惯性传感器系统和被配置用于与控制环境4800c的音频设备的控制系统通信的无线接口的蜂窝电话。在一些示例中,手持设备4845可以运行被配置成例如通过提供用户提示(例如,经由图形用户界面)、通过接收指示手持设备4845指向期望方向的输入、通过保存对应的惯性传感器数据和/或将对应的惯性传感器数据传输到控制环境4800c的音频设备的控制系统等来控制手持设备4845执行必要功能的应用或“app”。
根据该示例,控制系统(其可以是手持设备4845的控制系统或控制环境4800c的音频设备的控制系统)被配置成根据惯性传感器数据例如根据陀螺仪数据确定线4813c和4850的取向。在该示例中,线4813c平行于轴y’,并且可以用于确定收听者角取向。根据一些示例,控制系统可以根据音频设备2与收听者4805的观看方向之间的角α来确定音频设备坐标围绕收听者坐标系4820的原点的适当旋转。
图48D示出了根据参考图48C描述的方法来确定音频设备坐标的适当旋转的示例。在该示例中,音频设备坐标系4807的原点与收听者坐标系4820的原点共同定位。在其中确定收听者位置的2115的过程之后,使音频设备坐标系4807的原点和收听者坐标系4820的原点共同定位成为可能。将音频设备坐标系4807的原点和收听者坐标系4820的原点共同定位可以涉及将音频设备位置从音频设备坐标系4807变换到收听者坐标系4820。已经如上文参考图48C所描述的确定了角α。因此,角α与音频设备2在收听者坐标系4820中的期望取向相对应。在该示例中,角β与音频设备2在音频设备坐标系4807中的取向相对应。在该示例中为β-α的角
Figure BDA0003495664310000951
指示用于将音频设备坐标系4807的y轴与收听者坐标系4820的y’轴对齐所必需的旋转。
在一些实施方式中,图47的方法可以涉及至少部分地基于对应的音频设备位置、对应的音频设备角取向、收听者位置数据和收听者角取向数据来控制环境中的音频设备中的至少一个。
例如,一些实施方式可以涉及将音频设备位置数据、音频设备角取向数据、收听者位置数据和收听者角取向数据提供给音频渲染系统。在一些示例中,音频渲染系统可以由控制系统(如图6的控制系统610)实施。一些实施方式可以涉及至少部分地基于音频设备位置数据、音频设备角取向数据、收听者位置数据和收听者角取向数据来控制音频数据渲染过程。一些这样的实施方式可以涉及向渲染系统提供扩音器声学能力数据。扩音器声学能力数据可以与环境的一个或多个扩音器相对应。扩音器声学能力数据可以指示一个或多个驱动器的取向、驱动器数量或一个或多个驱动器的驱动器频率响应。在一些示例中,可以从存储器中取得扩音器声学能力数据,然后将扩音器声学能力数据提供给渲染系统。
一类实施例涉及用于渲染音频以供多个协调的(编排的)智能音频设备中的至少一个(例如,所有或一些)进行回放和/或音频回放的方法。例如,用户的家庭中(的系统中)存在的一组智能音频设备可以被编排来处理各种同时用例,包括灵活渲染音频以供智能音频设备中的所有或一些(即,由智能音频设备的所有或一些的(多个)扬声器)回放。考虑了与系统的许多交互,所述交互需要对渲染和/或回放进行动态修正。这种修正可以但不一定专注于空间保真度。
一些实施例通过协调的(编排的)多个智能音频设备的(多个)扬声器实施渲染以供回放和/或实施回放。其他实施例通过另一组扬声器的(多个)扬声器实施渲染以供回放和/或实施回放。
一些实施例(例如,渲染系统或渲染器、或渲染方法、或回放系统或方法)涉及用于由一组扬声器中的一些或所有扬声器(例如,每个激活的扬声器)渲染音频以供回放和/或回放的系统和方法。在一些实施例中,扬声器是可以包括智能音频设备的一组协调的(编排的)音频设备的扬声器。
在执行空间音频混音(例如,渲染一个音频流或多个音频流)的渲染(或渲染和回放)以供一组智能音频设备中的智能音频设备(或另一组扬声器)回放的情境中,扬声器的类型(例如,在智能音频设备中或耦接到智能音频设备)可能会有所不同,并且因此扬声器的对应声学能力可以非常显著地变化。例如,在图29中示出的音频环境2000的一个实施方式中,扩音器2005d、2005f和2005h是具有单个0.6英寸扬声器的智能扬声器。在该示例中,扩音器2005b、2005c、2005e和2005f是具有2.5英寸低音扬声器和0.8英寸高音扬声器的智能扬声器。根据该示例,扩音器2005g是具有一个5.25英寸低音扬声器、三个2英寸中音扬声器和一个1.0英寸高音扬声器的智能扬声器。此处,扩音器2005a是具有十六个1.1英寸波束驱动器和两个4英寸低音扬声器的条形音箱。因此,智能扬声器2005d和2005f的低频能力显著低于环境2000中的其他扩音器,特别是具有4英寸低音扬声器或5.25英寸低音扬声器的扩音器。
图49是示出能够实施本公开的各个方面的系统的部件的示例的框图。与本文提供的其他图一样,图49中示出的元件的类型和数量仅作为示例提供。其他实施方式可以包括更多、更少和/或不同类型和数量的元件。
根据该示例,系统4900包括智能家居中枢4905和扩音器4925a到4925m。在该示例中,智能家居中枢4905包括图6中示出并且上文所描述的控制系统610的实例。在一些示例中,可以至少部分地根据来自如图2C的CHASM 208C、图2D的CHASM 208D、图3C的CHASM 307、或图4的CHASM 401等音频会话管理器的指令来提供系统4900的功能。在一些实例中,音频会话管理器可以由除了智能家居中枢4905之外的设备来实施。然而,在一些示例中,音频会话管理器可以由智能家居中枢4905实施。根据该实施方式,控制系统610包括收听环境动态处理配置数据模块4910、收听环境动态处理模块4915和渲染模块4920。下文描述了收听环境动态处理配置数据模块4910、收听环境动态处理模块4915和渲染模块4920的一些示例。在一些示例中,渲染模块4920’可以被配置用于渲染和收听环境动态处理两者。
如智能家居中枢4905与扩音器4925a到4925m之间的箭头所表明的,智能家居中枢4905还包括图6中示出并且上文描述的接口系统605的实例。根据一些示例,智能家居中枢4905可以是图2中示出的环境200的一部分。在一些实例中,智能家居中枢4905可以由智能扬声器、智能电视、蜂窝电话、膝上型计算机等实施。在一些实施方式中,智能家居中枢4905可以由软件,例如,经由可下载软件应用或“app”的软件来实施。在一些实例中,智能家居中枢4905可以在扩音器4925a至4925m中的每一个中实施,所有扩音器并行操作以从模块4920生成相同的经处理的音频信号。根据一些这样的示例,在每个扩音器中,渲染模块4920然后可以生成与每个扩音器或一组扩音器相关的一个或多个扬声器馈送,并且可以将这些扬声器馈送提供给每个扬声器动态处理模块。
在一些实例中,扩音器4925a到4925m可以包括图29的扩音器2005a到2005h,而在其他示例中,扩音器4925a到4925m可以是或可以包括其他扩音器。因此,在该示例中,系统4900包括M个扩音器,其中,M是大于2的整数。
智能扬声器以及许多其他电动扬声器通常采用某种类型的内部动态处理来防止扬声器失真。通常与这种动态处理相关联的是信号限制阈值(例如,随频率变化的限制阈值),低于阈值的信号水平被动态保持。例如,杜比音频处理(DAP)音频后处理套件中的若干种算法之一的杜比音频调节器提供这种处理。在一些实例中,但通常不经由智能扬声器的动态处理模块,动态处理也可以涉及应用一个或多个压缩器、门、扩展器、躲避器等。
因此,在该示例中,扩音器4925a到4925m中的每一个包括对应的扬声器动态处理(DP)模块A到M。扬声器动态处理模块被配置成为收听环境的每个单独的扩音器应用单独扩音器动态处理配置数据。例如,扬声器DP模块A被配置成应用适合于扩音器4925a的单独扩音器动态处理配置数据。在一些示例中,单独扩音器动态处理配置数据可以与单独的扩音器的如扩音器在特定频率范围内和在特定水平上再现音频数据而不会出现可感知的失真的能力等一种或多种能力相对应。
当跨各自具有可能不同的回放限制的一组异构扬声器(例如,智能音频设备的扬声器或耦接到智能音频设备的扬声器)渲染空间音频时,在对整个混音执行动态处理时必须小心。简单的解决方案是将空间混音渲染为每个参与扬声器的扬声器馈送,并且然后允许与每个扬声器相关联的动态处理模块根据该扬声器的限制在其对应的扬声器馈送上独立运行。
虽然该方法将阻止每个扬声器失真,但该方法可能会以感知上分散注意力的方式动态地使混音的空间平衡移位。例如,参考图29,假设电视节目正在电视2030上示出并且对应的音频正在由音频环境2000的扩音器再现。假设在电视节目期间,与静止对象(如工厂中的重型机械单元)相关联的音频旨在被渲染到音频环境2000的特定位置。进一步假设由于扩音器4925b在低音范围内再现声音的能力基本上更强,所以与同扩音器4925b相关联的动态处理模块相比,与扩音器4925d相关联的动态处理模块对在低音范围内的音频的水平的降低基本上更多。如果与静止对象相关联的信号的音量发生波动,则当音量较高时,与扩音器4925d相关联的动态处理模块将导致在低音范围内的音频的水平降低得比由与扩音器4925b相关联的动态处理模块降低的相同音频的水平多得多。水平上的该差异将使静止对象的明显位置发生变化。因此期望改进的解决方案。
本公开的一些实施例是用于渲染(或渲染和回放)空间音频混音(例如,渲染一个音频流或多个音频流)以由一组智能音频设备(例如,一组协调的智能音频设备)中的智能音频设备中的至少一个(例如,所有或一些)智能音频设备回放和/或由另一组扬声器中的扬声器中的至少一个(例如,所有或一些)扬声器回放的系统和方法。一些实施例是用于这种渲染(例如,包括扬声器馈送的生成)以及经渲染的音频的回放(例如,所生成的扬声器馈送的回放)的方法(或系统)。这种实施例的示例包含以下各项:
用于音频处理的系统和方法可以包括渲染音频(例如,例如通过渲染一个音频流或多个音频流来渲染空间音频混音)以由至少两个扬声器(例如,一组扬声器中的所有或一些扬声器)回放,包括通过以下各项来渲染:
(a)组合单独扩音器的单独扩音器动态处理配置数据(如限制阈值(回放限制阈值)),由此确定多个扩音器的收听环境动态处理配置数据(如组合阈值);
(b)使用多个扩音器的收听环境动态处理配置数据(例如,组合阈值)对音频(例如,指示空间音频混音的音频流)执行动态处理,以生成经处理的音频;以及
(c)将经处理的音频渲染为扬声器馈送。
根据一些实施方式,过程(a)可以由如图49中示出的收听环境动态处理配置数据模块4910等模块来执行。智能家居中枢4905可以被配置用于经由接口系统获得M个扩音器中的每一个的单独扩音器动态处理配置数据。在该实施方式中,单独扩音器动态处理配置数据包括多个扩音器中的每个扩音器的单独扩音器动态处理配置数据集。根据一些示例,一个或多个扩音器的单独扩音器动态处理配置数据可以与一个或多个扩音器的一种或多种能力相对应。在该示例中,每个单独扩音器动态处理配置数据集包括至少一种类型的动态处理配置数据。在一些示例中,智能家居中枢4905可以被配置用于通过查询扩音器4925a至4925m中的每一个来获得单独扩音器动态处理配置数据集。在其他实施方式中,智能家居中枢4905可以被配置用于通过查询存储在存储器中的先前获得的单独扩音器动态处理配置数据集的数据结构来获得单独扩音器动态处理配置数据集。
在一些示例中,过程(b)可以由如图49的收听环境动态处理模块4915等模块来执行。下文描述了过程(a)和(b)的一些详细示例。
在一些示例中,过程(c)的渲染可以由如图49的渲染模块4920或渲染模块4920’等模块来执行。在一些实施例中,音频处理可以涉及:
(d)根据每个扩音器的单独扩音器动态处理配置数据对经渲染的音频信号执行动态处理(例如,根据与对应的扬声器相关联的回放限制阈值来限制扬声器馈送,由此生成受限扬声器馈送)。例如,过程(d)可以由图49中示出的动态处理模块A到M来执行。
扬声器可以包括一组智能音频设备中的智能音频设备中的至少一个(例如,全部或一些)(或耦接到智能音频设备)的扬声器。在一些实施方式中,要生成步骤(d)中的受限扬声器馈送,在步骤(c)中生成的扬声器馈送可以由动态处理的第二阶段(例如,由每个扬声器的相关联的动态处理系统)处理,例如,以在最终通过扬声器回放之前生成扬声器馈送。例如,可以将扬声器馈送(或其子集或部分)提供给每个不同扬声器的动态处理系统(例如,智能音频设备的动态处理子系统,其中,智能音频设备包括或耦接到扬声器中相关的一个扬声器),并且来自每个动态处理系统的经处理的音频输出可以用于为扬声器中相关的一个扬声器生成扬声器馈送。在扬声器特定的动态处理(换句话说,针对每个扬声器独立执行的动态处理)之后,经处理的(例如,被动态限制的)扬声器馈送可以用于驱动扬声器以引起声音的回放。
动态处理的第一阶段(在步骤(b)中)可以被设计为减少空间平衡中的感知上的分散注意力的移位,如果省略步骤(a)和(b),则会导致移位,并且由步骤(d)产生的经动态处理的(例如,限制的)扬声器馈送是响应于原始音频(而不是响应于步骤(b)中生成的经处理的音频)而生成的。这可以防止混音的空间平衡中的不期望的移位。在来自步骤(c)的经渲染的扬声器馈送上操作的动态处理的第二阶段可以被设计为确保没有扬声器失真,因为步骤(b)的动态处理可能不一定保证信号水平已降低到低于所有扬声器的阈值。在一些示例中,单独扩音器动态处理配置数据的组合(例如,第一阶段(步骤(a))中的阈值的组合)可以涉及(例如,包括)跨扬声器(例如,跨智能音频设备)对单独扩音器动态处理配置数据(例如,限制阈值)求平均或跨扬声器(例如,跨智能音频设备)获取最小单独扩音器动态处理配置数据(例如,限制阈值)的步骤。
在一些实施方式中,当动态处理的第一阶段(在步骤(b)中)对指示空间混音的音频(例如,基于对象的音频节目的音频,包括至少一个对象声道并且任选地还包括至少一个扬声器声道)进行操作时,该第一阶段可以根据用于通过使用空间区进行音频对象处理的技术来实施。在这种情况下,与每个区相关联的组合单独扩音器动态处理配置数据(例如,组合限制阈值)可以通过(或作为)单独扩音器动态处理配置数据(例如,单个扬声器限制阈值)的加权平均而得到,并且该加权可以至少部分地由每个扬声器与区的空间接近度和/或在区内的位置来给出或确定。
在示例实施例中,假定有M个扬声器(M≥2),其中,每个扬声器都由变量i索引。与每个扬声器i相关联的是频率变化的回放限制阈值集合Ti[f],其中,变量f表示应用于指定阈值的频率的有限集的索引。(注意,如果频率集的大小是一,则对应的单个阈值可以被认为是宽频带的,应用于整个频率范围)。这些阈值由每个扬声器在其自己的独立动态处理功能中使用,以将音频信号限制为低于阈值Ti[f],以用于特定目的,如防止扬声器失真或防止扬声器在其附近播放超出被认为令人反感的某个水平。
图50A、图50B和图50C示出了回放限制阈值和对应的频率的示例。例如,示出的频率范围可以跨越普通人类可听到的频率范围(例如,20Hz到20kHz)。在这些示例中,回放限制阈值由图表5000a、5000b和5000c的竖直轴线指示,竖直轴线在这些示例中被标记为“水平阈值”。回放限制阈值/水平阈值在竖直轴线上的箭头的方向上增加。例如,回放限制阈值/水平阈值可以以分贝表达。在这些示例中,图表5000a、5000b和5000c的水平轴线指示频率,所述频率在水平轴线上的箭头方向上增加。由曲线5000a、5000b和5000c指示的回放限制阈值可以例如由单独扩音器的动态处理模块来实施。
图50A的图表5000a示出回放限制阈值作为频率的函数的第一示例。曲线5005a指示每个对应频率值的回放限制阈值。在该示例中,在低音频率fb处,以输入水平Ti接收的输入音频将由动态处理模块以输出水平To输出。例如,低音频率fb可以在60Hz至250Hz的范围内。然而,在该示例中,在高音频率ft处,以输入水平Ti接收的输入音频将由动态处理模块以相同的水平,输出水平Ti输出。例如,高音频率ft可以在高于1280Hz的范围内。因此,在该示例中,曲线5005a与对低音频率应用比对高音频率显著更低的阈值的动态处理模块相对应。这种动态处理模块可以适用于不具有低音扬声器的扩音器(例如,图29的扩音器2005d)。
图50B的图表5000b示出回放限制阈值作为频率的函数的第二示例。曲线5005b指示在图50A中示出的相同的低音频率fb处,以输入水平Ti接收的输入音频将由动态处理模块以更高的输出水平To输出。因此,在该示例中,曲线5005b与不对低音频率应用低于曲线5005a的阈值的动态处理模块相对应。这种动态处理模块可以适用于具有至少小的低音扬声器的扩音器(例如,图29的扩音器2005b)。
图50C的图表5000c示出回放限制阈值作为频率的函数的第二示例。曲线5005c(在该示例中为直线)指示在图50A中示出的相同的低音频率fb处,以输入水平Ti接收的输入音频将由动态处理模块以相同水平输出。因此,在该示例中,曲线5005c与可以适用于能够再现包括低音频率的宽范围频率的扩音器的动态处理模块相对应。将观察到,为了简单起见,动态处理模块可以通过实施对所有指示的频率应用相同阈值的曲线5005d来近似曲线5005c。
可以使用如质心振幅平移(CMAP)、灵活虚拟化(FV)或如本文所公开的CMAP与FV的组合等渲染系统来为多个扬声器渲染空间音频混音。渲染系统从空间音频混音的组成分量生成扬声器馈送,多个扬声器中的每一个扬声器各一个。在一些先前的示例中,扬声器馈送然后由每个扬声器的阈值为Ti[f]的相关联的动态处理功能独立处理。在没有本公开的益处的情况下,该描述的渲染场景可能导致经渲染的空间音频混音的感知空间平衡中的分散注意力的移位。例如,M个扬声器中的一个扬声器——例如,在收听区域的右侧的一个扬声器——可能比其他扬声器(例如,在低音范围内渲染音频)的能力差得多,并且因此至少在特定频率范围内,该扬声器的阈值Ti[f]可能显著低于其他扬声器的阈值。在回放期间,该扬声器的动态处理模块将降低空间混音的右侧分量的水平,该降低显著多于左侧分量的降低。收听者对空间混音的左/右平衡之间的这种动态移位非常敏感,并且可能发现结果非常分散注意力。
要处理该问题,在一些示例中,将收听环境的单独扬声器的单独扩音器动态处理配置数据(例如,回放限制阈值)组合起来,以创建针对收听环境的所有扩音器的收听环境动态处理配置数据。然后可以在将收听环境动态处理配置数据渲染为扬声器馈送之前,将其用于首先在整个空间音频混音的情境中执行动态处理。因为动态处理的该第一阶段可以访问整个空间混音而不仅仅是一个独立的扬声器馈送,所以可以以不会使混音的感知空间平衡产生分散注意力的移位的方式来执行处理。可以以消除或减少由单独扬声器的任何独立动态处理功能执行的动态处理的量的方式组合单独扩音器动态处理配置数据(例如,回放限制阈值)。
在确定收听环境动态处理配置数据的一个示例中,单独扬声器的单独扩音器动态处理配置数据(例如,回放限制阈值)可以组合成在动态处理的第一阶段应用于空间混音的所有分量的单一收听环境动态处理配置数据集合(例如,频变回放限制阈值
Figure BDA0003495664310001011
)。根据一些这样的示例,因为针对所有分量的限制都是相同的,所以可以维持混音的空间平衡。组合单独扩音器动态处理配置数据(例如,回放限制阈值)的一种方式是跨所有扬声器i取最小值:
Figure BDA0003495664310001012
这种组合基本上消除了每个扬声器的单独动态处理的操作,因为空间混音首先被限制为低于在每个频率上能力最小的扬声器的阈值。然而,这种策略可能过于激进。许多扬声器可能以低于其能力的水平进行回放,并且所有扬声器的组合回放水平可能低得令人反感。例如,如果将图50A中示出的在低音范围内的阈值应用于与图50C的阈值相对应的扩音器,则后一个扬声器的回放水平在低音范围内会不必要地低。确定收听环境动态处理配置数据的替代性组合是跨收听环境的所有扬声器对单独扩音器动态处理配置数据取均值(平均值)。例如,在回放限制阈值的情境中,均值可以如下确定:
Figure BDA0003495664310001021
对于该组合,与取最小值相比,整体回放水平可能会增加,因为动态处理的第一阶段限制到更高的水平,由此允许更有能力的扬声器更大声地回放。对于单独限制阈值降到均值以下的扬声器,如果需要,则其独立动态处理功能可以仍然限制其相关联的扬声器馈送。然而,动态处理的第一阶段可能会减少对该限制的需求,因为已经对空间混音执行了一些初始限制。
根据确定收听环境动态处理配置数据的一些示例,可以创建可调谐组合,组合通过调谐参数α在单独扩音器动态处理配置数据的最小值与均值之间进行插值。例如,在回放限制阈值的情境中,插值可以如下确定::
Figure BDA0003495664310001022
单独扩音器动态处理配置数据的其他组合是可能的,并且本公开意在涵盖所有这样的组合。
图51A和图51B是示出动态范围压缩数据的示例的图。在图表5100a和5100b中,以分贝为单位的输入信号水平示出在水平轴线上,并且以分贝为单位的输出信号说示出在竖直轴线上。与其他公开的示例一样,特定阈值、比率和其他值仅以示例的方式示出而非限制性的。
在图51A中示出的示例中,在低于阈值的情况下,输出信号水平等于输入信号水平,所述阈值在该示例中为-10dB。其他示例可以涉及不同的阈值,例如,-20dB、-18dB、-16dB、-14dB、-12dB、-8dB、-6dB、-4dB、-2dB、0dB、2dB、4dB、6dB等。在阈值之上,示出了压缩比的各种示例。比率N:1意指在高于阈值的情况下,输入信号每增加N dB,则输出信号水平将增加1dB。例如,压缩比10:1(线5105e)意指在高于阈值的情况下,输入信号每增加10dB,则输出信号水平将仅增加1dB。压缩比1:1(线5105a)意指即使高于阈值,输出信号水平仍然等于输入信号水平。线5105b、5105c和5105d与压缩比3:2、2:1和5:1相对应。其他实施方式可以提供不同的压缩比,如2.5:1、3:1、3.5:1、4:3、4:1等。
图51B示出了“拐点”的示例,其控制压缩比在阈值处或在阈值附近如何变化,拐点在该示例中为0dB。根据该示例,具有“硬”拐点的压缩曲线由两条直线段构成,线段5110a一直到阈值并且线段5110b在阈值之上。硬拐点可以更简单地实施,但可能会导致伪影。
在图51B中,还示出了“软”拐点的一个示例。在该示例中,软拐点跨越10dB。根据该实施方式,在10dB跨度之上和之下,具有软拐点的压缩曲线的压缩比与具有硬拐点的压缩曲线的压缩比相同。其他实施方式可以提供各种其他形状的“软”拐点,其可以跨越更多或更少分贝、可以指示跨度之上的不同压缩比等。
其他类型的动态范围压缩数据可以包括“攻击”数据和“释放”数据。攻击是压缩器例如,响应于在输入处增加的水平而减少增益以达到由压缩比确定的增益的时间段。压缩器的攻击时间通常在25毫秒与500毫秒之间,但其他攻击时间也是可行的。释放是压缩器例如,响应于在输入处减少的水平而增加增益以达到由压缩比确定的输出增益(或达到输入水平,如果输入水平已经降到阈值以下)的时间段。例如,释放时间可以在25毫秒至2秒的范围内。
因此,在一些示例中,对于多个扩音器中的每个扩音器,单独扩音器动态处理配置数据可以包括动态范围压缩数据集。动态范围压缩数据集可以包括阈值数据、输入/输出比率数据、攻击数据、释放数据和/或拐点数据。这些类型的单独扩音器动态处理配置数据中的一种或多种类型可以被组合以确定收听环境动态处理配置数据。如上,参考组合回放限制阈值,在一些示例中,可以对动态范围压缩数据求平均以确定收听环境动态处理配置数据。在一些实例中,动态范围压缩数据的最小值或最大值可以用于确定收听环境动态处理配置数据(例如,最大压缩比)。在其他实施方式中,可以创建例如经由如上文参考等式(22)描述的调谐参数在针对单独扩音器动态处理的动态范围压缩数据的最小值与均值之间进行插值的可调谐组合。
在上文描述的一些示例中,在动态处理的第一阶段,将单一收听环境动态处理配置数据集合(例如,以组合阈值集合
Figure BDA0003495664310001031
)应用于空间混音的所有分量。这样的实施方式可以维持混音的空间平衡,但可能会产生其他不想要的伪影。例如,当隔离的空间区域中的空间混音的非常响亮的部分使整个混音被调低时,可能会发生“空间躲避”。在空间上远离该响亮分量的混音的其他较柔和的分量可能会被感知为变得不自然地柔和。例如,柔和的背景音乐可以在空间混音的环绕场中以低于组合阈值
Figure BDA0003495664310001032
的水平播放,并且因此动态处理的第一阶段不会对空间混音执行限制。然后,可能会在空间混音的前面(例如,针对电影声轨在屏幕上)短暂地引入响亮的枪声,并且混音的整体水平增加到高于组合阈值。此时,动态处理的第一阶段将整个混音的水平降低到阈值
Figure BDA0003495664310001041
以下。因为音乐与枪声在空间上是分开的,所以这可能被感知为连续的音乐流中的不自然躲避。
要处理这些问题,一些实施方式允许对空间混音的不同“空间区”进行独立的或部分独立的动态处理。空间区可以被认为是在其上渲染整个空间混音的空间区域的子集。尽管以下讨论的大部分提供了基于回放限制阈值的动态处理的示例,但这些概念同样适用于其他类型的单独扩音器动态处理配置数据和收听环境动态处理配置数据。
图52示出了收听环境的空间区的示例。图52描绘了空间混音区域(由整个正方形表示)的示例,细分为三个空间区:前、中央和环绕。
虽然图52中的空间区被描绘成具有硬边界,但实际上,将一个空间区到另一个空间区的过渡视为连续的是有益的。例如,位于正方形左边缘中间的空间混音分量可以将其水平的一半分配给前区,并且一半分配给环绕区。可以以该连续方式将来自空间混音的每个分量的信号水平分配和累积到每个空间区中。然后,动态处理功能可以在从混音分配给它的整体信号水平上针对每个空间区独立操作。对于空间混音的每个分量,来自每个空间区的动态处理的结果(例如,每个频率的时变增益)然后可以组合并且应用于分量。在一些示例中,空间区结果的该组合对于每个分量都是不同的,并且是该特定分量的到每个区的分配的函数。最终结果是具有类似空间区分配的空间混音的分量接收类似的动态处理,但允许空间区之间的独立性。可以有利地选择空间区以防止令人反感的空间移位,如左/右不平衡,同时仍然允许一些空间独立处理(例如,以减少如所描述的空间躲避等其他伪影)。
在本公开的动态处理的第一阶段中可以有利地采用用于按空间区处理空间混音的技术。例如,可以针对每个空间区计算跨扬声器i的单独扩音器动态处理配置数据(例如,回放限制阈值)的不同组合。组合区阈值的集合可以由
Figure BDA0003495664310001042
表示,其中,索引j是指多个空间区之一。动态处理模块可以在具有相关联的阈值
Figure BDA0003495664310001043
的每个空间区上独立操作,并且根据上文描述的技术,可以将结果应用回空间混音的组成分量上。
考虑经渲染的空间信号由总共K个单独组成信号xk[t]构成,每个组成信号都具有相关联的期望空间位置(可能是时变的)。用于实施区处理的一种特定方法涉及根据音频信号相对于区j的位置的期望空间位置计算描述每个音频信号αkj[t]对区的贡献程度的时变平移增益xk[t]。这些平移增益可以有利地被设计为遵循要求增益的平方和等于一的功率保持平移定律。根据这些平移增益,区信号sj[t]可以计算为按该区的平移增益加权的组成信号的总和:
Figure BDA0003495664310001051
然后,每个区信号sj[t]可以通过由区阈值
Figure BDA0003495664310001052
参数化的动态处理功能DP独立处理,以产生频变和时变区修正增益Gj
Figure BDA0003495664310001053
然后可以通过将区修正增益与单独组成信号xk[t]的区平移增益成比例地组合来针对每个单独组成信号计算频变和时变修正增益:
Figure BDA0003495664310001054
这些信号修正增益Gk然后可以通过例如使用滤波器组被应用到每个组成信号,以产生然后可以随后渲染为扬声器信号的经动态处理的组成信号
Figure BDA0003495664310001055
可以以各种方式执行每个空间区的单独扩音器动态处理配置数据(如扬声器回放限制阈值)的组合。作为一个示例,可以使用空间区和扬声器依赖性权重
Figure BDA0003495664310001056
将空间区回放限制阈值Ti[f]计算为扬声器回放限制阈值wij[f]的加权和:
Figure BDA0003495664310001057
类似的加权函数可以应用于其他类型的单独扩音器动态处理配置数据。有利地,空间区的组合的单独扩音器动态处理配置数据(例如,回放限制阈值)可以偏向主要负责回放与该空间区相关联的空间混音的分量的扬声器的单独扩音器动态处理配置数据(例如,回放限制阈值)。在一些示例中,这样的偏向可以通过根据每个扬声器对渲染频率f的与该区相关联的空间混音的分量的责任来设置权重wij[f]而实现。
图53示出了图52的空间区内的扩音器的示例。图53描绘了与图52相同的区,但具有负责渲染叠加的空间混音的五个示例扩音器(扬声器1、2、3、4和5)的位置。在该示例中,扩音器1、2、3、4和5由菱形表示。在该特定示例中,扬声器1主要负责渲染中央区,扬声器2和5负责前区,并且扬声器3和4负责环绕区。可以基于扬声器到空间区的该概念上的一对一映射来创建权重wij[f],但是与空间混音的基于空间区的处理一样,更连续的映射可以是优选的。例如,扬声器4非常接近前区,并且位于扬声器4与5之间的音频混音的分量(尽管在概念上的前区中)将可能主要由扬声器4和5的组合来回放。如此,扬声器4的单个扩音器动态处理配置数据(例如,回放限制阈值)有助于前区和环绕区的组合的单独扩音器动态处理配置数据(例如,回放限制阈值)是有道理的。
实现该连续映射的一种方式是将权重wij[f]设置为等于描述每个扬声器i在渲染与空间区j相关联的分量中的相对贡献的扬声器参与值。这样的值可以直接从负责向扬声器(例如,来自上文描述的步骤(c))和与每个空间区相关联的一个或多个标称空间位置的集合渲染的渲染系统得到。该标称空间位置集合可以包括在每个空间区内的位置集合。
图54示出了覆盖在图53的空间区和扬声器上的标称空间位置的示例。标称位置由编号的圆圈指示:与前区相关联的是位于正方形顶角处的两个位置,与中央区相关联的是在正方形顶部中间处的单一位置,并且与环绕区相关联的是在正方形底角处的两个位置。
为了计算空间区的扬声器参与值,可以通过渲染器渲染与区相关联的每个标称位置以生成与该位置相关联的扬声器激活。例如,在CMAP的情况下,这些激活可以是每个扬声器的增益,或者在FV的情况下,可以是每个扬声器在给定频率下的复值。接下来,对于每个扬声器和区,这些激活可以跨与空间区相关联的每个标称位置来累积,以产生值gij[f]。该值表示用于渲染与空间区j相关联的整个标称位置集合的扬声器i的总激活。最后,空间区中的扬声器参与值可以计算为由所有这些累积的跨扬声器激活的总和归一化的累积激活gij[f]。然后可以将权重设置为该扬声器参与值:
Figure BDA0003495664310001061
所描述的归一化确保跨所有扬声器i的wij[f]之和等于一,这是等式8中权重的理想性质。
根据一些实施方式,上文描述的用于计算扬声器参与值并且根据这些值来组合阈值的过程可以作为静态过程来执行,其中,在确定环境中扬声器的布局和功能的设置程序期间,所得组合阈值计算一次。在这样的系统中,可以假定一旦设置,单独扩音器的动态处理配置数据和渲染算法根据期望的音频信号位置激活扩音器的方式两者都保持静态。然而,在某些系统中,这两个方面都可能随着时间的推移例如响应于回放环境中变化的条件而变化,并且如此,可能期望根据上文描述的过程以连续或事件触发的方式更新组合阈值以考虑这样的变化。
CMAP渲染算法和FV渲染算法两者都可以增强以适配响应于收听环境中的变化的一个或多个动态可配置功能。例如,关于图53,位于扬声器3附近的人可以说出与扬声器相关联的智能助理的唤醒词,由此将系统置于准备好收听来自人的后续命令的状态中。当唤醒词被说出时,系统可以使用与扩音器相关联的麦克风来确定人的位置。使用有了该信息,系统然后可以选择将正在回放的音频的能量从扬声器3转移到其他扬声器,使得扬声器3上的麦克风可以更好地听到人。在这样的场景中,图53中的扬声器2可以在一段时间内基本上“接管”扬声器3的责任,并且因此环绕区的扬声器参与值显著地变化;扬声器3的参与值减少并且扬声器2的参与值增加。然后可以重新计算区阈值,因为其取决于已经变化的扬声器参与值。替代性地或除了渲染算法的这些变化之外,扬声器3的限制阈值可以降低到器设置的标称值以下,以防止扬声器失真。这可以确保从扬声器3播放的任何剩余音频不会增加超过被确定为对收听人的麦克风造成干扰的某个阈值。由于区阈值也是单独扬声器阈值的函数,因此在这种情况下也可以对其进行更新。
图55是概述了可以由如本文中公开的那些装置或系统等装置或系统执行的方法的一个示例的流程图。与本文所描述的其他方法一样,不必以所指示的顺序来执行方法5500的框。在一些实施方式中,方法5500的一个或多个框可以同时执行。此外,方法5500的一些实施方式可以包括比所示出和/或所描述的框更多或更少的框。方法5500的框可以由一个或多个设备执行,设备可以是(或可以包括)控制系统,诸如在图6中示出的和上文描述的控制系统610,或者其他公开的控制系统示例之一。在一些示例中,方法5500可以至少部分地根据来自如图2C的CHASM 208C、图2D的CHASM 208D、图3C的CHASM 307、或图4的CHASM401等音频会话管理器的指令来执行。
根据该示例,框5505涉及由控制系统并且经由接口系统获得收听环境的多个扩音器中的每一个的单独扩音器动态处理配置数据。在该实施方式中,单独扩音器动态处理配置数据包括多个扩音器中的每个扩音器的单独扩音器动态处理配置数据集。根据一些示例,一个或多个扩音器的单独扩音器动态处理配置数据可以与一个或多个扩音器的一种或多种能力相对应。在该示例中,每个单独扩音器动态处理配置数据集包括至少一种类型的动态处理配置数据。
在一些实例中,框5505可以涉及从收听环境的多个扩音器中的每一个获得单独扩音器动态处理配置数据集。在其他示例中,框5505可以涉及从存储在存储器中的数据结构获得单独扩音器动态处理配置数据集。例如,单独扩音器动态处理配置数据集可以先前已经例如,作为每个扩音器的设置程序的一部分而获得,并且存储在数据结构中。
根据一些示例,单独扩音器动态处理配置数据集可以是专有的。在一些这样的示例中,基于具有类似特性的扬声器的单独扩音器动态处理配置数据,单独扩音器动态处理配置数据集可以先前已经被估计。例如,框5505可以涉及从指示多个扬声器的数据结构和多个扬声器中的每一个的对应的单独扩音器动态处理配置数据集确定最类似的扬声器的扬声器匹配过程。扬声器匹配过程可以基于例如一个或多个低音扬声器、高音扬声器和/或中音扬声器的大小的比较。
在该示例中,框5510涉及由控制系统确定多个扩音器的收听环境动态处理配置数据。根据该实施方式,确定收听环境动态处理配置数据是基于针对多个扩音器中的每一个扩音器的单独扩音器动态处理配置数据集。确定收听环境动态处理配置数据可以涉及例如通过对一种或多种类型的单独扩音器动态处理配置数据求平均来组合动态处理配置数据集的单独扩音器动态处理配置数据。在一些实例中,确定收听环境动态处理配置数据可以涉及确定一种或多种类型的单独扩音器动态处理配置数据的最小值或最大值。根据一些这样的实施方式,确定收听环境动态处理配置数据可以涉及在一种或多种类型的单独扩音器动态处理配置数据的最小值或最大值与均值之间进行插值。
在该实施方式中,框5515涉及由控制系统并且经由接口系统接收包括一个或多个音频信号和相关联的空间数据的音频数据。例如,空间数据可以指示与音频信号相对应的预期感知空间位置。在该示例中,空间数据包括声道数据和/或空间元数据。
在该示例中,框5520涉及由控制系统基于收听环境动态处理配置数据对音频数据进行动态处理,以生成经处理的音频数据。框5520的动态处理可以涉及本文中所公开的任何公开的动态处理方法,包括但不限于应用一个或多个回放限制阈值、压缩数据等。
此处,框5525涉及由控制系统渲染经处理的音频数据以经由包括多个扩音器中的至少一些扩音器的一组扩音器再现,从而产生经渲染的音频信号。在一些示例中,框5525可以涉及应用CMAP渲染过程、FV渲染过程或两者的组合。在该示例中,框5520在框5525之前执行。然而,如上,框5520和/或框5510可以至少部分地基于框5525的渲染过程。框5520和5525可以涉及执行如上文参考图49的收听环境动态处理模块和渲染模块4920描述的过程等过程。
根据该示例,框930涉及经由接口系统将经渲染的音频信号提供给一组扩音器。在一个示例中,框930可以涉及由智能家居中枢4905并且经由其接口系统将经渲染的音频信号提供给扩音器4925a到4925m。
在一些示例中,方法5500可以涉及根据经渲染的音频信号提供到的一组扩音器中的每一个扩音器的单独扩音器动态处理配置数据对经渲染的音频信号执行动态处理。例如,再次参考图49,动态处理模块A到M可以根据扩音器4925a到4925m的单独扩音器动态处理配置数据对经渲染的音频信号执行动态处理。
在一些实施方式中,单独扩音器动态处理配置数据可以包括针对多个扩音器中的每一个扩音器的回放限制阈值数据集。在一些这样的示例中,回放限制阈值数据集可以包括多个频率中的每一个的回放限制阈值。
在一些实例中,确定收听环境动态处理配置数据可以涉及确定跨多个扩音器的最小回放限制阈值。在一些示例中,确定收听环境动态处理配置数据可以涉及对回放限制阈值求平均以获得跨多个扩音器的平均回放限制阈值。在一些这样的示例中,确定收听环境动态处理配置数据可以涉及确定跨多个扩音器的最小回放限制阈值,以及在最小回放限制阈值与平均回放限制阈值之间进行插值。
根据一些实施方式,对回放限制阈值求平均可以涉及确定回放限制阈值的加权均值。在一些这样的示例中,加权均值可以至少部分地基于由控制系统实施的渲染过程的特性,例如,框5525的渲染过程的特性。
在一些实施方式中,对音频数据执行动态处理可以基于空间区。每个空间区可以与收听环境的子集相对应。
根据一些这样的实施方式,可以针对每个空间区单独执行动态处理。例如,可以针对每个空间区单独执行确定收听环境动态处理配置数据。例如,可以针对一个或多个空间区中的每一个单独执行跨多个扩音器组合动态处理配置数据集。在一些示例中,针对一个或多个空间区中的每一个单独进行跨多个扩音器组合动态处理配置数据集可以至少部分地基于通过根据跨一个或多个空间区的期望音频信号位置的渲染过程激活扩音器。
在一些示例中,针对一个或多个空间区中的每一个单独进行跨多个扩音器组合动态处理配置数据集可以至少部分地基于一个或多个空间区中的每一个中的每个扩音器的扩音器参与值。每个扩音器参与值可以至少部分地基于一个或多个空间区中的每一个内的一个或多个标称空间位置。在一些示例中,标称空间位置可以与杜比5.1、杜比5.1.2、杜比7.1、杜比7.1.4或杜比9.1环绕声混音中的声道的规范位置相对应。在一些这样的实施方式中,每个扩音器参与值至少部分地基于与在一个或多个空间区中的每一个内的一个或多个标称空间位置中的每一个处渲染音频数据相对应的每个扩音器的激活。
根据一些这样的示例,回放限制阈值的加权平均值可以至少部分地基于根据接近空间区的音频信号通过渲染过程激活扩音器。在一些实例中,加权平均值可以至少部分地基于每个空间区中的每个扩音器的扩音器参与值。在一些这样的示例中,每个扩音器参与值可以至少部分地基于每个空间区内的一个或多个标称空间位置。例如,标称空间位置可以与杜比5.1、杜比5.1.2、杜比7.1、杜比7.1.4或杜比9.1环绕声混音中的声道的规范位置相对应。在一些实施方式中,每个扩音器参与值可以至少部分地基于与在每个空间区内的一个或多个标称空间位置中的每一个处渲染音频数据相对应的每个扩音器的激活。
图56A和图56B示出了可以根据一些实施例实施的系统的示例。图56B与图56A的不同之处在于图56A中用户的位置5601不同于图56B中用户的位置113。
在图56A和图56B中,标记的元素为:
5607:区1;
5612:区2;
5601:区1中用户(说话者)位置;
5602:直接本地语音(由用户说出);
5603:位于区1中的智能音频设备(例如,语音助理设备)中的多个扩音器;
5604:位于区1中的智能音频设备(例如,语音助理设备)中的多个麦克风;
5605:位于区1中的家用电器,例如,灯;
5606:位于区1中的家用电器中的多个麦克风;
5613:区2中用户(说话者)位置;
5608:位于区2中的智能音频设备(例如,语音助理设备)中的多个扩音器;
5609:位于区2中的智能音频设备(例如,语音助理设备)中的多个麦克风;
5610:位于区2中的家用电器(例如,冰箱);以及
5611:位于区2中的家用电器中的多个麦克风。
图57是根据实施例的在环境(例如,家庭)中实施的系统的框图。系统实施“跟随我”机制来跟踪用户位置。在图57中,标记的元素为:
5701:被配置成获取输入并且(响应于输入)做出关于用于确定的活动(例如,由输入5706A指示)的最佳麦克风和扩音器的决定的子系统(有时被称为模块或“跟随我”模块);
5701A:指示关于用于确定的活动和/或用户(例如,说话者)当前所在的区(即,由区映射5703指示的区之一)的系统的(多个)最佳扩音器的决定(在模块5701中确定)的数据;
5701B:指示关于用于确定的活动和/或用户当前所在的区(即,由区映射5703指示的区之一)的系统的(多个)最佳麦克风的决定(在模块5701中确定)的数据;
5702:用户位置子系统(模块),被配置成确定用户(例如,说话者,例如,图56A或图56B的用户)例如,在环境的区内的位置。在一些实施例中,子系统5702被配置成(例如,根据从麦克风5705中的至少一些得到的多个声学特征)估计用户的区。在一些这样的实施例中,目标不是估计用户的确切几何位置,而是对用户所在的离散区(例如,在存在严重噪声和残余回声的情况下)形成稳健的估计;
5702A:由模块5702确定并且断言到模块5701的指示用户(说话者)当前位置的信息(数据);
5703:提供指示系统的环境的区(例如,如果系统在图56A和图56B的环境中,则为图56A和图56B的区)的区映射以及按在区中的位置分组的系统的所有麦克风和扩音器的列表的区映射子系统。在一些实施方式中,子系统5703是或包括存储指示区映射的数据的存储器。根据一些示例,子系统5701、5702和/或5703的功能可以由在本文中所谓的SPASM(参见例如,图2C的SPASM 207C)来提供;
5703A:(在系统的一些实施方式中)断言到模块5701和/或模块5702的关于(区映射的)至少一个区以及包含在区映射的每个这样的区(例如,区的至少一个子集中的每一个)中的多个麦克风和扩音器的信息(数据);
5704:经耦接并且被配置成对麦克风5705的输出执行预处理的预处理子系统。子系统5704可以实施一个或多个麦克风预处理子系统(例如,回声管理子系统、唤醒词检测器和/或言语识别子系统等)。因此,子系统5704是在本文可以被称为“媒体引擎”的设备的部件的示例(参见例如,图4的媒体引擎440、441和442);
5704A:由子系统5704生成和从其输出的(多个)经预处理的麦克风信号;
5705:多个麦克风(例如,包括图56A和图56B的麦克风5604、5606、5609和5611);
5706:经耦接并且被配置成实施至少一个当前音频活动(例如,多个当前正在进行的音频活动)的子系统。每个这样的音频活动(为了方便起见,有时在本文中被称为“活动”)包括检测声音(使用至少一个麦克风)和/或产生声音(通过从至少一个扩音器发出声音)。这样的音频活动的示例包括但不限于音乐回放(例如,包括提供音频以供子系统5707进行渲染的步骤)、播客(例如,包括提供音频以供子系统5707进行渲染的步骤)、和/或电话呼叫(例如,包括提供电话会议音频以供子系统5707进行渲染,以及处理和/或传输提供给子系统5704的每个麦克风信号)。因此,子系统5706是在本文中可以被称为“软件应用”、“应用”、“app”或被配置用于执行软件应用、应用或app的设备的示例(参见例如,图4的应用410、411和412);
5706A:由子系统5706生成并且从子系统5706断言到模块5701的关于由子系统5706实施的当前正在进行的一个或多个活动的信息(数据);
5707:经耦接并且被配置成(例如通过生成用于驱动扬声器5708的扬声器馈送)渲染在执行系统的至少一个当前活动期间生成的或以其他方式提供的音频的多声道扩音器渲染器子系统。例如,子系统5707可以被实施为渲染音频以供扬声器5708(其可以在不同的智能音频设备中实施或耦接到不同的智能音频设备)的子集回放,使得根据数据5701A,在用户的当前位置(例如,区),由相关扩音器发出的声音是用户(例如,清楚地,或以最佳或期望的方式)可感知的。因此,子系统5707是在本文可以被称为“媒体引擎”的设备的部件的示例(参见例如,图4的媒体引擎440、441和442);
5708:多个扩音器(例如,包括图56A和图56B的5603和5608);以及
5709:来自用户(例如,说话者,例如,图56A或图56B的用户)的(多个)语音命令,在系统的典型实施方式中,(多个)语音命令从子系统5704输出并且提供给模块5701。
元素5701、5702和5703(或元素5702和5703)可以被统称为图57的系统的用户位置和活动控制子系统。
图57的系统的元素(和一些其他实施例)可以在智能音频设备中实施或耦接到智能音频设备。例如,所有或一些扩音器5708和/或所有或一些麦克风5705可以在一个或多个智能音频设备中实施或耦接到一个或多个智能音频设备,或者至少一些麦克风和扩音器可以在连接到蓝牙发射器/接收器(例如,智能电话)的蓝牙设备中实施。同样例如,图57的系统的一个或多个其他元素(例如,元素5701、5702、5703、5704和5706中的所有或一些)(和/或下文将描述的图60的系统的元素5701、5702、5703、5704、5706和6011中的所有或一些)可以在智能音频设备中实施或耦接到智能音频设备。在一些示例实施例中,“跟随我”模块5701通过响应于(由用户发出)并且由系统的至少一个麦克风检测到的声音跟踪用户位置进行操作(并且其他系统元件操作)以协调(编排)智能音频设备。例如,这样的协调包括协调要由系统的(多个)元件发出的声音的渲染和/或系统的(多个)麦克风的(多个)输出的处理、和/或由系统(例如,由系统的元件5706,例如通过控制图60的活动管理器6011或系统的另一个活动管理器)实施的至少一项活动。
通常,子系统5702与子系统5703紧密集成。子系统5702可以接收所有或一些(例如,两个或更多个)(例如,实施为异步麦克风的)麦克风5705的输出。子系统5702可以实施分类器,在一些示例中,分类器在系统的智能音频设备中实施。在其他示例中,分类器可以由经耦接并且被配置用于与麦克风通信的系统的另一种类型的设备(例如,未被配置成提供音频的智能设备)来实施。例如,至少一些麦克风5705可以是不包括在任何智能音频设备中但被配置用于与将子系统5702实施为分类器的设备通信的(例如,家用电器中的)离散麦克风,并且分类器可以被配置成根据从每个麦克风的输出信号得到的多个声学特征来估计用户的区。在一些这样的实施例中,目标不是估计用户的确切几何位置,而是对离散区(例如,在存在严重噪声和残余回声的情况下)形成稳健的估计。
本文中,环境中的对象、用户或说话者的“几何位置”(在先前和后面的描述中提及)这一表达是指参考作为整体的系统环境(例如,根据原点在环境内某处的笛卡尔坐标系或极坐标系)或参考环境内的特定设备(例如,智能音频设备)(例如,根据以设备为原点的笛卡尔坐标系或极坐标系)的基于坐标系(例如,参考GPS坐标的坐标系)的位置。在一些实施方式中,子系统5702被配置成在不参考麦克风5705的几何位置的情况下确定用户在环境中的位置的估计。
“跟随我”模块5701经耦接并且被配置成响应于多个输入(5702A、5703A、5706A和5709中的一个或多个)而操作,并且产生输出5701A和5701B中的一个或两者。接下来更详细地描述输入的示例。
输入5703A可以指示关于区映射的每个区(有时被称为声学区)的信息,包括但不限于以下各项中的一项或多项:位于每个区内的系统的设备(例如,智能设备、麦克风、扩音器等)的列表、每个区(例如,在与几何位置单位相同的坐标系中)的(多个)维度、每个区(例如,厨房、客厅、卧室等)相对于环境和/或相对于其他区的几何位置、系统的每个设备(例如,相对于其各自的区和/或相对于其他设备)的几何位置、和/或每个区的名称。
输入5702A可以是或包括关于以下各项中的所有或一些的实时信息(数据):用户(说话者)所在的声学区、说话者在这种区内的几何位置、以及说话者在这种区中停留了多长时间。输入5702A还可以包括用户位置模块5702对前一句中提到的任何信息的准确性或正确性的置信度,和/或(例如,在过去的N小时内,其中,参数N是可配置的)说话者移动的历史。
输入5709可以是用户(说话者)发出的一个语音命令或两个或更多个语音命令,每个语音命令都已被预处理子系统5704检测到(例如,与“跟随我”模块5701的功能相关或不相关的命令)。
模块5701的输出5701A是对渲染子系统(渲染器)5707根据说话者的当前(例如,最近确定的)声学区来适配处理的指令。模块5701的输出5701B是对预处理子系统5704根据说话者的当前(例如,最近确定的)声学区来适配处理的指令。
输出5701A可以指示说话者相对于说话者的当前声学区的几何位置,以及每个扩音器5708相对于说话者的几何位置和距离,例如,使渲染器5707以可能的最佳方式对由系统实施的相关活动执行渲染。可能的最佳方式可以取决于活动和区,并且任选地还取决于说话者的先前确定的(例如,记录的)偏好。例如,如果活动是电影并且说话者在客厅里,则输出5701A可以指示渲染器5707使用尽可能多的扩音器回放电影的音频,以实现电影院般的体验。如果活动是音乐或播客并且说话者在厨房里或在卧室里,则输出5701A可以指示渲染器5707仅使用最近的扩音器来渲染音乐,以实现更温馨的体验。
输出5701B可以指示供子系统5704使用的一些或所有麦克风5705(即,其(多个)输出不应被忽略而是应由子系统5704使用(即,处理)的(多个)麦克风)的经排序的列表,以及每个这样的麦克风相对于用户(说话者)的几何位置。在一些实施例中,子系统5704可以以由以下各项中的一项或多项确定的方式处理一些或全部麦克风5705的输出:每个麦克风与说话者的距离诸如由输出5701B所指示的);每个麦克风的唤醒词评分(即,麦克风听到用户说出的唤醒词的可能性)诸如果可用的话);每个麦克风的信噪比(即,相对于从麦克风捕获的环境噪声和/或音频回放,说话者说出的言语更响亮的程度);或前述各项中的两项或更多项的组合。唤醒词评分和信噪比可以由预处理子系统5704来计算。在如电话呼叫等一些应用中,子系统5704可以仅使用麦克风5705中最好的一个的输出(如列表所指示的),或者可以使用来自列表中的多个麦克风的信号来实施波束成形。要实施如(例如)分布式言语识别器或分布式唤醒词检测器等一些应用,子系统5704可以使用多个麦克风5705的输出(例如,从由输出5701B指示的经排序的列表确定,其中,排序可以是,例如,按照与用户的接近度的顺序)。
在一些示例应用中,子系统5704(带有模块5701和5702)实施试图使用(即,至少部分地响应于)输出5701B来更有效地从用户的区拾取声音(例如,以更好地识别跟随唤醒词的命令)的麦克风选择或适应性波束成形方案。在这样的场景中,模块5702可以使用子系统5704的输出5704A作为关于用户区预测的质量的反馈,以在任何各种情况下改进用户区确定,包括(但不限于)以下各项:
惩罚导致错误识别跟在唤醒词之后的语音命令的预测。例如,导致用户(例如通过发出反命令,例如,“Amanda,停下!”)打断语音助理对命令的响应的用户区域预测可能会受到惩罚;
惩罚导致低置信度的(由子系统5704实施的)言语识别器已成功识别命令的预测;
惩罚导致(由子系统5704实施的)第二遍唤醒词检测器无法以高置信度回顾性地检测唤醒词的预测;和/或
加强预测,从而高度确信地识别唤醒词和/或正确识别用户的语音命令。
图58是图57的模块5701的示例实施例的元素的框图。在图58中,标记的元素为:
图57的系统的元素(在图2和图3中相同地标记);
5804:经耦接并且被配置成识别至少一种特定类型的语音命令5709并且(响应于识别出语音命令5709是特定识别类型的)将指示断言到模块5803的模块;
5803:经耦接并且被配置成生成输出信号5701A和5701B(或在一些实施方式中,仅信号5701A或信号5701B之一)的模块;以及
5709:来自说话者的(多个)语音命令。
在图58的实施例中,“跟随我”模块5701被配置成如下操作。响应于来自说话者的语音命令5709(例如,在子系统5706实施电话呼叫时发出的“Amanda,将呼叫移至此处”),确定一组变化的扩音器(由输出5701A指示)和/或麦克风(由输出5701B指示)以供渲染器5707和/或子系统5704相应地使用。
通过如图58中实施模块5701,用户位置模块5702或子系统5704(两者均在图57中示出)可以是或包括简单的命令和识别来自说话者的直接本地语音的命令的控制模块(即,从子系统5704提供给模块5702的(多个)麦克风信号5704A指示这种本地语音,或者命令5709被提供给模块5702以及模块5701)。例如,图57的预处理子系统5704可以包含简单的命令和经耦接并且被配置成识别(由一个或多个麦克风5705的(多个)输出指示的)语音命令的控制模块,并且将(指示这种命令的)输出5709提供给模块5702以及模块5701。
在模块5701的图58的实施方式的示例中,模块5701被配置成响应来自说话者的语音命令5709(例如“将呼叫移至此处”),包括通过以下各项来响应:
作为区映射的结果,了解说话者的位置(由输入5702A指示),以根据当前说话者声学区信息(由输出5701A指示)来指示渲染器5707,使得渲染器可以变化其渲染配置,以使用对于说话者当前声学区来说的(多个)最佳扩音器;和/或
作为区映射的结果,了解说话者的位置(由输入5702A指示),以指示预处理模块5704根据当前说话者声学区信息(由输出5701B指示)来仅使用(多个)最佳麦克风的输出。
在模块5701的图58的实施方式的示例中,模块5701被配置成如下操作:
1.等待语音命令(5709);
2.在接收到语音命令5709时,确定(在模块5804中)接收到的命令5709是否是预定的特定类型的(例如,是以下各项之一:“将[活动]移至此处”或“跟随我”,其中,“[活动]”在此处表示由系统(例如,由子系统5706)当前正在实施的任何活动);
3.如果语音命令不是特定类型的,则忽略语音命令(使得模块5803产生输出信号5701A和/或输出信号5701B,就好像没有接收到被忽略的语音命令一样);以及
4.如果语音命令是特定类型的,则生成(在模块5803中)输出信号5701A和/或输出信号5701B以指示系统的其他元件根据当前声学区(如由用户位置模块5702检测并且由输入5702A指示)来变化其处理。
图59是图57的模块5701的另一个示例实施例(在图59中标记为5900)和其操作的框图。在图59中,标记的元素为:
5900:“跟随我”模块;
图57的系统的元素(在图2和图4中相同地标记);
模块5900的元素5803和5804(标记为如图58的模块5701的对应元素);
5801:指示从说话者的(例如,用户的)过去的经验中学习到的偏好的数据的数据库。数据库5801可以实施为以非暂态方式存储数据的存储器;
5801A:来自数据库5801的关于从说话者的过去的经验中学习到的偏好的信息(数据);
5802:经耦接并且被配置成响应于输入5709和/或5706A中的一个或多个、和/或输出5701A和5701B中的一个或两者(由模块5803生成)而更新数据库5801的学习模块;
5802A:关于说话者的偏好的更新的信息(数据)(由模块5802生成并且提供给数据库5801以存储在其中);
5806:经耦接并且被配置成评估经确定的说话者位置的置信度的模块;
5807:经耦接并且被配置成评估经确定的说话者位置是否为新位置的模块;以及
5808:经耦接并且被配置成请求用户确认(例如,用户的位置的确认)的模块。
图59的跟随我模块5900实施图58的跟随我模块5701的示例实施例的扩展,因为模块5900被配置成基于说话者的过去的经验自动决定要使用的最佳(多个)扩音器和(多个)麦克风。
通过将图57的模块5701实施为图59的模块5900,图57的预处理子系统5704可以包括简单的命令和经耦接并且被配置成识别(由一个或多个麦克风5705的(多个)输出指示的)语音命令的控制模块,并且将(指示经识别的命令的)输出5709提供给模块5702和模块5900两者。更一般地,用户位置模块5702或子系统5704(两者均在图57中示出)可以是或实施命令和被配置成识别来自说话者的直接本地语音的命令的控制模块(例如,从子系统5704提供给模块5702的(多个)麦克风信号5704A指示这种本地语音,或者经识别的语音命令5709从子系统5704提供给模块5702以及模块5900),并且模块5702被配置成使用经识别的命令自动检测说话者的位置。
在图59的实施例中,模块5702与区映射5703一起可以实施声学区映射器(模块5702可以经耦接并且被配置成使用区隐身和5703进行操作,或者可以与区映射5703集成)。在一些实施方式中,区映射器可以使用蓝牙设备或其他射频信标的输出来确定说话者在区内的位置。在一些实施方式中,区映射器可以将历史信息保存在其自己的系统中,并且生成输出5702A(用于提供给图59的模块5900,或提供给图57的模块5701的另一个实施例)以指示对说话者的位置的概率性置信度。(模块5900的)模块5806可以使用说话者的位置已经被正确确定的概率来影响扩音器渲染器的敏锐度(例如,如果模块5806足够确信说话者位置,例如,因为模块5900已经看到由数据5801A指示的说话者从该位置讲话的其他实例,则使输出5701A进而使渲染器5707以更集中的方式渲染相关音频)。相反地,如果模块5900没有识别出说话者先前已位于特定位置,并且模块5806对说话者位置的不够确信(例如,置信度低于预定阈值),那么模块5806可以使输出5701A被生成以便使渲染器5707渲染相关音频,使其在更一般的附近被感知。
在图59的实施方式中,来自说话者的命令5709可以使模块5900生成用于指示新的一组当前扩音器和/或麦克风的输出5701A和/或输出5701B,并且因此覆盖使用中的扩音器和/或麦克风,例如,如在图58的示例实施例中。取决于说话者在声学区内的位置(例如,如输入5702A所指示的)、说话者实际上在确定的区内的置信度(由模块5806确定)、当前正在进行的活动(即,由图57的子系统5706实施的活动,例如,如输入5706A所指示的)、以及过去学习的经验(例如,如数据5801A所指示的),模块5900被配置为自动决定为经确定正在进行的活动改变当前使用的扩音器和/或麦克风。在一些实施方式中,如果系统对这种自动决定没有足够的确信(例如,如果模块5806确信没有超过预定阈值的经确定的说话者位置),则系统可以发出请求(例如,模块5806可以使模块5808使输出5701A导致发出请求)以确认来自说话者的位置。该请求可以是来自最接近说话者的扩音器的语音提示的形式(例如提示“我们注意到你移动到了厨房,你想在这里播放音乐吗?”)。
图59的模块5900被配置成基于说话者在声学区内的移动以及任选地过去的经验(由数据库5801中的数据指示)来自动做出关于渲染器5707的配置和子系统5704应使用哪个(哪些)麦克风的决定。为此,模块5900可以考虑来自上述命令和控制模块(由预处理子系统5704或模块5702实施)的指示由说话者的直接本地语音指示的命令的输入(例如,(多个)命令5709),以及指示说话者的位置的信息(例如,由模块5702生成的输入5702A)。
在模块5900做出决定之后(即,生成输出5701A和/或输出5701B以导致先前确定的一组扩音器和/或麦克风的变化),学习模块5802可以将数据5802A存储到数据库5801中,其中,数据5802A可以指示决定是令人满意的(例如,说话者没有手动撤销决定)或者不令人满意的(例如,说话者通过发出语音命令来手动撤销决定),以努力确保未来更好地自动确定结果。
更一般地,输出5701A和/或输出5701B的生成(例如,更新)可以响应于指示学习到的经验(例如,学习到的用户的偏好)的数据(例如,来自数据库5801)而在正在进行的音频活动时执行,学习到的经验由学习模块5802(和/或实施例的另一个学习模块)从至少一个先前活动(其在输出5701A和/或5701B的生成之前,例如,在正在进行中的音频活动之前发生)确定。例如,学习到的经验可以从在与当前正在进行的音频活动期间存在的条件相同或类似的条件下断言的先前用户命令来确定,并且输出5701A和/或输出5701B可以根据基于指示这种学习到的经验的数据(例如,来自数据库5801)的概率性置信度来更新(例如,在这样的意义上影响扩音器渲染器5707的敏锐度:如果模块5900基于学习到的经验对用户的偏好足够确信,则更新的输出5701A使渲染器5707以更集中的方式渲染相关音频)。
学习模块5802可以实施响应于(和/或具有)每组相同输入(提供给模块5900)和/或特征而做出的最近正确决定的简单数据库。该数据库的输入可以是或包括当前系统活动(例如,由输入5706A指示)、当前说话者声学区(由输入5702A指示)、先前说话者声学区(也由输入5702A指示)、以及关于在相同情况下的先前决定是否正确的指示(例如,由语音命令5709指示)。替代性地,模块5802可以实施具有说话者想要自动变化系统状态的概率的状态映射,其中正确的和不正确的每个过去的决定都被添加到这种概率映射中。替代性地,模块5802可以实施为基于模块5900的所有或一些输入来学习的神经网络,并且其输出用于生成输出5701A和5701B(例如,以指示渲染器5707和预处理模块5704是否需要区变化)。
图57的系统(其中模块5701实施为图59的模块5900)执行的处理的示例流程如下:
1.说话者在声学区1(例如,图56A的元素5607)中并且开始与Anthony的电话通话;
2.用户位置模块5702和跟随我模块5900知道说话者在区1中,并且模块5900生成输出5701A和5701B以使预处理模块5704为该区使用一个最佳麦克风(或多个最佳麦克风),并且使渲染器5707为该区使用最佳扩音器配置;
3.说话者移动到声学区2(例如,图56B的元素5612)中;
4.用户位置模块5702检测到说话者的声学区的变化,并且将输入5702A断言到模块5900以便指示变化;
5.模块5900从过去的经验中想起(即,数据库5801中的数据表明),在与当前情况类似的情况下,当说话者移动时,说话者要求将电话呼叫移动到新的声学区。在很短的时间之后,通话应该被移动的置信度超过了设定的阈值(如由模块5806确定的),并且模块5900指示预处理子系统5704将麦克风配置变化到新的声学区,并且还指示渲染器5707调整其扩音器配置,为新的声学区提供最佳体验;以及
6.说话者不会通过发出语音命令5709来撤销自动决定(使得模块5804不会向学习模块5802和模块5803指示这种撤销),并且学习模块5802使数据5802A被存储在数据库5801中以指示模块5900在这种情况下做出了正确决定,从而针对类似的未来情况加强了这种决定。
图60是另一个示例实施例的框图。在图60中,标记的元素为:
图57的系统的元素(在图57和图60中相同地标记);
6011:耦接到子系统5706和模块5701,并且了解说话者在实施系统的环境(例如,家庭)中和之外的活动的活动管理器。活动管理器6011是本文中所谓的音频会话管理器的示例,音频会话管理器的一些示例在本文中被称为CHASM(参见例如,图2C的CHASM 208C、图2D的CHASM 208D、图3C的CHASM 307和图4的CHASM 401);
6012:耦接到活动管理器6011的智能电话(系统的用户的电话,用户在本文中有时被称为说话者),以及连接到智能电话的蓝牙耳机;以及
5706B:关于由子系统5706实施的当前正在进行的一个或多个活动(和/或说话者在系统实施于其中的环境之外的活动)的信息(数据),信息(数据)由活动管理器6011和/或子系统5706生成,并且作为输入提供给模块5701。
在图60的系统中,“跟随我”模块5701的输出5701A和5701B是对活动管理器6011以及对渲染器5707和预处理子系统5704的指令,可以使活动管理器、渲染器和预处理子系统中的每一个根据说话者的当前声学区(例如,说话者被确定所在的新声学区)来适配处理。
在图60的系统中,模块5701被配置成响应于输入5706B(以及提供给模块5701的其他输入)而生成输出5701A和/或输出5701B。模块5701的输出5701A指示渲染器5707(和/或活动管理器6011)根据说话者的当前(例如,新确定的)声学区来适配处理。模块5701的输出5701B指示预处理子系统5704(和/或活动管理器6011)根据说话者的当前(例如,新确定的)声学区来适配处理。
由图60的系统实施的处理的示例流程假定系统在房屋中实施,除了元素6012可以在房屋内或房屋外操作,并且模块5701与图59的模块5900一样实施。示例流程如下:
1.说话者外出散步,并且在智能电话元素6012上接到来自Anthony的电话通话;
2.说话者走进房屋,进入声学区1(例如,图56A的元素5607),在通话过程中并且关闭元素6012的蓝牙耳机;
3.用户位置模块5702和模块5701检测到说话者进入声学区1,并且模块5701(从输入5706B)知道说话者正在电话通话(由子系统5706实施)中并且元素6012的蓝牙耳机已关闭;
4.模块5701从过去的经验中想起,在与当前状况类似的状况中,说话者要求将通话移动到新的声学区。在很短的时间之后,通话应该被移动的置信度上升超过了阈值,并且模块5701指示活动管理器6011(通过断言适当的(多个)输出5701A和/或5701B)通话应该从智能电话元素6012移动到在家庭中实施的图60的系统的设备;模块5701指示预处理子系统5704(通过断言适当的输出5701B)将麦克风配置变化到新的声学区;并且模块5701还指示渲染器5707(通过断言适当的输出5701A)调整其扩音器配置,以为新的声学区提供最佳体验;以及
5.说话者没有通过发出语音命令来撤销自动决定(由模块5701做出),并且模块5701的学习模块(5802)存储指示模块5701在这种情况下做出正确决定的数据,用于在未来类似的情况下加强这种决定。
其他实施例可以涉及:
一种在环境中控制包括多个智能音频设备的系统的方法,其中,系统包括一组一个或多个麦克风(例如,每个麦克风包括在环境中的至少一个智能音频设备中或被配置用于与环境中的至少一个智能音频设备进行通信)和一组一个或多个扩音器,并且其中,环境包括多个用户区,方法包括以下步骤:至少部分地从麦克风的输出信号确定用户在环境中的位置的估计,其中,估计指示用户位于哪个用户区中;
一种跨多个智能音频设备管理音频会话的方法,方法包括响应于用户的请求或用户发出的其他声音而为正在进行的音频活动变化一组当前使用的麦克风和扩音器的步骤;以及
一种跨多个智能音频设备管理音频会话的方法,方法包括基于至少一种先前的经验(例如,基于从用户的过去的经验中学习到的至少一种偏好)而为正在进行的音频活动变化一组当前使用的麦克风和扩音器的步骤。
一些实施例的各方面包括以下枚举的示例实施例(EEE):
EEE1.一种在设备的集体性系统(星座)中控制音频的方法,所述方法包括多个音频设备(例如,智能音频设备)通过可以发布针对音频信号路由的较低水平控制的单个分层系统共同工作,其中:
a.存在针对可以被控制的设备的星座的应用的单个接口点;
b.与该单个接触点的交互不涉及关于所述设备的具体细节;
c.所述交互包括多个显式参数或隐式参数,所述参数包括
i.来源,
ii.目的地,以及
iii.优先级;
d.所述系统跟踪这些路由(例如,对CHASM的请求)中的每一个的唯一持续性标识符,并且任选地还可以从所述唯一持续性标识符中查询多个性质(例如,本质上是连续的性质);以及
e.所述系统连续地利用可用的(例如,至少一些、或任何或所有可用的当前的和历史的)信息来执行对音频设备的控制。
EEE2.如权利要求EEE1所述的方法,其中,所述多个参数还包括模式(例如,同步)。
EEE3.如前述权利要求中任一项所述的方法,其中,所述多个参数还包括质量(例如,传递音频的目标,例如,可懂度)。
EEE4.如前述权利要求中任一项所述的方法,其中,所述多个参数还包括坚决程度(例如,你有多想知道它已确认)。
EEE5.如前述权利要求中任一项所述的方法,其中,所述多个性质包括它(例如,音频)被听到(例如,正在进行)的程度(例如,置信度)。
EEE6.如前述权利要求中任一项所述的方法,其中,所述多个性质包括存在交互(确认)的程度。
EEE7.如前述权利要求中任一项所述的方法,其中,所述多个参数包括可听度。
EEE8.如前述权利要求中任一项所述的方法,其中,所述多个参数包括缺乏可听度。
EEE9.如前述权利要求中任一项所述的方法,其中,所述多个参数包括可懂度。
EEE10.如前述权利要求中任一项所述的方法,其中,所述多个参数包括缺乏可懂度(例如,掩蔽、“静锥区”)。
EEE11.如前述权利要求中任一项所述的方法,其中,所述多个参数包括空间保真度(例如,定位性能)。
EEE12.如前述权利要求中任一项所述的方法,其中,所述多个参数包括一致性。
EEE13.如前述权利要求中任一项所述的方法,其中,所述多个参数包括保真度(例如,缺少编码失真)。
EEE14.一种被配置成实施如前述权利要求中任一项所述的方法的系统,其中,路由可以仅具有单一目的地(单播)。
EEE15.一种被配置成实施如权利要求EEE1至EEE13中任一项所述的方法的系统,其中,路由可以具有多个目的地(多播)。
EEE16.一种用于具有多个音频设备的音频环境的音频会话管理方法,音频会话管理方法包括:
从实施第一应用的第一设备并且由实施音频会话管理器的设备接收用于发起针对第一音频会话的第一路由的第一路由发起请求,第一路由发起请求指示第一音频源和第一音频环境目的地,第一音频环境目的地与音频环境的至少第一区域相对应,第一音频环境目的地不指示音频设备;以及
由实施音频会话管理器的设备建立与第一路由发起请求相对应的第一路由,其中,建立第一路由涉及:
针对第一音频会话的第一阶段确定音频环境的第一区域中的至少一个音频设备;以及
发起或调度第一音频会话。
EEE17.如EEE16所述的音频会话管理方法,其中,所述第一路由发起请求包括第一音频会话优先级。
EEE18.如EEE16或EEE17所述的音频会话管理方法,其中,所述第一路由发起请求包括第一连接模式。
EEE19.如EEE18所述的音频会话管理方法,其中,所述第一连接模式为同步连接模式、事务连接模式或调度连接模式。
EEE20.如EEE16至EEE19中任一项所述的音频会话管理方法,其中,所述第一路由发起请求指示第一人并且包括是否将需要来自至少所述第一人的确认的指示。
EEE21.如EEE16至EEE20中任一项所述的音频会话管理方法,其中,所述第一路由发起请求包括第一音频会话目标。
EEE22.如EEE21所述的音频会话管理方法,其中,所述第一音频会话目标包括可懂度、音频质量、空间保真度或不可听度中的一项或多项。
EEE23.如EEE16至EEE22中任一项所述的音频会话管理方法,进一步包括确定所述第一路由的第一持续性唯一音频会话标识符以及将所述第一持续性唯一音频会话标识符传输到所述第一设备。
EEE24.如EEE16至EEE23中任一项所述的音频会话管理方法,其中,建立所述第一路由涉及使所述环境中的至少一个设备至少建立与所述第一路由相对应的第一媒体流,所述第一媒体流包括第一音频信号。
EEE25.如EEE24所述的音频会话管理方法,进一步包括使所述第一音频信号被渲染为第一经渲染的音频信号的渲染过程。
EEE26.如EEE25所述的音频会话管理方法,进一步包括:
执行在第一时间自动确定多个音频设备中的每个音频设备在所述音频环境的所述第一区域中的第一位置的第一扩音器自动定位过程,其中,所述渲染过程至少部分地基于每个音频设备的所述第一位置;以及
将每个音频设备的所述第一位置存储在与所述第一路由相关联的数据结构中。
EEE27.如EEE25所述的音频会话管理方法,进一步包括:
确定所述第一区域中的至少一个音频设备具有变化的位置;
执行自动确定所述变化的位置的第二扩音器自动定位过程;
更新所述渲染过程至少部分地基于所述变化的位置;以及
将所述变化的位置存储在与所述第一路由相关联的数据结构中。
EEE28.如EEE25所述的音频会话管理方法,进一步包括:
确定至少一个附加音频设备已被移动到所述第一区域;
执行自动确定所述附加音频设备的附加音频设备位置的第二扩音器自动定位过程;
更新所述渲染过程至少部分地基于所述附加音频设备位置;以及
将所述附加音频设备位置存储在与所述第一路由相关联的数据结构中。
EEE29.如EEE16至EEE28中任一项所述的音频会话管理方法,其中,所述第一路由发起请求至少将第一人指示为第一路由源或第一路由目的地。
EEE30.如EEE16至EEE29中任一项所述的音频会话管理方法,其中,所述第一路由发起请求至少将第一服务指示为所述第一音频源。
EEE31.一种被配置成执行如EEE16至EEE30中任一项所述的方法的装置。
EEE32.一种被配置成执行如EEE16至EEE30中任一项所述的方法的系统。
EEE33.一个或多个非暂态介质,其上编码有软件,所述软件包括用于控制一个或多个设备执行如EEE16至EEE30中任一项所述的方法的指令。
一些公开的实施方式包括一种被配置(例如,被编程)成执行一些或所有所公开方法的系统或设备,以及一种存储用于实施一些或所有所公开方法或其步骤的代码的有形计算机可读介质(例如,磁盘)。一些所公开的系统可以是或者包括可编程通用处理器、数字信号处理器或微处理器,可编程通用处理器、数字信号处理器或微处理器用软件或固件编程为和/或以其他方式被配置成对数据进行多种操作中的任何一种,包括一些或所有所公开方法或其步骤的实施方式。这种通用处理器可以是或者包括计算机系统,计算机系统包括输入设备、存储器和处理子系统,处理子系统被编程(和/或以其他方式被配置)为响应于向其断言的数据而执行一些或所有所公开方法(或其步骤)。
一些实施例可以被实施为可配置的(例如,可编程的)数字信号处理器(DSP),DSP被配置(例如,被编程和以其他方式被配置)为对(多个)音频信号执行需要的处理,包括对一些或所有所公开方法的执行。替代性地或另外地,一些实施例(或其元件)可以被实施为通用处理器(例如,个人计算机(PC)或其他计算机系统或微处理器,其可以包括输入设备和存储器),通用处理器被用软件或固件编程和/或以其他方式被配置成执行包括一些或所有所公开方法的各种操作中的任何一种。替代性地或另外地,一些实施例的元件可以被实施为被配置(例如,被编程)为执行一些或所有所公开方法的通用处理器或DSP,并且系统还可以包括其他元件(例如,一个或多个扩音器和/或一个或多个麦克风)。在一些示例中,被配置成执行一些或所有所公开方法的通用处理器可以耦接到输入设备(例如,鼠标和/或键盘)、存储器和显示设备。
本公开的一些实施方式可以是或可以包括一种计算机可读介质(例如,磁盘或其他有形存储介质),计算机可读介质存储用于执行一些或所有所公开方法或其步骤的代码(例如,可执行以执行一些或所有所公开方法或其步骤的编解码器)。
虽然在本文中已经描述了具体实施例和应用,但是对于本领域普通技术人员而言显而易见的是,在不脱离在本文中示出的、描述的并要求保护的材料的范围的情况下,可以对本文的实施例和应用进行许多改变。应当理解,虽然已经示出和描述了某些实施方式,但是本公开不限于所描述和示出的具体实施例或所描述的具体方法。

Claims (20)

1.一种用于音频环境的音频系统的音频会话管理方法,所述音频会话管理方法包括:
在音频会话管理器与所述音频系统的至少第一智能音频设备之间建立第一智能音频设备通信链路,所述第一智能音频设备包括单用途音频设备或多用途音频设备,所述第一智能音频设备包括一个或多个扩音器;
在所述音频会话管理器与执行第一应用的第一应用设备之间建立第一应用通信链路;
由所述音频会话管理器确定所述第一智能音频设备的第一媒体引擎的一个或多个第一媒体引擎能力,所述第一媒体引擎被配置用于管理由所述第一智能音频设备接收的一个或多个音频媒体流以及用于根据第一媒体引擎采样时钟针对所述一个或多个音频媒体流执行第一智能音频设备信号处理;
由所述音频会话管理器并且经由所述第一应用通信链路接收来自所述第一应用的第一应用控制信号;以及
由所述音频会话管理器根据所述第一媒体引擎能力经由第一音频会话管理控制信号来控制所述第一智能音频设备,所述第一音频会话管理控制信号是经由所述第一智能音频设备通信链路被传输到所述第一智能音频设备的,其中,所述音频会话管理器在不参考所述第一媒体引擎采样时钟的情况下将所述第一音频会话管理控制信号传输到所述第一智能音频设备。
2.如权利要求1所述的音频会话管理方法,其中,所述第一应用通信链路是响应于来自所述第一应用设备的第一路由发起请求而建立的。
3.如权利要求1或权利要求2所述的音频会话管理方法,其中,所述第一应用控制信号是在不参考所述第一媒体引擎采样时钟的情况下从所述第一应用传输的。
4.如权利要求1至3中任一项所述的音频会话管理方法,其中,所述第一音频会话管理控制信号使所述第一智能音频设备将对所述第一媒体引擎的控制委派给所述音频会话管理器。
5.如权利要求1至4中任一项所述的音频会话管理方法,其中,除了所述音频会话管理器或所述第一智能音频设备之外的一设备被配置用于执行所述第一应用。
6.如权利要求1至4中任一项所述的音频会话管理方法,其中,所述第一智能音频设备被配置用于执行所述第一应用。
7.如权利要求1至6中任一项所述的音频会话管理方法,其中,所述第一智能音频设备包括特定用途音频会话管理器,并且其中,所述音频会话管理器经由所述第一智能音频设备通信链路与所述特定用途音频会话管理器进行通信。
8.如权利要求7所述的音频会话管理方法,其中,所述音频会话管理器从所述特定用途音频会话管理器获得所述一个或多个第一媒体引擎能力。
9.如权利要求1至8中任一项所述的音频会话管理方法,其中,所述音频会话管理器充当控制所述第一媒体引擎的所有应用的网关,无论所述应用是在所述第一智能音频设备上还是在另一个设备上运行。
10.如权利要求1至9中任一项所述的音频会话管理方法,进一步包括至少建立与第一音频源相对应的第一音频流,所述第一音频流包括第一音频信号。
11.如权利要求10所述的音频会话管理方法,其中,至少建立所述第一音频流涉及经由第一音频会话管理控制信号来使所述第一智能音频设备至少建立所述第一音频流,所述第一音频会话管理控制信号是经由所述第一智能音频设备通信链路被传输到所述第一智能音频设备的。
12.如权利要求10或权利要求11所述的音频会话管理方法,进一步包括使所述第一音频信号被渲染为第一经渲染的音频信号的渲染过程。
13.如权利要求12所述的音频会话管理方法,其中,所述渲染过程由所述第一智能音频设备响应于所述第一音频会话管理控制信号而执行。
14.如权利要求12或权利要求13所述的音频会话管理方法,进一步包括:
经由所述第一音频会话管理控制信号来使所述第一智能音频设备在所述音频环境的一个或多个其他智能音频设备中的每一个其他智能音频设备与所述第一智能音频设备之间建立智能音频设备间通信链路;以及
使所述第一智能音频设备经由所述智能音频设备间通信链路或多个所述智能音频设备间通信链路将原始麦克风信号、经处理的麦克风信号、经渲染的音频信号或未渲染的音频信号中的一个或多个传输到所述一个或多个其他智能音频设备。
15.如权利要求1至14中任一项所述的音频会话管理方法,进一步包括:
在所述家庭音频系统的至少一第二智能音频设备与所述音频会话管理器之间建立第二智能音频设备通信链路,所述第二智能音频设备包括单用途音频设备或多用途音频设备,所述第二智能音频设备包括一个或多个麦克风;
由所述音频会话管理器确定所述第二智能音频设备的第二媒体引擎的一个或多个第二媒体引擎能力,所述第二媒体引擎被配置用于从所述一个或多个麦克风接收麦克风数据以及用于对所述麦克风数据执行第二智能音频设备信号处理;以及
由所述音频会话管理器根据所述第二媒体引擎能力经由第二音频会话管理器控制信号来控制所述第二智能音频设备,所述第二音频会话管理器控制信号是经由所述第二智能音频设备通信链路被传输到所述第二智能音频设备的。
16.如权利要求15所述的音频会话管理方法,其中,控制所述第二智能音频设备包含:
使所述第二智能音频设备在所述第二智能音频设备与所述第一智能音频设备之间建立智能音频设备间通信链路;以及
使所述第二智能音频设备经由所述智能音频设备间通信链路将经处理的或未处理的麦克风数据中的至少一项从所述第二媒体引擎传输到所述第一媒体引擎。
17.如权利要求15或权利要求16所述的音频会话管理方法,其中,控制所述第二智能音频设备包含:
由所述音频会话管理器并且经由所述第一应用通信链路接收来自所述第一应用的第一应用控制信号;以及
根据所述第一应用控制信号来确定所述第二音频会话管理器控制信号。
18.一种装置,所述装置被配置成执行如权利要求1至17中任一项所述的方法。
19.一种系统,所述系统被配置成执行如权利要求1至17中任一项所述的方法。
20.一个或多个非暂态介质,其上编码有软件,所述软件包括用于控制一个或多个设备执行如权利要求1至17中任一项所述的方法的指令。
CN202080055801.1A 2019-07-30 2020-07-28 音频设备的协调 Pending CN114208207A (zh)

Applications Claiming Priority (31)

Application Number Priority Date Filing Date Title
US201962880115P 2019-07-30 2019-07-30
US201962880121P 2019-07-30 2019-07-30
US201962880114P 2019-07-30 2019-07-30
US201962880118P 2019-07-30 2019-07-30
US62/880,114 2019-07-30
ESP201930702 2019-07-30
US62/880,118 2019-07-30
US62/880,121 2019-07-30
ES201930702 2019-07-30
US62/880,115 2019-07-30
US201962949998P 2019-12-18 2019-12-18
EP19217580 2019-12-18
US62/949,998 2019-12-18
EP19217580.0 2019-12-18
US202062971421P 2020-02-07 2020-02-07
US62/971,421 2020-02-07
US202062992068P 2020-03-19 2020-03-19
US62/992,068 2020-03-19
US202062705143P 2020-06-12 2020-06-12
US62/705,143 2020-06-12
US202062705351P 2020-06-23 2020-06-23
US62/705,351 2020-06-23
US202062705410P 2020-06-25 2020-06-25
US62/705,410 2020-06-25
US16/929,215 2020-07-15
US16/929,215 US11659332B2 (en) 2019-07-30 2020-07-15 Estimating user location in a system including smart audio devices
US202062705883P 2020-07-20 2020-07-20
US202062705884P 2020-07-20 2020-07-20
US62/705,883 2020-07-20
US62/705,884 2020-07-20
PCT/US2020/043795 WO2021021766A1 (en) 2019-07-30 2020-07-28 Coordination of audio devices

Publications (1)

Publication Number Publication Date
CN114208207A true CN114208207A (zh) 2022-03-18

Family

ID=71944433

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202080067859.8A Pending CN114514756A (zh) 2019-07-30 2020-07-27 音频设备的协调
CN202080055801.1A Pending CN114208207A (zh) 2019-07-30 2020-07-28 音频设备的协调

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202080067859.8A Pending CN114514756A (zh) 2019-07-30 2020-07-27 音频设备的协调

Country Status (6)

Country Link
US (2) US20220345820A1 (zh)
EP (2) EP4005247A1 (zh)
JP (3) JP2022542388A (zh)
KR (1) KR102550030B1 (zh)
CN (2) CN114514756A (zh)
WO (2) WO2021021752A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111312239B (zh) * 2020-01-20 2023-09-26 北京小米松果电子有限公司 响应方法、装置、电子设备及存储介质
US20220148575A1 (en) * 2020-11-12 2022-05-12 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof
WO2023131399A1 (en) * 2022-01-04 2023-07-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for multi device audio object rendering
US11769506B1 (en) * 2022-05-09 2023-09-26 Amazon Technologies, Inc. Response orchestrator for natural language interface
CN116028005B (zh) * 2022-05-16 2023-10-20 荣耀终端有限公司 音频会话获取方法、装置、设备和存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6329908B1 (en) * 2000-06-23 2001-12-11 Armstrong World Industries, Inc. Addressable speaker system
US7492913B2 (en) * 2003-12-16 2009-02-17 Intel Corporation Location aware directed audio
US7668939B2 (en) * 2003-12-19 2010-02-23 Microsoft Corporation Routing of resource information in a network
US8214447B2 (en) * 2004-06-08 2012-07-03 Bose Corporation Managing an audio network
US8724600B2 (en) * 2008-01-07 2014-05-13 Tymphany Hong Kong Limited Systems and methods for providing a media playback in a networked environment
US8929807B2 (en) * 2011-08-30 2015-01-06 International Business Machines Corporation Transmission of broadcasts based on recipient location
US9727321B2 (en) * 2012-10-11 2017-08-08 Netflix, Inc. System and method for managing playback of streaming digital content
DE102013217367A1 (de) * 2013-05-31 2014-12-04 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und verfahren zur raumselektiven audiowiedergabe
EP3224814B1 (en) * 2014-11-27 2019-05-22 ABB Schweiz AG Distribution of audible notifications in a control room
IL243513B2 (en) * 2016-01-07 2023-11-01 Noveto Systems Ltd A system and method for voice communication
US9826306B2 (en) 2016-02-22 2017-11-21 Sonos, Inc. Default playback device designation
US11310617B2 (en) * 2016-07-05 2022-04-19 Sony Corporation Sound field forming apparatus and method
CN107948838A (zh) 2017-12-25 2018-04-20 广州市尊浪电器有限公司 一种音箱的控制方法及音箱设备
US10511930B2 (en) * 2018-03-05 2019-12-17 Centrak, Inc. Real-time location smart speaker notification system

Also Published As

Publication number Publication date
JP2022542963A (ja) 2022-10-07
US20220345820A1 (en) 2022-10-27
EP4005247A1 (en) 2022-06-01
KR20220028091A (ko) 2022-03-08
JP2022542388A (ja) 2022-10-03
CN114514756A (zh) 2022-05-17
WO2021021766A1 (en) 2021-02-04
US20240163340A1 (en) 2024-05-16
KR102550030B1 (ko) 2023-07-03
JP7275375B2 (ja) 2023-05-17
EP4005231A1 (en) 2022-06-01
WO2021021752A1 (en) 2021-02-04
JP2023120182A (ja) 2023-08-29

Similar Documents

Publication Publication Date Title
JP7275375B2 (ja) オーディオデバイスのコーディネーション
US11089402B2 (en) Conversation assistance audio device control
US11929088B2 (en) Input/output mode control for audio processing
US11809775B2 (en) Conversation assistance audio device personalization
US10491643B2 (en) Intelligent augmented audio conference calling using headphones
US20220272454A1 (en) Managing playback of multiple streams of audio over multiple speakers
US10978085B2 (en) Doppler microphone processing for conference calls
US20230319190A1 (en) Acoustic echo cancellation control for distributed audio devices
US11968268B2 (en) Coordination of audio devices
JP2022514325A (ja) 聴覚デバイスにおけるソース分離及び関連する方法
JP7037671B2 (ja) オーディオの提示のための装置および関連する方法
RU2818982C2 (ru) Управление акустической эхокомпенсацией для распределенных аудиоустройств
US20230262169A1 (en) Core Sound Manager
KR102670118B1 (ko) 다중 스피커를 통한 다중 오디오 스트림 재생 관리
US20220303149A1 (en) Conferencing session facilitation systems and methods using virtual assistant systems and artificial intelligence algorithms
CN116806431A (zh) 通过相互设备可听性在用户位置处的可听性
CN117133296A (zh) 显示设备及多路语音信号的混音处理方法
Staff Intelligent Audio Environments

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40065748

Country of ref document: HK