首页> 中国专利> 用于处理多个设备使用的音频流的方法和装置

用于处理多个设备使用的音频流的方法和装置

摘要

用于处理多个设备使用的音频流的方法和装置检测与多个设备的每一个相对应的声音水平;基于与多个设备的每一个相对应的声音水平,从多个设备中选择一组被选择的设备;将与被选择的一组设备相关联的多个音频流混合并形成混合后的多个音频流;并向未被选择的设备传输混合后的多个音频流。

著录项

  • 公开/公告号CN101553801A

    专利类型发明专利

  • 公开/公告日2009-10-07

    原文格式PDF

  • 申请/专利权人 网讯公司;

    申请/专利号CN200780008761.X

  • 发明设计人 宋旭东;杜武平;

    申请日2007-05-01

  • 分类号G06F17/00(20060101);H04L12/16(20060101);H04M3/42(20060101);

  • 代理机构11258 北京东方亿思知识产权代理有限责任公司;

  • 代理人李晓冬;南霆

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 22:44:28

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-07-18

    授权

    授权

  • 2009-12-02

    实质审查的生效

    实质审查的生效

  • 2009-10-07

    公开

    公开

说明书

技术领域

本发明一般涉及处理音频流,更具体地涉及处理多方使用的音频流。

背景技术

有许多系统被用来向多方传送音频信号。在一个实例中,普通老式电话业务(POTS)被用来将音频信号从一方传送到另一方。随着电话会议的出现,多于两方(其中每一方在不同的位置)可以利用POTS来参与电话会议。在另一实例中,互联网被用来向多方传送音频信号。用来在多方之间实时地传输音频信号的互联网的使用常常被称为基于互联网协议的语音(VoIP)。

发明内容

用于处理多个设备使用的音频流的方法和装置检测与多个设备中的每一个相对应的声音水平(sound level);基于与多个设备中的每一个相对应的声音水平,从多个设备中选择一组被选择的设备;将与被选择的一组设备相关联的多个音频流混合并形成混合后的多个音频流;并向未被选择的设备传输混合后的多个音频流。

附图说明

附图被并入本说明书并构成本说明书的一部分,其示出并说明了用于处理多个设备使用的音频流的方法和装置的一个实施例。

在附图中,

图1是示出其中实现了用于处理多个设备使用的音频流的方法和装置的环境的图;

图2是示出其中实现了用于处理多个设备使用的音频流的方法和装置的一个实施例的简化框图;

图3是示出根据用于处理多个设备使用的音频流的方法和装置的一个实施例的系统的简化框图;

图4是示出根据用于处理多个设备使用的音频流的方法和装置的一个实施例的系统的简化框图;

图5是根据用于处理多个设备使用的音频流的方法和装置的一个实施例的功能图;并且

图6是根据用于处理多个设备使用的音频流的方法和装置的一个实施例的功能图。

具体实施方式

下面对用于处理多个设备使用的音频流的方法和装置的详细描述参考了附图。该详细描述不是意图限制用于处理多个设备使用的音频流的方法和装置。而是,由所附权利要求和等同物来限定用于处理多个设备使用的音频流的方法和装置的范围。本领域技术人员将认识到,可能有许多其它根据本发明的实现方式。

对设备的提及包括台式计算机、便携式计算机、个人数字助理、视频电话、固定电话、蜂窝电话和能够接收/发送电子信号的设备。

对音频信号的提及包括表示模拟音频信号的数字音频信号和/或模拟音频信号。

图1是示出其中实现了用于处理多个设备使用的音频流的方法和装置的环境的图。该环境包括电子设备110(例如,被配置以作为客户端设备的计算平台,如计算机、个人数字助理等等)、用户接口115、网络120(例如,局域网、家庭网络、互联网)和服务器130(例如,被配置以作为服务器的计算平台)。

在一实施例中,使一个或多个用户接口115组件与电子设备110组成整体(例如,键区和视频显示屏输入和输出接口在如个人数字助理的同一壳体中)。在其它实施例中,一个或多个用户接口115组件(例如,键盘,诸如鼠标、轨迹球等的点选设备)、麦克风、扬声器、显示屏、相机在物理上与电子设备110分离,并通常被耦合到电子设备110。在一实施例中,用户利用接口115来访问和控制存储在通过网络120所耦合的电子设备110、服务器130或远程存储设备(未示出)中的内容和应用。

根据本发明,以下选择性地控制远程设备的实施例由电子设备110、服务器130中的电子处理器来执行,或者由电子设备110和服务器130中的处理器一起工作来实现。服务器130在图1中被示出为单个计算平台,但在其它实例中是充当服务器的两个或更多个互连计算平台。

图2是示出其中实现了用于处理多个设备使用的音频流的方法和装置的示例性体系结构的简化框图。示例性体系结构包括多个电子设备202、服务器设备210和网络201,网络201连接电子设备202到服务器210并将各个电子设备202相互连接。多个电子设备202的每一个被配置为包括耦合到电子处理器208的诸如随机存取存储器之类的计算机可读介质209。处理器208执行存储在计算机可读介质209中的程序指令。在一实施例中,唯一用户经由参考图1所描述的接口115来操作每个电子设备202。

