一种基于擦除编码的自适应语音多播传输方法

文档序号:2823320阅读:183来源:国知局
专利名称:一种基于擦除编码的自适应语音多播传输方法
技术领域
本发明涉及语音多播传输,尤其涉及一种面向传感器网络的基于擦除编码的自适应语音多播传输方法,属于无线传感器网络技术领域。
背景技术
近年来,随着传感器网络的深入应用,语音传输逐步成为传感器网络的一个重要应用,适用于如灾难应急、自然生态监控、安全防卫等领域。无线网络与有线网络不同,具有 低可靠、高延迟、低带宽等特点,使得在无线传感器网络中传输高质量语音流存在极大的挑 战。IHigIg-1H Mfiifi^IlM E-Model (International Telecommunication Union. The Ε-model, acomputational model for use in transmission planning, G.107. Technical r印ort,2005),语音流传输过程中的丢包是造成语音质量下降的主要原因,因此为了保证 语音质量需要减少语音流在传输路径上的丢包率。在无线网络中减少丢包的一种重要手段 是对丢失的数据包进行恢复,其中典型的数据包恢复机制包括以下两种(1)自云力(Automatic Retransmission Request, ARQ);(2)前向纠错机制(Forward Error Correction,简称 FEC)。自动重传机制ARQ是指由数据包接收者向发送者反馈确认信息,当接收者成功 接收到从发送者发出的一个数据包后,由接收者向发送者返回一个确认信息,通常称为 ACK。如果发送者接收到ACK,则表示上一个数据包发送成功,否则,发送者重新将上一个 数据包发送一遍。ARQ在有线和无线网络可靠传输中被广泛应用,但是,由于无线网络的 丢包率非常高,导致ACK发生丢失,从而造成发送者重复发送一个已经被接收的包,这个现 象在多播传输中尤其严重(J. Gemmell and Ε. Schooler. Using Multicast FEC to Solve theMidnight Madness Problem. Technical Report MSR-TR-97—25, Microsoft Research Tech, EastLansing, Michigan, 1997.)。因此,ARQ不适用于语音流在无线传感器网络中的 多播传输。前向纠错机制FEC (C.Perkins and 0. Hodson. RFC2354 =Options for repair of streamingmedia, 1998.)分为两种策略,第一种策略称为内容相关的前向纠错 (media-dependent FEC),每个数据包中附带前一个数据包的内容,当前一个数据包丢失 而后一个正确接收后,可以利用携带的前一个数据包内容对其进行恢复。这种机制被广 ^ZMM^-^^Mt^Wi^Mi^W] (B. Sat and B. ffah. Analysis and evaluation of the Skype and Google-Talk VoIP systems. InMultimedia and Expo, 2006.),但是它不适 用于传输带宽低、数据包长度受限的传感器网络。另一种策略称为内容无关的前向纠错 (media-independent FEC),这种方法在原始的语音数据流中加入冗余信息,即使在传输过 程中一部分原始语音数据丢失了,在接收端仍然可以根据冗余信息将原始数据恢复。这种 方法虽然适用于传感器网络(S. Kim,R. Fonseca,and D. Culler. Reliable transfer on wireless sensor networks. In SEC0N, pages 449-459,Oct. 2004.),但现有的方法只针对路径质量不发生动态变化的网络,此外,也没有考虑语音流在多跳的无线传感器网络中的 多播传输。

