一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

聚合硬件环回的制作方法

2022-02-18 22:06:41 来源:中国专利 TAG:

聚合硬件环回


背景技术:

1.本公开涉及与计算机设备通信的多个设备。
2.应用可能希望使用正被呈现给扬声器的音频数据的环回音频流以进行各种处理。例如,应用可能希望使用环回音频流来消除回声或针对应用的音频。当多个设备与计算机设备通信时,应用可能需要访问多个环回流以进行处理,并且应用确定访问哪个环回流可能变得麻烦。
3.因此,本领域需要对设备上的音频环回进行改进。


技术实现要素:

4.以下给出了本公开的一个或多个实施方式的简化概述,以提供对这种实施方式的基本理解。该概述不是所有预期实施方式的广泛概述,并且既不旨在标识所有实施方式的关键或重要元素,也不旨在描绘任何或所有实施方式的范围。其唯一目的是以简化的形式呈现本公开的一个或多个实施方式的一些概念,作为稍后呈现的更详细描述的序言。
5.一个示例实施方式涉及一种计算机设备。计算机设备可以包括:用于存储数据和指令的存储器;被配置为与存储器通信的至少一个处理器;以及操作系统,被配置为:从与计算机设备通信的多个显示设备接收具有呈现音频数据的多个硬件环回流,其中多个硬件环回流中的每个硬件环回流对应于多个显示设备中的一个显示设备;将来自多个硬件环回流的呈现音频数据组合到环回缓冲器中,以创建聚合环回音频数据;以及向在计算机设备上执行的一个或多个应用提供具有聚合环回音频数据的环回缓冲器。
6.另一个示例实施方式涉及一种聚合与计算机设备通信的多个显示设备的硬件环回流的方法。方法可以包括:在计算机设备上执行的操作系统处,从与计算机设备通信的多个显示设备接收具有呈现音频数据的多个硬件环回流,其中多个硬件环回流中的每个硬件环回流对应于多个显示设备中的一个显示设备。方法可以包括:将来自多个硬件环回流的呈现音频数据组合到环回缓冲器中,以创建聚合环回音频数据。方法可以包括:向在计算机设备上执行的一个或多个应用提供具有聚合环回音频数据的环回缓冲器。
7.另一个示例实施方式涉及计算机可读介质,其存储由计算机设备可执行的指令。计算机可读介质可以包括:用于使计算机设备从与计算机设备通信的多个显示设备接收具有呈现音频数据的多个硬件环回流的至少一个指令,其中多个硬件环回流中的每个硬件环回流对应于多个显示设备中的一个显示设备。计算机可读介质可以包括:用于使计算机设备将来自多个硬件环回流的呈现音频数据组合到环回缓冲器中,以创建聚合环回音频数据的至少一个指令。计算机可读介质可以包括:用于使计算机设备向在计算机设备上执行的一个或多个应用提供具有聚合环回音频数据的环回缓冲器的至少一个指令。
8.与本公开的实施方式有关的附加优点和新颖特征将在下面的描述中被部分地阐述,并且在对以下内容进行检查或通过实践学习后,对于本领域技术人员而言将部分地变得更加明显。
附图说明
9.在图中:
10.图1是根据本公开的实施方式的与多个显示设备通信的示例计算机设备的示意框图;
11.图2是根据本公开的实施方式的环回流的示例;
12.图3是根据本公开的实施方式的用于聚合与计算机设备通信的多个设备的硬件环回流的方法的示例;以及
13.图4是根据本公开的实施方式的示例设备的示意框图。
具体实施方式
14.本公开涉及用于聚合从与计算机设备通信的多个显示设备接收的硬件环回流并且在单个环回缓冲器中表示聚合硬件环回流的设备和方法。如本文所使用的,硬件环回流可以包括被呈现到显示设备上的扬声器以用于输出的音频数据。方法和设备可以在将硬件环回流中的呈现音频数据存储在环回缓冲器中之前,对音频数据执行附加处理。附加处理可以在经由扬声器输出音频之前出现。附加处理可以包括但不限于均衡、滤波、音高移位和/或对音频数据的任何其他影响。如此,硬件环回流可以准确地表示从显示设备上的扬声器出来的音频。方法和设备可以使用硬件环回流,而不是复制被发送到扬声器的输出信号,例如,输出信号当前由软件环回流执行。软件环回流可能无法准确地表示从显示设备上的扬声器发出的音频,因为软件环回流可能在音频数据被呈现给扬声器以供输出之前和/或在任何附加处理(可以在输出之前在音频数据上出现)之前,捕获音频数据。如此,应用使用硬件环回流可以比使用软件环回流更有效,因为相对于软件环回流,硬件环回流可以提供由显示设备上的扬声器产生的声音的更准确表示。
15.多个显示设备可以经由网络或总线协议(例如,诸如通用串行总线(usb)连接)与计算机设备通信。显示设备可以具有至少一个显示器和对应的音频输入和/或音频输出。显示设备可以是能够呈现信息、捕获音频和/或发出音频的任何类型的显示器、监控器、视觉呈现设备、计算机设备和/或物理面板。此外,每个显示设备可以包括任意数目的信道,以用于捕获音频和/或发出音频。显示设备的每个扬声器和/或麦克风可以对应于任意数目的信道。然后,计算机设备和/或在计算机设备上运行的应用可以访问所存储的聚合硬件环回流,以改进与聚合硬件环回流相关联的一个或多个操作或输出。例如,在以音频数据的形式捕获硬件环回数据的系统中,改进的操作或输出可以包括但不限于:执行回声消除,和/或获得由特定输出设备(也被称为呈现设备)播放的音频的准确记录。
16.显示设备可以在显示设备的硬件内具有环回能力,其使得能够在硬件环回流中提供被呈现给显示设备的扬声器的音频数据。被呈现给扬声器的音频数据可以包括用于经由显示设备上的扬声器输出的音频数据。显示设备可以包括硬件环回单元,以接收当前正被呈现到显示设备的呈现设备(例如,扬声器)的音频数据。硬件环回单元可以创建针对呈现音频数据的硬件环回流。具有呈现音频数据的硬件环回流可以被存储在显示设备环回缓冲器中。如此,存储在显示设备上的硬件环回流可以准确地表示从显示设备上的扬声器输出的音频。
17.一个示例可以包括:一个人在与朋友的skype通话中使用麦克风,同时一些背景音
乐正在扬声器上播放。在该情况下,如果麦克风紧邻扬声器,则在skype通话中从麦克风捕获的音频也可能包括来自背景音乐的音频。使用硬件环回流,可以从麦克风音频消除扬声器音频(例如,背景音乐),以便使skype通话中的朋友在通话中听不到背景音乐。
18.计算机设备可以从多个显示设备接收具有音频数据的硬件环回流。音频聚合器驱动可以将来自接收硬件环回流中的每个接收硬件环回流的音频数据聚合到单个环回缓冲器中。环回缓冲器的大小可以通过将与计算机设备通信的显示设备的总数乘以每个显示设备支持的音频信道的数目来被确定。来自不同显示设备的硬件环回流中的每个硬件环回流可以被组合在一起成为单个环回缓冲器。音频聚合器驱动可以向与计算机设备相关联的一个或多个应用提供单个环回缓冲器。
19.与计算机设备相关联的应用可能希望使用来自显示设备的聚合环回音频数据进行附加处理,诸如但不限于声学回声消除和/或记录来自扬声器的音频。在任何时候,应用都可以通过访问包含音频数据的对应硬件环回流,来访问环回缓冲器,并且可以使用由显示设备上的扬声器输出的相同音频。通过使用硬件环回,呈现给显示设备扬声器的音频数据的更好表示可以被记录在硬件环回流中,被聚合在单个环回缓冲器中,并且被应用使用。
20.现在参考图1,其是用于聚合来自多个显示设备106、108、110、112的硬件环回流的系统100,包括经由有线或无线网络104与显示设备通信的计算机设备102。在一个实施方式中,显示设备106、108、110、112可以经由网络或总线协议(例如,诸如usb连接)与计算机设备102通信。显示设备106、108、110、112可以具有至少一个显示器和对应的音频输入和/或音频输出。显示设备106、108、110、112可以是能够呈现信息、捕获音频和/或发出音频的任何类型的显示器、监控器、视觉呈现设备、计算机设备和/或物理面板。
21.此外,每个显示设备106、108、110、112可以包括任何数目的信道,以用于捕获音频和/或发出音频。例如,显示设备106可以包括支持两个信道(例如,左右)的扬声器32,并且可以包括麦克风33。显示设备108可以包括支持两个信道(例如,左右)的扬声器34,并且可以包括麦克风36。显示设备110可以包括支持两个信道(例如,左右)的扬声器38,并且可以包括麦克风39。显示设备112可以包括支持两个信道(例如,左右)的扬声器40,并且可以包括麦克风42。显示设备106、108、110、112的每个扬声器32、34、38、40和/或麦克风33、36、39、42可以对应于任何数目的信道。
22.显示设备106、108、110、112中的每个显示设备可以包括硬件环回能力,以便音频数据在任何时候被呈现,以从显示设备106、108、110、112上的一个或多个扬声器32、34、38、40输出,呈现的音频数据可以由显示设备106、108、110、112上的硬件环回单元18、20、23、25获得。显示设备106、108、110、112可以具有内部硬件,来将呈现音频数据15的最终流重定向到硬件环回单元18、20、23、25。用于输出的呈现音频数据15可以包括对呈现音频数据15执行的任何附加处理。附加处理可以包括但不限于均衡、滤波、音高移位、低音提升和/或对音频的任何其他影响。此外,呈现音频数据15可以包括用于多个应用10的音频数据的混合,该多个应用主动呈现音频以供输出。例如,音乐应用可以在显示设备106上播放音乐,同时视频会议应用可以在显示设备106上进行视频通话。两个应用都可以主动呈现音频以经由扬声器32输出,并且呈现音频数据15可以包括针对音乐应用和视频会议应用两者的音频数据。
23.呈现音频数据15可以被存储在显示设备环回缓冲器24中的硬件环回流31中。如
此,硬件环回流31可以准确地表示从显示设备106上的扬声器32输出的音频。类似地(但没有所示的呈现音频数据),显示设备环回缓冲器26可以包括硬件环回流35,其具有用于显示设备108的呈现音频数据17。呈现音频数据17可以对应于来自扬声器34的音频输出。同样类似地(但没有所示的呈现音频数据),显示设备环回缓冲器28可以包括硬件环回流37,其具有来自显示设备110的呈现音频数据19。呈现音频数据19可以对应于来自扬声器38的音频输出。此外并且类似地(但没有所示的呈现音频数据),显示设备环回缓冲器30可以包括硬件环回流41,其具有来自显示设备112的呈现音频数据21。呈现音频数据21可以对应于来自扬声器40的输出音频。
24.显示设备106、108、110、112还可以包括捕获流27、29、43、45,其具有由麦克风33、36、39、42捕获的任何音频。例如,如果一个人对显示设备106的麦克风33讲话,捕获流27可以包括从说话的人捕获的音频数据。此外,如果显示设备112的麦克风42附近正在播放背景音乐,则捕获流45可以包括对应于背景音乐的音频数据。
25.计算机设备102可以包括可连接到网络的任何移动或固定计算机设备。例如,计算机设备102可以是诸如台式计算机或膝上型计算机或平板计算机的计算机设备、物联网(iot)设备、蜂窝电话、游戏设备、混合现实或虚拟现实设备、音乐设备、电视、导航系统、相机、个人数字助理(pda)或手持设备,或具有与一个或多个其他设备的有线和/或无线连接能力的任何其他计算机设备。
26.计算机设备102可以包括可以由处理器44和/或存储器46执行的操作系统111。计算机设备102的存储器46可以被配置为用于存储数据和/或计算机可执行指令,其定义操作系统111和/或与操作系统111相关联,并且处理器44可以执行这种数据和/或指令来实例化操作系统111。存储器46的示例可以包括但不限于由计算机可使用的存储器类型,诸如随机存取存储器(ram)、只读存储器(rom)、磁带、磁盘、光盘、易失性存储器、非易失性存储器及其任意组合。处理器44的示例可以包括但不限于如本文所述的专门编程的任何处理器,包括控制器、微控制器、专用集成电路(asic)、现场可编程门阵列(fpga)、片上系统(soc),或其他可编程逻辑或状态机。
27.操作系统111可以包括音频聚合器驱动16,其可以从一个或多个显示设备环回缓冲器24、26、28、30接收具有呈现音频数据15、17、19、21的一个或多个硬件环回流31、35、37、41。硬件环回流31、35、37、41可以准确地表示来自显示设备106、108、110、112上的扬声器32、34、38、40的音频输出。
28.音频聚合器驱动16可以生成针对呈现音频数据15、17、19、21的单个环回缓冲器22。音频聚合器驱动16可以确定针对环回缓冲器22的缓冲器大小12。缓冲器大小12可以通过将显示设备106、108、110、112的总数乘以显示设备106、108、110、112中的每个显示设备支持的信道的数目来被计算。在所示示例中,显示设备106、108、110、112可以均支持两个信道(例如,扬声器32、34、38、40可以支持左右两个信道)。如此,缓冲器大小12可以是8(例如,四个设备乘以两个信道)。
29.音频聚合器驱动16可以将环回缓冲器22分割为多个分段,其中分段的数目对应于缓冲器大小12。例如,环回缓冲器22可以被分割为8个分段,其中每个单独分段可以对应于显示设备106、108、110、112支持的单个信道。排序可以被应用于该数目的分段,以便每个分段可以对应于特定的显示设备环回流31、35、37、41。排序可以是响应于显示设备106、108、
110、112连接和/或与计算机设备102通信的顺序。分配给特定显示设备环回流31、35、37、41的分段的数目可以是响应于显示设备106、108、110、112支持的信道的数目。例如,每个显示设备106、108、110、112可以在环回缓冲器22中接收两个分段,因为显示设备106、108、110、112支持两个信道。
30.音频聚合器驱动16可以将从显示设备106、108、110、112接收的呈现音频数据15、17、19、21组合到环回缓冲器22中。例如,从显示设备环回流31、35、37、41接收的呈现音频数据15、17、19、21可以按照指定顺序,被放置到环回缓冲器22的不同分段中,产生聚合环回音频数据14。如此,通过使用单个环回缓冲器22,音频聚合器驱动16可以将来自各种硬件环回流31、35、37、41的聚合环回音频数据14表示为一个。
31.音频聚合器驱动16可以向与计算机设备102相关联的一个或多个应用10提供环回缓冲器22。应用10可能希望使用聚合环回音频数据14进行各种处理。一个示例可以包括应用10使用聚合环回音频数据14对来自一个或多个显示器106、108、110、112的音频输出执行回声消除。例如,当个体在与朋友的skype通话中使用显示设备106上的麦克风33,同时扬声器32上正在播放一些背景音乐时,捕获流27可以包括来自麦克风33的音频(例如,个体讲话)和来自扬声器32的音频(例如,背景音乐)。应用10可以使用环回缓冲器22中的聚合环回音频数据14,来消除来自扬声器32的音频(例如,背景音乐),以便朋友在通话中听不到背景音乐。在另一个示例中,应用10可能希望记录由显示设备106、108、110、112上的一个或多个扬声器32、34、38、40发出的音频。应用10可以使用聚合环回音频数据14和/或聚合环回音频数据14的一部分以用于记录。例如,应用10可以标识聚合环回音频数据14的对应于显示设备110的一部分,并且可以提取聚合环回音频数据14和/或聚合环回音频数据14的与显示设备110相关联的一部分(例如,音频数据17)以用于录音。
32.如此,在任何时候,应用10都可以访问环回缓冲器22,并且可以能够通过聚合环回音频数据14,使用由显示设备106、108、110、112中的任一个上的扬声器32、34、38、40输出的相同音频。此外,由于与输入到相应显示设备的扬声器的存储数据流相比,硬件环回更密切地对应于由显示设备106、108、110、112输出的音频,因此由显示设备106、108、110、112输出的音频的更好表示可以被应用10使用。
33.现在参考图2,示例环回缓冲器22被图示。音频聚合器驱动16可以将环回缓冲器22分割为与缓冲器大小12(图1)相对应的数目的分段。例如,当缓冲器大小12等于8时,环回缓冲器22可以被分割为八个分段,其中每个单独分段可以对应于显示设备106、108、110、112支持的单个信道。该数目的分段的被分配给特定环回流31、35、37、41的子集可以是响应于显示设备106、108、110、112支持的信道的数目。例如,每个显示设备106、108、110、112可以在环回缓冲器22中接收两个分段的子集,因为显示设备106、108、110、112支持两个信道。
34.排序可以被应用于该数目的分段,以便每个分段可以对应于特定的硬件环回流31、35、37、41。排序可以具有基于显示设备106、108、110、112与计算机设备102连接和/或通信的顺序的值的布置(或相对位置)。例如,显示设备106可以是第一显示设备,并且环回缓冲器22的前两个分段可以被分配给硬件环回流31。来自显示设备106的呈现音频数据15可以被存储在环回缓冲器22的前两个分段中。
35.显示设备108可以是第二显示设备,并且环回缓冲器22的接下来的两个分段可以对应于硬件环回流35。来自显示设备108的呈现音频数据17可以被存储在环回缓冲器22的
接下来的两个分段中。显示设备110可以是第三显示设备,并且环回缓冲器22的接下来的两个分段可以与硬件环回流37相关联。来自显示设备110的呈现音频数据19可以被存储在环回缓冲器22的接下来的两个分段中。
36.显示设备112可以是第四显示设备,并且环回缓冲器22的最后两个分段可以对应于硬件环回流41。如此,来自显示设备112的呈现音频数据21可以被存储在环回缓冲器22的最后两个分段中。
37.环回缓冲器22可以包括与音频可以从显示设备106、108、110、112输出时的不同时间/序列202、204相对应的聚合环回音频数据14。环回缓冲器22可以包括呈现的音频数据15、17、19、21的八个分段的阵列(在每个时间/序列)。例如,在202(对应于时间(t1))处,环回缓冲器22可以包括来自一个或多个显示设备106、108、110、112的任何呈现音频数据15、17、19、21。例如,在204(对应于时间(t1))处,环回缓冲器22可以包括来自一个或多个显示设备106、108、110、112的任何呈现音频数据15、17、19、21。
38.使用显示设备106、108、110、112的排序,呈现音频数据15、17、19、21可以被组合在一起,该排序具有基于显示设备106、108、110、112与计算机设备102连接和/或通信的顺序的值的布置(或相对位置)。组合的呈现音频数据15、17、19、21可以产生聚合环回音频数据14。如此,聚合环回音频数据14可以包括用于一个或多个应用的音频数据的混合,该一个或多个应用主动呈现音频以供在显示设备106、108、110、112上输出。例如,显示设备108可以包括经由扬声器34播放音乐的音乐应用。显示设备110可以包括经由扬声器38播放电影的媒体应用和经由扬声器38进行通话的电话会议应用。聚合环回音频数据14可以包括用于音乐应用、媒体应用和电话会议应用的音频数据的混合。聚合环回音频数据14可以被提供给计算机设备102(图1)上的一个或多个应用10(图1)以供应用10使用。
39.现在参考图3,示例方法300可以被计算机设备102(图1)使用,以用于聚合与计算机设备102通信的多个显示设备106、108、110、112(图1)的硬件环回流31、35、37、41(图1)。下面可以参考图1的架构讨论方法300的行动。
40.在302处,方法300可以包括:从与计算机设备通信的多个显示设备接收具有呈现音频数据的多个硬件环回流。显示设备106、108、110、112可以具有至少一个显示器和对应的音频输入和/或音频输出。显示设备106、108、110、112可以是能够呈现信息、捕获音频和/或发出音频的任何类型的显示器、监控器、视觉呈现设备、计算机设备和/或物理面板。
41.此外,每个显示设备106、108、110、112可以包括任何数目的信道,以用于捕获音频和/或发出音频。显示设备106、108、110、112的每个扬声器32、34、38、40和/或麦克风33、36、39、42可以对应于任意数目的信道。
42.此外,显示设备106、108、110、112中的每个显示设备可以包括硬件环回能力,以便在任何时候从显示设备106、108、110、112上的一个或多个扬声器32、34、38、40出现音频输出,用于经由扬声器32、34、38、40输出的呈现音频数据15、19、17、21都可以使用显示设备106、108、110、112上的硬件环回单元18、20、23、25来被获得。显示设备106、108、110、112可以具有内部硬件,以将呈现音频数据15、17、19、21的最终流重定向到相应的硬件环回单元18、20、23、25。呈现音频数据15、17、19、21可以包括在输出之前对呈现音频数据15、17、19、21执行的任何附加处理。附加处理可以包括但不限于均衡、滤波、音高移位、低音提升和/或对音频数据的任何其他影响。此外,呈现音频数据15、17、19、21可以包括用于多个应用10的
音频数据的混合,多个应用10主动呈现音频以供在显示设备106、108、110、112上输出。例如,显示设备112可以包括经由扬声器40播放音乐的音乐应用,并且可以包括在音乐应用播放音乐的同时经由扬声器40输出游戏的音频的游戏应用。音乐应用和游戏应用可以主动地呈现音频以经由显示设备112上的扬声器40输出。如此,显示设备112的呈现音频数据21可以包括用于音乐应用的音频数据和用于游戏应用的音频数据的混合。
43.音频聚合器驱动16可以从一个或多个显示设备环回缓冲器24、26、28、30接收具有呈现音频数据15、17、19、21的一个或多个硬件环回流31、35、37、41。硬件环回流31、35、37、41可以准确地表示被呈现给显示设备106、108、110、112上的扬声器32、34、38、40以用于输出的音频数据。
44.在304处,方法300可以包括:将来自多个硬件环回流的呈现音频数据组合到环回缓冲器中,以创建聚合环回音频数据。音频聚合器驱动16可以生成针对呈现音频数据15、17、19、21的单个环回缓冲器22。音频聚合器驱动16可以确定针对环回缓冲器22的缓冲器大小12。缓冲器大小12可以通过将显示设备106、108、110、112的总数乘以显示设备106、108、110、112中的每个显示设备支持的信道的数目来被计算。在所示示例中,显示设备106、108、110、112可以均支持两个信道(例如,扬声器32、34、38、40可以支持左右两个信道)。如此,缓冲器大小12可以是8(例如,四个设备乘以两个信道)。
45.音频聚合器驱动16可以将环回缓冲器22分割为多个分段,其中分段的数目对应于缓冲器大小12。例如,环回缓冲器22可以被分割为8个分段,其中每个单独分段可以对应于显示设备106、108、110、112支持的单个信道。排序可以被应用于该数目的分段,以便该数目的分段的子集可以对应于特定的显示设备硬件环回流31、35、37、41。排序可以是响应于显示设备106、108、110、112连接和/或与计算机设备102通信的顺序。分配给和/与特定显示设备硬件环回流31、35、37、41的分段的数目可以是响应于显示设备106、108、110、112支持的信道的数目。例如,每个显示设备106、108、110、112可以在环回缓冲器22中接收两个分段,因为显示设备106、108、110、112支持两个信道。
46.音频聚合器驱动16可以将从显示设备106、108、110、112接收的呈现音频数据15、17、19、21组合到环回缓冲器22中,以创建聚合环回音频数据14。例如,使用显示设备106、108、110、112的排序(该排序具有基于显示设备106、108、110、112与计算机设备102连接和/或通信的顺序的值的布置(或相对位置)),从显示设备环回缓冲器24、26、28、30接收的呈现音频数据15、17、19、21可以被放置在环回缓冲器22的不同分段中,产生聚合环回音频数据14。此外,环回缓冲器22可以包括对应于可以从显示设备106、108、110、112输出音频时的不同时间/序列的呈现音频数据15、17、19、21。
47.聚合环回音频数据14可以包括用于一个或多个应用的音频数据的混合,该一个或多个应用主动呈现音频以用于在显示设备106、108、110、112上输出。例如,显示设备106、108、110、112可以都包括视频会议应用,其中视频会议当前正在显示设备106、108、110、112上进行。此外,显示设备108可以包括经由扬声器34播放音乐的音乐应用,并且显示设备110可以包括正在经由扬声器38播放电影的媒体应用。聚合环回音频数据14可以包括用于视频会议应用、音乐应用和媒体应用的音频数据的混合。如此,通过使用单个环回缓冲器22,音频聚合器驱动16可以将来自各种硬件环回流31、35、37、41的聚合环回音频数据14表示为一个。
48.在306处,方法300可以包括:向计算机设备上的一个或多个应用提供聚合环回音频数据。音频聚合器驱动16可以将聚合环回音频数据14提供给与计算机设备102相关联的一个或多个应用10。应用10可能希望使用聚合环回音频数据14以进行各种处理。应用10可以发送对整个环回缓冲器22的请求以在处理中使用。例如,应用10可能希望记录由显示设备106、108、110、112上的一个或多个扬声器32、34、38、40发出的音频。应用10可以请求整个环回缓冲器22,并且可以使用聚合环回音频数据14以用于录音。
49.此外,应用10可以发送对聚合环回音频数据14的一部分的请求以在处理中使用。例如,应用10可以发送对聚合环回音频数据14的与特定时间相关的一部分的请求。在会议开始期间,应用10可能希望记录由显示设备106、108、110、112上的一个或多个扬声器32、34、38、40输出的音频。应用10可以标识会议开始的时间段,并且可以请求聚合环回音频数据14的与该时间段对应的部分,并且可以使用聚合环回音频数据14的该部分以用于记录。另一个示例可以包括应用10标识特定的显示设备106、108、110、112,并且从与所标识的显示设备106、108、110、112相关联的对应硬件环回流31、35、37、41提取聚合环回音频数据14的一部分,以进行使用。
50.另一个示例可以包括应用10使用聚合环回音频数据14对来自一个或多个显示器106、108、110、112的音频输出执行回声消除。例如,当个体在与朋友的skype通话中使用显示设备106上的麦克风33,同时扬声器32上正在播放一些背景音乐时,捕获流27可以包括来自麦克风33的音频(例如,个体讲话)和来自扬声器32的音频(例如,背景音乐)。应用10可以使用环回缓冲器22中的聚合环回音频数据14,来消除来自扬声器32的音频(例如,背景音乐),以便朋友在通话中听不到背景音乐。
51.在任何时候,应用10都可以访问环回缓冲器22,并且可以能够通过聚合环回音频数据14,来使用被呈现以由显示设备106、108、110、112中的任何显示设备上的扬声器32、34、38、40输出的相同音频数据。如此,应用10可以访问由显示设备106、108、110、112输出的音频的准确表示,以进行任何附加处理和/或由应用10使用。
52.现在参考图4,根据一个实施方式的、可以被配置为计算机设备102的示例计算机400包括相比于图1的附加组件细节。在一个示例中,计算机400可以包括用于执行与本文描述的组件和功能中的一个或多个相关联处理功能的处理器44。处理器44可以包括单组或多组处理器或多核处理器。此外,处理器44可以被实施为集成处理系统和/或分布式处理系统。
53.计算机400还可以包括存储器46,诸如以用于存储由处理器44执行的应用的本地版本。存储器46可以包括由计算机可使用的类型的存储器,诸如随机存取存储器(ram)、只读存储器(rom)、磁带、磁碟、光碟、易失性存储器、非易失性存储器及其任何组合。此外,处理器44可以包括并且执行操作系统111(图1)。
54.此外,计算机400可以包括通信组件48,其提供与利用本文所描述的硬件、软件和服务的一方或多方建立和保持通信。通信组件48可以承载计算机设备102上的组件之间以及计算机设备102和外部设备之间的通信,外部设备诸如跨通信网络而定位的设备和/或与计算机设备102连续或本地连接的设备。例如,通信组件48可以包括一个或多个总线,并且还可以包括分别与可操作用于与外部设备进行接口的发射器和接收器相关联的发射链组件和接收链组件。
55.另外,计算机400可以包括数据存储库50,其可以是提供结合本文描述的实施方式而采用的信息、数据库和程序的大量存储的硬件和/或软件的任何合适的组合。例如,数据存储库50可以是用于应用10和/或音频聚合器驱动16的数据储存库。
56.计算机400还可以包括用户接口组件52,用户接口组件52可操作用于接收来自计算机设备102的用户的输入,并且还可操作用于生成用于呈现给用户的输出。用户接口组件52可以包括一个或多个输入设备,包括但不限于键盘、数字盘、鼠标、显示器(例如,其可以是触感显示器)、导航键、功能键、麦克风、声音识别组件、能够从用户接收输入的任何其他机制,或其任何组合。此外,用户接口组件52可以包括一个或多个输出设备,包括但不限于显示器、扬声器、触觉反馈机制、打印机、能够向用户呈现输出的任何其他机制,或其任何组合。
57.在一个实施方式中,用户接口组件52可以传送和/或接收与应用10和/或音频聚合器驱动16的操作相对应的消息。另外,处理器44执行应用10和/或音频聚合器驱动16,并且存储器46或数据存储库50可以存储它们。
58.如本应用中使用的,术语“组件”、“系统”等旨在包括与计算机相关的实体,诸如但不限于硬件、固件、硬件和软件的组合、软件,或执行中的软件。例如,组件可以是但不限于在处理器上运行的进程、处理器、目标、可执行文件、执行线程、程序和/或计算机。通过说明,在计算机设备上运行的应用和计算机设备都可以是组件。一个或多个组件可以驻留在执行的进程或线程中,并且组件可以被本地化在一个计算机上和/或被分布在两个或更多个计算机之间。另外,这些组件可以从具有存储于其上的各种数据结构的各种计算机可读介质执行。组件可以诸如根据具有一个或多个数据分组的信号通过本地和/或远程进程进行通信,一个或多个数据分组诸如来自与本地系统中、分布式系统中和/或跨网络的另一组件进行接口的一个组件的数据,网络诸如通过信号与其他系统的互联网。
59.此外,术语“或”旨在意指包括的“或”而不是排除的“或”。也就是说,除非另外指出,或从上下文是明确的,否则短语“x采用a或b”旨在意指任何自然包括的排列。也就是说,短语“x采用a或b”由以下任何一个实例满足:x采用a;x采用b;或者x采用a和b两者。另外,除非另外指出或从上下文是明确为指向单数形式,否则本技术和所附权利要求中使用的冠词“一”和“一个”通常应被解释为意指“一个或多个”。
60.各种实施方式或特征可以已经根据可能包括多个设备、组件、模块等的系统被呈现。应当了解和理解的是,各种系统可能包括附加的设备、组件、模块等,并且/或者可能不包括结合附图中所讨论的设备、组件、模块等的全部。这些方法的组合也可以被使用。
61.与本文公开实施例结合描述的各种说明性的逻辑、逻辑框以及方法的动作可以利用特殊编程的以下项之一被实施或执行:通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其他可编程逻辑器件、离散门或晶体管逻辑、离散硬件组件,或其被设计为执行本文描述的功能的任何组合。通用处理器可以是微处理器,但是在一个备选方案中,处理器可以是任何常规的处理器、控制器、微控制器或状态机。处理器还可以被实施为计算机设备的组合,例如,dsp和微处理器的组合、多个微处理器、与一个dsp核心结合的一个或多个微处理器,或任何其他这种配置。另外,至少一个处理器可以包括一个或多个组件,其可操作用于执行上文描述的步骤或动作中的一个或多个。
62.此外,与本文公开的实施方式结合而描述的方法或算法的步骤和/或动作可以直
接在硬件中、在由处理器执行的软件模块中,或者二者的组合中实施。软件模块可以驻留于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移除磁盘、cd