服务器设备130包括耦合到计算机可读介质212的处理器211。在一实施例中,服务器设备130被耦合到一个或多个另外的外部或内部设备,例如(不限于)诸如数据库240的次级(secondary)数据存储元件。

在一实例中,处理器208和211由加利福尼亚州圣克拉拉的Intel公司制造。在其它实例中,使用其它的微处理器。

在一实施例中,多个客户端设备202和服务器210包括定制应用用来处理多个设备使用的音频流的指令。在一实施例中,多个计算机可读介质209和212部分地包含定制应用。另外,多个客户端设备202和服务器210被配置为接收和发送供定制应用所使用的电子消息。类似地,网络210被配置为发送定制应用所使用的电子消息。

一个或多个用户应用被存储在介质209、介质212中,或者单个用户应用被部分存储在一个介质209中并被部分存储在介质212中。在一实例中,基于对供利用下述实施例所确定的多个设备使用的音频流的处理,使所存储的用户应用可定制,而不管存储位置。

图3是示出其中实现了用于处理多个设备使用的音频流的方法和装置的示例性体系结构的简化框图。在一实施例中,系统300包括服务器310和设备320、322、324、326、328和330。另外,每一个设备被配置为与服务器300交互。在其它实施例中,在系统300中可以使用任意数目的设备。

在一实施例中,服务器310包括选择模块312和混合模块314。选择模块310被配置为基于从每个相应设备接收到的音频信号来识别设备320、322、324、326、328和330。另外,混合模块314被配置为处理多个音频信号流,其中每个音频信号对应于不同的设备。

在一实施例中,设备324、326和328分别包括混合模块332、334和336。在其它实施例中,任意数目的设备也可以包括本地混合模块。

在一实施例中,N个音频流可以基于服务器侧和客户端侧这两侧的混合、通过混合模块而被混合,其中N等于被选择的设备的数目。在一实施例中,通过选择模块312来选择这些设备。在一实施例中,服务器310辅助音频流在设备320、322、324、326、328和330中的传输,其中每个设备参与实时多媒体会话。在一实施例中,服务器310接收来自被选择的源设备的实时传输协议(RTP)流。接着,服务器310混合来自根据选择模块314实现的选择算法所获得的被选择源设备的K个音频流,其中K等于被选择的源设备的数目。接着,服务器310向每个未被选择的设备发送混合后的音频流。每个被选择的设备一次接收K-1个音频流,其中K-1个音频流表示来自其它被选择的源设备的音频流而排除在本地被选择源设备上所捕获的音频流。每个被选择的源设备能够混合和播放K-1个音频流。

在一个示例中,选择模块312选择设备324、326和328作为提供音频流的被选择的源设备。在一实施例中,各个设备324、326和328也实现语音活动检测(VAD)机制,以使得当被选择的设备缺乏要传输的音频信号时,音频分组不从被选择设备传输。在一实例中,音频信号的缺乏对应于:与被选择设备相关联的参与者不说话或不产生声音。

在一实施例中,对音频信号的混合是既在服务器310处也在设备320、322、324、326、328和330之间完成的。在另一实施例中,对音频信号的混合是在设备320、322、324、326、328和330处完成的。在另一实施例中,对音频信号的混合是在服务器310处完成的。

图4示出了系统400的一个实施例。在一实施例中,系统400包含在服务器130中。在另一实施例中,系统400包含在电子设备110中。在另一实施例中,系统400包含在电子设备110和服务器130两者中。

在一实施例中,系统400包括选择模块410、混合模块420、存储模块430、接口模块440和控制模块450。

在一实施例中,控制模块450与选择模块410、混合模块420、存储模块430和接口模块440进行通信。在一实施例中,控制模块350协调选择模块410、混合模块420、存储模块430和接口模块440之间的任务、请求和通信。

在一实施例中,选择模块410确定选择哪些设备将它们的音频信号与其它的设备共享。在一实施例中,监控并比较每个设备的音频信号以确定选择哪些设备。

在一实施例中,设{s[n]}n=0,...,N-1为输入语音信号帧并表示来自设备的音频信号。当前帧的能量E由下式计算:

E=Σn=0N-1s2[n]20(式1)

每个设备可以计算与每个相应音频信号相关联的能量。在一实施例中,E1和E2分别表示两个相连接的帧的能量。

E=(E1+E2)/2                      (式2)

在一实施例中,值E被以两字节写入到RTP头部扩展中。

来自所有接收到的N个音频流的RTP分组可以被确定以获得所有设备的当前帧的平均E。

在一实施例中,扬声器活动度量β慢慢地适应,以使得底部分配(floor allocation)比较优美并允许平滑的变换(transition)。在一实施例中,β依赖于当前和过去的分组的E。例如,β被如下地在新近过去的窗口W中计算。

β=1WΣt=tptp-W+1Et(式3)

这里tp表示当前时间。在一实施例中,W被设为3秒。