发明内容
本发明的目的在于克服现有技术中存在的问题,提出一种基于擦除编码的自适应语音传输方法,该方法特别适用于传感器网络的语音多播。概括地说,本发明方法包括基于擦除编码由源节点按设定的编码系数产生语音 流,所述语音流经中继节点发送到多个汇聚节点;该方法还包括所述汇聚节点按设定的反馈周期计算丢包率,并据此计算使语音质量符合要求的 最小编码系数;所述汇聚节点将所述最小编码系数经中继节点发送到所述源节点;所述源节点根据收到的所述最小编码系数中数值最大的编码系数产生语音流。本发明方法利用语音质量评估模型E-Model对语音质量进行实时在线评估。根据 E-Model,语音质量由语音传输过程中语音流的数据丢失率决定,可表示为下式(1-1)
R = R0- Is-Ile + (95 - Qp^w-] + AL1 P'J
(1-1)其中,R表示计算得到的语音质量Atl-Is为一个常数93. 2 ;A通常取值为0 和 Bpl表示两个与语音压缩编码算法相关的常数,当使用ADPCM 24Kbps的压缩编码时,可根据 实验测得Ie = 25,而Bpl = 38% A表示语音传输过程中语音流的数据丢失率。将这些定 值代入式(1-1),则该式可简化为及=68.2-70~~^~ L 」 P1+38%(1-2)当R大于等于Rmin时,语音质量符合要求。本发明发明人经过实验测试发现,当R 值小于50时语音将无法被正确辨别,因此,本发明设定Rmin = 50,即R值在50以上时语音 质量符合要求。按照上式(1-2),当R = Rmin时可以得到Plmax = 13. 35 %,为了使R彡Rmin,则
Pl ^ Plmax。在本发明方法所针对的语音流多播传输系统中,存在唯一的源节点(称为 source)和多个汇聚节点(称为sink),语音流由source产生并发送到所有sink节点,本 发明的目标在于保障所有sink节点接收到的语音质量都高于所述阈值。本发明方法基于擦除编码(Erasure Coding)技术,擦除编码属于背景技术中提到 的内容无关的前向纠错机制。该机制在原始的语音数据流中加入冗余信息,即使在传输过 程中一部分原始语音数据丢失了,在接收端仍然可以根据冗余信息将原始数据恢复。在擦除编码技术中,先将由source产生的语音流进行缓存,当缓存数据达到k个 数据包后进行编码,产生一共η个编码包,其中满足η >k,n表示编码组长度。在这η个编码 包中,包含原始的k个数据包和额外的n-k个冗余编码包,组成一个编码组(称为block)。在这η个编码包中,只要任意接收到其中k个就能够将原始的k个数据包恢复。在后面的 讨论中将η称为编码系数。编码系数越大则加入的冗余信息越多,而Pl就越小。由于无线 带宽受限,引入大量的冗余数据会导致网络带宽拥塞,所以,在设计目标中应该减少过量的 冗余,即选择尽量小的编码系数。在语音流的传输过程中,如果丢包率为P,那么语音流的数据丢失率
<formula>formula see original document page 5</formula>丢包率为ρ相对容易测得,k为预设值,则根据上面的公式,在满足P1 ^ Plfflax的前 提下,可以计算得到最小的编码系数11_。在本发明方法中,sink按照设定的反馈周期计算Iimin,并经中继节点将它发送到 Source,如图1所示。在本发明方法中,中继节点优选进行反馈融合。具体来说,在sink向source反馈最小编码系数的过程中,数据从sink经过中继 节点通过多跳传输到source,在传输途中,每个中继节点优选根据其接收到的多个反馈进 行数据融合,只将来自语音质量最差的sink的反馈,即数值最大的最小编码系数,向上游 继续汇报。如图2所示,假设sink2上测量到的语音质量低于sinkl的,则相比而言,sink2 的最小编码系数n2min大于sinkl的最小编码系数nlmin。那么当1号中继节点同时接收到 n2min和Iilmin时,反馈融合的结果是,中继1将n2min发送往source节点。source节点收到来自各个sink节点的最小编码系数后,根据收到的最小编码系 数中数值最大的编码系数产生语音流。由于上述处理过程旨在使网络中语音质量最差的 sink节点的语音质量符合要求,那么对于其它语音质量稍微好一些的sink节点也同样能 满足它们的语音质量需求。根据前面的讨论,source节点根据网络中语音质量最差的sink选择编码系数,对 于其它质量稍好的sink节点而言,它们将接收到过量的冗余数据,从而导致网络带宽的浪 费。为了解决这个问题,中继节点优选在从source到sink转发语音流数据的过程中进行 冗余过滤。具体来说,位于汇聚节点上游的中继节点仅将来自源节点的编码组内的前χ个 编码包发送给汇聚节点,而将编码组中位于这χ个编码包之后的其余编码包丢弃,所述χ表 示所述汇聚节点的最小编码系数。如图3所示,假设sink2的最小编码系数n2min = 10,sinkl的最小编码系数Iilmin =5,则在上述反馈融合的机制下,source选择的编码系数是两者中的较大值10。此后, source以包含10个编码包的编码组向sink多播语音数据。在从source到sinkl的路径 之中的某个中继2节点上,该节点按照Iilmin仅将前5个编码包发送给sinkl,而主动丢弃第 6-10个编码包以免浪费带宽。与之相反,在从source到sink2的路径中的某个中继3节点 则将1-10个编码包全部发送。若还有sink3,并假设n3min = 7,则自然地,位于source和 sink3之间的中继节点只需发送前7个编码包。和现有技术相比,本发明的优势在于1、本发明设计了语音传输技术,根据语音质量对编码系数周期性反馈,自适应无线通信质量的动态变化,特别适用于无线传感器网络;2、本发明针对语音多播过程中一对多的语音传输模式,设计了基于擦除编码的丢 包恢复机制,相比现有的基于重传的方式减少了网络数据传输开销;
3、本发明同时考虑多个汇聚节点上同时满足语音质量的需求,并且设计了中间节 点上基于主动丢包的冗余过滤机制,防止网络资源浪费。