rom,或本领域已知的任何其他形式的存储介质。示例性的存储介质可以被耦合到处理器,使得处理器可以从存储介质中读取信息,以及向其存储介质写入信息。在备选方案中,存储介质可以与处理器是整体。此外,在一些实施方式中,处理器和存储介质可以驻留于asic中。另外,asic可以驻留于用户终端中。在备选方案中,处理器和存储介质可以作为离散组件驻留于用户终端中。另外,在一些实施方式中,方法或算法的步骤和/或动作可以作为一个或任何组合或一组代码和/或指令驻留于可以合并到计算机程序产品中的机器可读介质和/或计算机可读介质上。
63.在一个或多个实施方式中,描述的功能可以在硬件、软件、固件,或其任何组合中被实施。如果在软件中被实施,功能可以作为一个或多个指令或代码被存储或传输到计算机可读介质。计算机可读介质包括计算机存储介质和通信介质两者,通信介质包括支持计算机程序从一个地点传输到另一个地点的介质。存储介质可以是能够由计算机访问的任何可用的介质。通过示例而不是限制,这种计算机可读介质可以包括ram、rom、eeprom、cd

rom或其他光盘存储、磁盘存储或其他磁存储设备,或能够用于以指令或数据结构的形式存储期望的程序代码并能够由计算机访问的任何其他介质。本文使用的盘和碟包括压缩碟(cd)、激光碟、光碟、数字多功能碟(dvd)、软盘和蓝光碟,其中盘通常磁性地复制数据,然而碟通常利用激光来光学地复制数据。上述的组合应当也被包括在计算机可读介质的范围中。
64.尽管已经结合上述的示例描述了本公开的实施方式,但是本领域的技术人员将理解,在不脱离本文的范围的情况下,可以对上文描述的实施方式进行变化和修改。根据本文公开的示例,从对说明书的考虑或从实践,其他实施方式对本领域的技术人员将是明显的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献