在一实施例中,β被选择模块410用来选择设备以传输它们各自的音频信号。例如,与超过阈值的β相关联的设备被选择。在另一示例中,与排在所有设备中的前三的β相关联的设备被选择。

在一实施例中,选择K个设备来将它们各自的音频信号传输给其它设备。在一实施例中,特定的K个设备对应于来自所有设备的最大β。在一实施例中,特定的K个设备是通过互相比较它们的β值来获得的。此算法的伪代码如下。

扫描N个音频流的RTP分组以获取βi=1,...,N

比较所有的βi=1,....,N

选择与K个最大β对应的K个设备号码

如果(既有服务器侧混合又有设备侧混合){

将K个被选择的音频流混合并向每个未被选择的设备发送混合后的音频流。

}

否则,如果(设备混合)

{

向每个未被选择的设备重新分配K个被选择的音频流。

}

除了其自己的音频流以外,向每个被选择的设备重新分配K-1个被选择的音频流。

保证每个参与者都能够听见其它参与者的所有有意义的声音并且不被打断(平滑地切换麦克风)。例如(K=3),如果三个扬声器正在发声,则它们将被自动选择作为当前活跃的扬声器,即使第四扬声器的β大于三个活跃扬声器中的一个。第四扬声器直到三个扬声器中的一个停止谈话才能加入谈话。

在一实施例中,混合模块420被配置为选择性地将多个音频流混合成音频分组。另外,混合模块420也被配置为选择性地将音频分组转换为音频流。

在一实施例中,存储模块430存储音频信号。在一实施例中,音频信号被通过系统400来接收和/或发送。

在一实施例中,接口模块440检测来自其它设备的音频信号并向其它设备传输音频信号。在另一实施例中,接口模块440传输与音频信号相关的信息。

图4中的系统400是以示例性的目的示出的,并且仅仅是用于处理多个设备使用的音频流的方法和装置的一个实施例。另外的模块可以被加入系统400中而不脱离用于处理多个设备使用的音频流的方法和装置的范围。类似地,模块可以被组合或删除而不脱离用于处理多个设备使用的音频流的方法和装置的范围。

图5示出了在服务器侧和/或设备侧混合处混合音频流。在一实施例中,音频服务器312接收来自所有设备320、322、324、326、328和330的音频流。在一实施例中,通过选择模块410,从设备320、322、324、326、328和330的一些中选择活跃音频流。在来自所选择的设备的音频流被混合后,混合后的音频流被传输到未被选择的设备。

系统500包括:抖动缓冲器502、504和506;解码器512、514和516;缓冲器522、524和526;混合模块420;和编码器530。在一实施例中,音频分组到达抖动缓冲器502、504和506中的一个,然后由解码器512、514和516中的一个解码成音频帧。在一实施例中,经解码的音频帧被附到参与者音频缓冲器队列。

在一实施例中,流1、2和3中的每一个表示从被选择的设备捕获的音频数据。

在一实施例中,缓冲器522、524和526中的每一个被标注上相应的RTP时间戳。在一实施例中,音频分组到达中的抖动由适应性抖动缓冲算法来补偿。适应性抖动缓冲算法独立地作用于每个抖动缓冲器。触发混合程序的定时器间隔被基于抖动延迟估计而缩短或延长。在一实施例中,在每一个帧大小的间隔处,定时器触发程序,该程序将来自合适的输入缓冲器的音频采样混合成组合音频帧。在一实施例中,这种混合发生在混合模块420内。

该组合音频帧被利用音频编码器530来编码。经编码的音频数据被分组并被发送至未被选择的设备。

图6示出了在设备处的混合。系统600包括:抖动缓冲器602、604和606;解码器612、614和616;缓冲器622、624和626;混合模块420;和扬声器输出缓冲器630。在一实施例中,音频分组到达抖动缓冲器602、604和606中的一个,然后由解码器612、614和616中的一个解码成音频帧。在一实施例中,经解码的音频帧被附到参与者音频缓冲器队列。

在一实施例中,缓冲器622、624和626中的每一个被标注上相应的RTP时间戳。在一实施例中,音频分组到达中的抖动由适应性抖动缓冲算法来补偿。适应性抖动缓冲算法独立地作用于每个抖动缓冲器。触发混合程序的定时器间隔被基于抖动延迟估计而缩短或延长。在一实施例中,在每一个帧大小的间隔处,定时器触发程序,该程序将来自合适的输入缓冲器的音频采样混合成组合音频帧。在一实施例中,这种混合发生在混合模块420内。

该组合音频帧被发送到扬声器输出缓冲器630以供在设备处回放。

前面对本发明的具体实施例的描述是为了说明和描述的目的而给出的。本发明可以被应用到各种其它应用中。

前面的描述并不意图是详尽的或将本发明限制为所公开的精确实施例,根据上面的教导自然可以有很多修改和变体。所选择和描述的实施例是为了说明本发明的原理及其实际应用,从而使得本领域技术人员可以最好地利用本发明和各种实施例(考虑适合于特定用途的各种修改)。希望本发明的范围由所附权利要求及其等同物来限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号