一种在移动终端上实现语音缓存的模块及方法

文档序号:7661564阅读:170来源:国知局
专利名称:一种在移动终端上实现语音缓存的模块及方法
技术领域
本发明涉及移动终端语音通信技术,更具体的说,是一种用来在移动终端内部实现语音 缓存及延迟播放的模块及处理方法。
背景技术
随着近年来移动通信技术的高速发展,全球范围内移动电话进一步超过固定电话。根据 ITU网站公布的数据,2005年世界电话用户数为330938万,其中移动电话用户数是213707 万,移动电话占电话总数的64.58%, 2000年以来全球移动电话的年均增长率超过20%。而 中国已成为全球最大的通信市场,2006年全国电话用户总数突破8亿,移动电话用户总数突 破了4亿。
移动终端已逐渐成为人们日常工作和生活中必不可少的工具。从全球来看,3G开始步入 快速增长阶段,数据业务的使用量会逐步增加,而语音业务仍是业务收入的主要来源,语音 仍作为主要的业务需求被广泛使用。同时,随着移动终端的普及,人们已不满足于基本的语 音通话,产生了许多基于语音通信的特殊需求。
目前移动终端上实现的语音业务,都是实时语音通信业务,以满足无延迟的需求。如图 l所示,在发送方向上,从话筒发出的实时模拟语音经数字信号编码器处理后输出数字语音 信号,再经移动语音编码器后成为标准数字语音码流,实时输出;同理,在接收方向语音也 是实时处理的。
然而,在某些特殊应用情况下,如用户并不希望发送的语音立即被接收方听到,或者由 于某种特殊限制实时发送的语音不能被接收方听到;这些时候,就有必要对已产生的语音进 行存储,并在适当的时刻再进行播放,即语音缓存功能。
实现通信中的语音缓存功能,可以通过多种方法来实现 一是通过在网络设备中设置语 音缓存器,由网络设备控制语音的缓存处理;二是通过移动终端的硬件设备,改造收发信机 来实现缓存处理。
对于上述第一种方法,由于涉及网络设备的改造,势必增加大量运营成本同时影响网络 设备的稳定性,所以实用性不强;第二种方法在增加终端成本的同时,增加了终端的复杂性, 可能降低语音处理的灵活性。
现有相关的专利文献包括专利申请号为00812019的中国专利申请,发明名称为"自适 应语音缓存的方法和系统"。该专利申请主要关注在发射机和接收机内部的实现方法,且该 申请存在以下不足 一、该专利是为了解决链路编码率改变情况下降低语音延迟的问题,并 不适用于专门产生语音延迟的特定需求。二、在该专利的实现中,涉及底层硬件及处理方法 的改动,加大了实现难度并且降低了系统灵活性及可靠性。发明内容本发明要解决的技术问题是克服现有语音缓存技术硬件改造成本大、系统稳定性与灵活 性较低等缺陷,提出一种能在普通移动终端应用且独立于网络设备的语音缓存模块及处理方 法。为解决上述技术问题,本发明提出的在移动终端上实现语音缓存的模块包括 语音缓存区,用以缓存发送路径或接收路径上的语音数据;缓存区操作接口,语音缓存区的软件访问接口,用以完成缓存区申请、释放操作,以及 缓存区读写指针操作,以控制缓存区读写顺序;语音输入接口,包含若干通信接口,用以提取发送路径或接收路径上的语音数据,提取 的语音数据写入语音缓存区;语音输出接口,包含若干通信接口,用以输出发送路径或接收路径上的缓存语音数据, 缓存语音数据从语音缓存区读取。其中,所述缓存区操作接口可供移动终端的上层呼叫应用调用,从而进入语音缓存模块 处理流程;语音缓存区与缓存区操作接口、语音输出及输入接口连接,实现语音缓存;语音 输出及输入接口与底层硬件处理器连接,进行语音数据包的交互。所述语音缓存区可以是由软件或硬件实现的若干缓存区,比如可以包括位于移动终端的 数字信号编码器和移动语音编码器之间的第一缓存区,以及位于移动终端的移动语音解码器 和数字信号解码器之间的第二缓存区。此外,在移动终端的数字信号编码器和数字信号解码 器之间增加一个缓存区(第三缓存区),还可以实现本端环回;在移动终端的移动语音解码 器和移动语音编码器之间增加一个缓存区(第四缓存区),还可以实现远端环回。本发明在移动终端上实现语音缓存的模块还可以包括用户控制接口和用户配置引擎表。 其中,用户控制接口用于提供外部操作接口,使用户可以设置和选择使用语音缓存的条件; 用户配置引擎表用于存储用户配置数据,包括是否使用语音缓存及使用场合,以及缓存时间 的设置;用户配置引擎表与用户控制接口和缓存区操作接口连接。这样,可以向用户提供修 改有关配置的功能,方便用户使用。本发明在移动终端上实现语音缓存的处理方法包括以下步骤步骤A.当用户发生语音呼叫时,创建语音缓存区,如创建失败则返回上层呼叫应用, 否则运行步骤B;步骤B.启动语音输入/输出接口,如启动失败则释放缓存区,返回上层呼叫应用,否则 运行步骤C;步骤C.缓存区操作,控制读写指针,实现对缓存区读写顺序的控制; 步骤D.语音呼叫结束时,清除并释放缓存区。对于包含用户控制接口和用户配置引擎表的移动终端,本发明实现语音缓存的处理方法 步骤如下步骤A.用户控制接口接收用户配置数据;步骤B.用户控制接口把收到的配置数据发送到用户配置引擎表;步骤C.当用户发生语音呼叫时,移动终端的上层呼叫应用模块检查用户配置数据表, 查找是否存在相关的配置引擎;步骤D.如果不存在相关的配置引擎,则返回上层呼叫应用模块继续处理,否则执行步骤E;步骤E.根据配置引擎创建语音缓存区,如创建失败则返回上层呼叫应用,否则运行步骤F;步骤F.启动语音输入/输出接口,如启动失败则释放缓存区,返回上层呼叫应用,否则运行步骤G;步骤G.缓存区操作,控制读写指针,实现对缓存区读写顺序的控制; 步骤H.语音呼叫结束时,清除并释放缓存区。所述的方法,在发送和接收方向上申请设置独立的第一缓存区和第二缓存区,用于分别 实现发送语音的缓存延迟,以及接收语音的缓存延迟。所述的方法,在移动终端的数字信号编码器和数字信号解码器之间申请增加第三缓存区, 同时使用第一缓存区和第三缓存区,实现本端语音环回,以及发送语音延迟;并且,在移动 终端的移动语音解码器和移动语音编码器之间申请增加第四缓存区,同时使用第二缓存区和 第四缓存区,实现接收语音远端环回,及接收语音延迟。与现有技术相比较,本发明的模块及方法仅涉及移动终端的改动,网络设备无需任何改 动,就可实现语音缓存功能,同时软件可以灵活控制语音的读写操作,具有较高的灵活性。 本发明引入了语音缓存区、语音输出/输入接口,使语音数据的缓存处理可由软件来完成,一
方面保证了语音数据的高速缓存能力,另一方面无需改动底层硬件处理,只需少量改动普通 移动终端的应用层软件,即可实现特殊功能,降低了系统开发的难度和提高了系统的灵活性。 此外,本发明还提供了用户控制接口,使得用户可以选择配置引擎,设置语音缓存启动 条件、缓存时间等,使得语音缓存功能可以根据需要被调用,从而提高了系统设计的灵活性。