图1表示sink周期性向source反馈最小编码系数的示意图。图2表示中继节点的反馈融合示意图,其中虚线表示多跳传输。图3表示中继节点的冗余过滤示意图,其中虚线表示多跳传输。图4表示本发明实施例语音多播过程示意图。
具体实施例方式以下结合附图通过最佳实施例详细说明本发明,但不构成对本发明的限制。本实施例提供一个采用本发明方法的语音流多播传输系统实例。在本实施例中,硬件平台是一种低成本语音采集节点。节点支持高带宽语音传 输,使用32-bit Atmel AT91SAM7S256微控制器,该微控制器上带有256KB flash存储和 64KBRAM存储。无线收发芯片采用Chipcon CC1100,该芯片带有64_byte FIFO缓存,最高 数据收发速率为500Kbps。CCllOO芯片支持基于硬件的低能耗监听模式,支持低功耗唤醒 机制。节点上装置了驻极体电容麦克风用于语音数据采集,由于人声频率范围为340Hz到 3400Hz,所以语音采样频率设置为8KHz,保障语音无损采集。此外,平台上实现了 340Hz到 3400Hz的带通滤波器,进一步减弱人声频率以外的其它频段带来的噪音,优化采样效果。为 减少传输语音带宽,对原始数据进行数据压缩,节点软件上实现了 ADPCM语音压缩算法。参考图4,本实施例语音多播过程包括1)汇聚节点根据一定的反馈周期Tf,测量该周期内从source发出的语音流在传 输过程中的丢包率P,并根据该丢包率以及预设的擦除编码参数k通过公式(2)计算当前 sink上的最小编码系数。2)每个汇聚节点均将其对应的最小编码系数作为反馈借助于中继节点发送到 source。3)在各个中继节点上,若某个中继收到多个反馈信息(最小编码系数)Iilmin, n2min,n3min...,则中继节点将其中最大者(max (η Imin,n2min, n3min...))继续向上反馈至 source 节点;4) source节点收到来自各个汇聚节点的最小反馈系数后,选择其中最大的数值作 为其擦除编码的反馈系数,向汇聚节点发送语音流。5)中继节点在转发数据过程中进行冗余过滤,当它发现冗余过量后主动丢弃不必 要的编码包,以免浪费带宽。
权利要求
一种基于擦除编码的自适应语音多播传输方法,所述方法包括基于擦除编码由源节点按设定的编码系数产生编码组,所述编码组经中继节点发送到多个汇聚节点,其特征在于,还包括所述汇聚节点按设定的反馈周期计算使语音质量符合要求的最小编码系数;所述汇聚节点将所述最小编码系数经中继节点发送到所述源节点;所述源节点根据收到的所述最小编码系数中数值最大的编码系数产生编码组。
2.如权利要求1所述的基于擦除编码的自适应语音多播传输方法,其特征在于,所述 汇聚节点通过语音质量评估模型E-Model计算语音质量。
3.如权利要求2所述的基于擦除编码的自适应语音多播传输方法,其特征在于,所述 汇聚节点通过式(1-2)计算语音质量<formula>formula see original document page 2</formula>(1-2)其中P1表示语音流的数据丢失率;当R值在50以上时语音质量符合要求。
4.如权利要求3所述的基于擦除编码的自适应语音多播传输方法,其特征在于,所述 最小编码系数通过下列方法计算 测量语音流传输过程中的丢包率P,并根据式(2)计算乃=^max时的η值作为最小编码系数<formula>formula see original document page 2</formula>(I)。
5.如权利要求1所述的基于擦除编码的自适应语音多播传输方法,其特征在于,当所 述中继节点接收到来自多个汇聚节点的最小编码系数时,所述中继节点将数值最大的所述 最小反馈系数发送到源节点。
6.如权利要求5所述的基于擦除编码的自适应语音多播传输方法,其特征在于,所述 中继节点仅将来自所述源节点的编码组内的前χ个编码包发送给所述汇聚节点,所述χ表 示所述汇聚节点的最小编码系数。
7.如权利要求1-6任意一项所述的基于擦除编码的自适应语音多播传输方法,其特征 在于,所述方法用于传感器网络的语音多播。
全文摘要
本发明公开了一种基于擦除编码的自适应语音多播传输方法,属于无线传感器网络技术领域。本发明方法包括基于擦除编码由源节点按设定的编码系数产生编码组,所述编码组经中继节点发送到多个汇聚节点;所述汇聚节点按设定的反馈周期计算使语音质量符合要求的最小编码系数;所述汇聚节点将所述最小编码系数经中继节点发送到所述源节点;所述源节点根据收到的所述最小编码系数中数值最大的编码系数产生编码组。本发明可用于语音多播传输。
文档编号G10L19/00GK101807400SQ20101003384
公开日2010年8月18日 申请日期2010年1月8日 优先权日2010年1月8日
发明者孙利民, 李立群, 皇甫伟, 舒坚 申请人:中国科学院软件研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1