图1是现有未增加语音缓存的实时语音发送/接收示意图;图2是本发明语音缓存模块第一实施例结构示意图;图3是本发明语音缓存模块第二实施例结构示意图;图4是本发明的语音缓存模块实现原理示意图;图5是本发明语音缓存区的第一种使用示意图;图6是本发明语音缓存区的第二种使用示意图;图7是本发明语音缓存区的第三种使用示意图;图8是本发明的语音缓存区操作示意图;图9是本发明利用图3所示缓存模块进行数据处理的方法流程图。
具体实施方式
下面结合附图与具体实施方式
对本发明作进一步详细说明。图2是本发明语音缓存模块第一实施例结构示意图。如图所示,本发明在移动终端上实 现语音缓存的模块(简称"缓存模块")包括语音缓存区101,需要时申请、用完后释放的动态存储区域,用于接收或发送语音的缓 存。根据应用情况不同,在缓存模块中可能存在一个或多个缓存区。缓存区操作接口102,主要用于缓存区的申请、释放,以及缓存区读写指针的控制。根 据来自移动终端的上层呼叫应用模块的数据包,申请语音缓存区IOI,适时控制读写指针, 启动缓存区读写操作。语音输入接口 103,用于从移动终端的底层硬件数字信号处理器中提取语音数据包,提 取数据写入语音缓存区101。语音输出接口 104,用于向移动终端的底层硬件数字信号处理器中输出缓存后的语音数 据包,输出的数据包从语音缓存区101中读取。图3是本发明语音缓存模块第二实施例结构示意图。如图所示,本实施例与第一实施例 的区别在于,所述缓存模块增加了用户控制接口 105和用户配置引擎表106。用户控制接口 105,是用户配置数据进入缓存模块的接口,仅接收用户对缓存模块的配置数据,并将其发往
用户配置引擎表106进行存储;用户配置引擎表106,用来存储用户配置的缓存区数据,可 包含若干条配置引擎记录,每条记录包括缓存区类型、是否启动标记、缓存区时长等数据项, 缓存区类型包括发送、接收、本端环回和远端环回等。用户配置引擎表106与用户控制接口 105、缓存区操作接口 102连接,表中数据由用户控制接口 105写入,供缓存区操作接口 102 接口读取。缓存区操作接口 102,根据来自移动终端的上层呼叫应用模块的数据包,进入用 户配置引擎表106进行检查,如果有满足条件的引擎条目,则申请语音缓存区IOI,并根据 引擎条件适时控制读写指针,启动缓存区读写操作。图4本发明的语音缓存模块实现原理示意图。如图所示,在移动终端的数字信号编/解码 器和移动语音编/解码器中增加语音缓存区,数字语音进入缓存区,经缓存后再输出,可以实 现发送或接收语音的延迟。图5 7是本发明的语音缓存区使用示意图。在不同应用情况下,用户可采用不同的语音 缓存区-图5是本发明语音缓存区的第一种使用示意图。如图所示,在发送和接收方向上设置独 立的缓存区,可分别实现发送和接收语音的缓存延迟。第一缓存区1和第二缓存区2可同时 存在,可以同时使用,也可单独使用。图6是本发明语音缓存区的第二种使用示意图。如图所示,在移动终端的数字信号编码 器和数字信号解码器之间设置第三缓存区3,发送的语音经第三缓存区3直接返回本端,可 实现本端发出语音的环回及延迟;同样,在移动终端的移动语音解码器和移动语音编码器之 间设置第四缓存区4,接收的语音经第四缓存区4直接返回发送端,可实现远端语音的环回 及延迟。第三缓存区3和第四缓存区4可同时存在,但只能独立使用。图7是本发明语音缓存区的第三种使用示意图,是前述两种情况的结合,利用缓存区同 时实现语音环回及发送或接收语音的缓存延迟。如图所示,仅使用第三缓存区3,实现本端 语音环回,以及发送语音实时传递;同时使用第一缓存区1和第三缓存区3,实现本端语音 环回,以及发送语音延迟;仅使用第四缓存区4,实现接收语音远端环回,及实时接收语音; 同时使用第二缓存区2和第四缓存区4,实现接收语音远端环回,及接收语音延迟。图8是本发明的语音缓存区操作示意图。如图所示,语音缓存区的读写分别用独立的指 针来控制,写指针用于指定语音数据包写入缓存区的位置,读指针用于指定待读取语音包在 缓存区中的位置。读写指针的初始和更新由软件来控制。图中给出的是固定时长语音延迟情 况下读写指针的操作示例。
图9是本发明利用图3所示缓存模块进行数据处理的方法流程图。如图所示,对于进入 本发明语音缓存模块的语音呼叫,其数据处理方法流程如下步骤l:上层呼叫应用通过缓存区操作接口,进入语音缓存模块,并根据呼叫信息检査 用户配置引擎表,查找是否需要启动语音缓存;步骤2:用户配置引擎表中如果有满足条件的条目,则提取条目中的缓存区配置信息, 进入步骤3;否则转入步骤ll,返回上层呼叫应用,以继续普通语音呼叫;步骤3:根据缓存区配置信息申请语音缓存区;步骤4:判断缓存区申请是否成功,如成功进入步骤5,否则转入步骤ll;步骤5:启动语音输入或输出接口,语音输入接口从移动终端的底层硬件处理器中提取 语音数据包,语音输出接口向移动终端的底层硬件处理器中输出经缓存的语音数据包;步骤6:判断语音输入或输出接口是否启动成功,如成功进入步骤7;否则转入步骤10;步骤7:启动缓存区读或写操作,包括对读写指针顺序的控制接口,用以保证输出或输 入语音的连续性;步骤8:根据用户配置引擎表中缓存区的配置信息,判断是否满足结束缓存的条件,如 需结束缓存则进入步骤9,否则转入步骤7;步骤9:停止语音输入或输出接口,结束语音缓存,恢复默认的语音处理通道,即实时 语音处理;步骤10:释放语音缓存区;步骤ll:返回上层呼叫应用,将控制权交还呼叫应用。与现有技术相比较,本发明的模块及方法仅涉及移动终端的改动,网络设备无需任何改 动,就可实现语音缓存功能,同时软件可以灵活控制语音的读写操作,具有较高的灵活性。 本发明引入了语音缓存区、语音输出/输入接口,使语音数据的缓存处理可由软件来完成,一 方面保证了语音数据的高速缓存能力,另一方面无需改动底层硬件处理,只需少量改动普通 移动终端的应用层软件,即可实现特殊功能,降低了系统开发的难度和提高了系统的灵活性。
权利要求
1、一种在移动终端上实现语音缓存的模块,其特征在于包括语音缓存区(101),用以缓存发送路径或接收路径上的语音数据;缓存区操作接口(102),用以完成缓存区申请、释放操作,以及缓存区读写指针操作,以控制缓存区读写顺序;语音输入接口(103),包含若干通信接口,用以提取发送路径或接收路径上的语音数据,提取的语音数据写入语音缓存区;语音输出接口(104),包含若干通信接口,用以输出发送路径或接收路径上的缓存语音数据,缓存语音数据从语音缓存区读取;其中,所述缓存区操作接口(102)可供移动终端的上层呼叫应用调用,从而进入语音缓存模块处理流程;语音缓存区(101)与缓存区操作接口(102)、语音输入接口(103)及语音输出接口(104)连接,实现语音缓存;语音输入接口(103)及语音输出接口(104)与底层硬件处理器连接,进行语音数据包的交互。
2、 根据权利要求1所述的在移动终端上实现语音缓存的模块,其特征在于,所述语音缓 存区(101)是由软件实现的若干缓存区。
3、 根据权利要求1所述的在移动终端上实现语音缓存的模块,其特征在于,所述语音缓 存区(101)是由硬件实现的若干缓存区。
4、 根据权利要求1或2或3所述的在移动终端上实现语音缓存的模块,其特征在于还包 括用户控制接口 (105)和用户配置引擎表(106);所述用户控制接口 (105)用于提供外部操作接口,使用户可以设置和选择使用语音缓存 的条件;所述用户配置引擎表(106)用于存储用户配置数据,包括是否使用语音缓存及使用 场合,以及缓存时间的设置;用户配置引擎表(106)与用户控制接口 (105)和缓存区操作 接口 (102)连接。
5、 根据权利要求4所述的在移动终端上实现语音缓存的模块,其特征在于,所述语音缓 存区(101)包括位于移动终端的数字信号编码器和移动语音编码器之间的第一缓存区(1), 以及位于移动终端的移动语音解码器和数字信号解码器之间的第二缓存区(2)。
6、 根据权利要求5所述的在移动终端上实现语音缓存的模块,其特征在于,所述语音缓 存区(101)还包括位于移动终端的数字信号编码器和数字信号解码器之间的第三缓存区(3), 以及位于移动终端的移动语音解码器和移动语音编码器之间的第四缓存区(4)。
7、 一种利用权利要求1或2或3所述模块在移动终端上实现语音缓存的方法,其特征在 于包括以下步骤步骤A.当用户发生语音呼叫时,创建语音缓存区,如创建失败则返回上层呼叫应用, 否则运行步骤B;步骤B.启动语音输入/输出接口,如启动失败则释放缓存区,返回上层呼叫应用,否则 运行步骤C;步骤C.缓存区操作,控制读写指针,实现对缓存区读写顺序的控制; 步骤D.语音呼叫结束时,清除并释放缓存区。
8、 一种利用权利要求4所述模块在移动终端上实现语音缓存的方法,其特征在于包括以下步骤步骤A.用户控制接口接收用户配置数据;步骤B.用户控制接口把收到的配置数据发送到用户配置引擎表;步骤C.当用户发生语音呼叫时,移动终端的上层呼叫应用模块检查用户配置数据表, 查找是否存在相关的配置引擎;步骤D.如果不存在相关的配置引擎,则返回上层呼叫应用模块继续处理,否则执行步 骤E;步骤E.根据配置引擎创建语音缓存区,如创建失败则返回上层呼叫应用,否则运行步骤F;步骤F.启动语音输入和输出接口,如启动失败则释放缓存区,返回上层呼叫应用,否 则运行步骤G;步骤G.缓存区操作,控制读写指针,实现对缓存区读写顺序的控制; 步骤H.语音呼叫结束时,清除并释放缓存区。
9、 根据权利要求8所述的在移动终端上实现语音缓存的方法,其特征在于,在发送和接 收方向上申请设置独立的第一缓存区(1)和第二缓存区(2),用于分别实现发送语音的缓存延迟,以及接收语音的缓存延迟。
10、 根据权利要求9所述的在移动终端上实现语音缓存的方法,其特征在于,在移动终 端的数字信号编码器和数字信号解码器之间申请增加第三缓存区(3),同时使用第一缓存区(1)和第三缓存区(3),实现本端语音环回,以及发送语音延迟;在移动终端的移动语音解码器和移动语音编码器之间申请增加第四缓存区(4),同时使 用第二缓存区(2)和第四缓存区(4),实现接收语音远端环回,及接收语音延迟。
全文摘要
本发明公开了一种在移动终端上实现语音缓存的模块及方法。所述模块包括缓存区操作接口、语音缓存区、语音输入接口和语音输出接口,还可以包括用户控制接口和用户配置引擎表。其中,所述缓存区操作接口可供移动终端的上层呼叫应用调用,从而进入语音缓存模块处理流程;用户配置引擎表与用户控制接口、缓存区操作接口连接;语音缓存区与缓存区操作接口、语音输出及输入接口连接,实现语音缓存;语音输出及输入接口与底层硬件处理器连接,进行语音数据包的交互。本发明的模块及方法仅涉及移动终端的改动,网络设备无需任何改动,就可实现语音缓存功能,同时软件可以灵活控制语音的读写操作,具有较高的灵活性。
文档编号H04M1/725GK101119566SQ200710152299
公开日2008年2月6日 申请日期2007年9月24日 优先权日2007年9月24日
发明者常宁安, 涛 曲, 郭红星 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1