一种用于处理因特网语音协议VoIP封包的方法,包括以下步骤:传送一个VoIP封包至一个缓冲区;依据该到达VoIP封包以及先前VoIP封包的序号来判断该封包是否失序;若该到达VoIP封包已失序,则判断该缓冲区内是否存在一个具有与该到达VoIP封包相同序号的封包;若该缓冲区内未存在所述封包,则计算该到达VoIP封包与先前VoIP封包的序号差;根据该序号差来计算需要被插入于该缓冲区的虚拟封包数并产生这些虚拟封包;于该缓冲区内依序插入这些虚拟封包和该到达VoIP封包。利用本发明专利技术可将迟延的封包重新排序,并可于封包遗失时以柔和噪音取代,从而避免语音数据传输的中断。
【技术实现步骤摘要】
本专利技术涉及一种用于处理数据封包的方法和装置,尤其涉及一种用于处理因特网语音协 议(voice over internet protocol, VoIP)圭寸包的方法禾口装置。技术背景VoIP是一种允许实时语音信息于因特网协议(Internet Protocol, IP)的网络上传输的 技术,为了于IP网络上传输实时语音信息,音频信息被储存为一个或多个数据封包,此种数 据封包一般通称为VoIP封包。与传统电话网络不同的是每一个VoIP封包即便是来自相同的 来源地,且要传送至相同的目的地,但是这些VoIP封包于IP网络上可能都是经由不同的路径 传送。因此,有些VoIP封包会比应于其之前到达的VoIP封包还早到达目的地,导致这些 VoIP封包在接收端出现失序(out-of-order)的情形。一个用于封包化这些实时音频数据以使其能于IP网络上传送的标准协议是为实时传输协 议(Real-Time Transport Protocol, RTP),然而,该实时传输协议仅仅提供错误处理的额 外信息,而未提供用于处理错误的功能。因此, 一旦网络发生堵塞,这些VoIP封包可能会发 生遗失或迟延等现象,而导致该语音传输中的音频质量严重地被影响。为了补救因路径不同所造成的差异, 一种作法是于该接收端设置一个抖动缓冲区 (jitter buffer),其用于储存所接收到的VoIP封包,并将这些VoIP封包中的音频信息发送 到该音频数据的接收者。当这些VoIP封包仅发生些微延迟时,由于该抖动缓冲区内仍有一些 已暂存的VoIP封包可传送至该音频数据的接收者,因而使用者不会立即感觉到语音中断。然 而,若网络发生十分堵塞的情形,则使用者所接收到的该音频数据质量可能会变得十分恶劣
技术实现思路
鉴于以上内容,有必要提供一种用于处理VoIP封包的方法和装置,其可通过虚拟封包的 插入,而达到封包排序以及错误处理的功能。一种用于处理因特网语音协议(VoIP)封包的方法,方法包含以下步骤传送一个VoIP封 包至一个缓冲区;依据该到达VoIP封包以及先前VoIP封包的序号来判断该封包是否失序;若 该到达VoIP封包已失序,则判断该缓冲区内是否存在一个具有与该到达VoIP封包相同序号的 封包;若该缓冲区内未存在所述封包,则计算该到达VoIP封包与先前VoIP封包的序号差;根据该序号差来计算需要被插入于该缓冲区的虚拟封包数并产生这些虚拟封包;于该缓冲区内 依序插入这些虚拟封包以及该到达VoIP封包。一种用于处理因特网语音协议(VoIP )封包的装置,该装置包含一实时传输协议模块、 一缓冲区、 一音频控制模块。该实时传输协议模块用于接收复数个VoIP封包,以及将这些到 达的VoIP封包传送至该缓冲区。该缓冲区用来当该到达的VoIP封包失序时产生虚拟封包,并 且将这些虚拟封包和该到达的VoIP封包重新排序后输出至该音频控制模块。该音频控制模块 用来为当输出封包为虚拟封包时则产生柔和噪音,和当输出封包为VoIP封包时则将其解压縮 为原始数据。相较于现有技术,所述的处理VoIP封包的方法和装置,其通过于该缓冲区插入虚拟封包 ,不仅可将迟延的封包重新排序,并可于封包遗失时以柔和噪音来取代,如此一来,即便网 络发生堵塞情形,也不会造成语音数据传输的中断。附图说明图1为本专利技术用于处理VoIP封包的装置的较佳实施例的硬件架构图。图2为本专利技术中封包重新排序的示意图。图3为本专利技术中封包迟延处理的示意图。图4为本专利技术中用于处理VoIP封包的方法的较佳实施例的流程图。 图5为本专利技术中音频控制模块所执行方法的较佳实施例的流程图。具体实施方式图l所示为本专利技术中用于处理VoIP封包的装置(后称电子装置100)的较佳实施例的硬 件架构图。该电子装置100安装于行动电话(图1未示)中。举例来说,当使用者欲通过该行动 电话与其它通讯装置建立一个VoIP会议时,于该VoIP会议中,这些VoIP封包经由一个上行通 道(由该使用者至其它通讯装置)或经由一个下行信道(由其它通讯装置传送至该使用者)于该 使用者与其它通讯装置间传送,且每一VoIP封包皆包含RTP信息,也就是一RTP时间标签和一 序号。该电子装置100包括RTP模块10、缓冲区20、音频控制模块(Audio Controlling Module) 30、音频模块(Audio Module) 40和VoIP应用程序50。该电子装置100具有两种功能 其可为接收器或传送器,该电子装置100内所包含的模块会因其角色(接收器或传送器)的不 同而执行不同的功能。当该电子装置100运作为传送器时,该音频模块40依据使用者的声音而产生原始数据, 并将该原始数据输出至音频控制模块30。而该音频控制模块30压縮这些原始数据并产生压縮原始数据。该RTP模块10封包化这些压縮原始数据以产生多个VoIP封包,并将其传输至储存 于该电子装置100的VoIP应用程序50。之后,该VoIP应用程序50会将这些VoIP封包经由下行 信道由该电子装置100传送至其它通讯装置(例如VoIP会议的参加者)。当该电子装置100运作为接收器时,该RTP模块10由其它通讯装置接收多个VoIP封包,并 将其解封包,换言之,此时,RTP模块10移除这些VoIP封包的表头(headers)。于解封包后, 这些VoIP封包会被插入至该缓冲区20。在VoIP会议中,当该网络中所传输的话务量过于堵塞时,这些VoIP封包于到达该电子装 置100时可能会出现失序情形,例如封包迟延或遗失。在这种情形下,该缓冲区20通过产 生虚拟封包以重新排序这些VoIP封包或执行封包迟延处理,此等功能会于描述图2和图3时进 一步介绍。该音频控制模块30解压縮这些VoIP封包为原始数据,并且于接收到虚拟封包时产 生柔和噪音。最后,该原始数据和该柔和噪音被输出至该音频模块40并通过该音频模块40而 被播放。该缓冲区20可以是一个抖动缓冲区,且其大小可被动态调整。在本实施例中,该缓冲区 20包含多个空间用于储存自该RTP模块10输出的VoIP封包。请参见图2,当一个VoIP封包输出 至该缓冲区20时(下文称到达的VoIP封包),首先判断该缓冲区20是否为空,若是,则直 接将该到达的VoIP封包插入所述缓冲区20。如图2所示,封包0首先被插入所述缓冲区20。若 所述缓冲区20不为空,该缓冲区20则进一步判断该到达的VoIP封包的序号与前一个被插入至 该缓冲区20的VoIP封包(下文称先前的VoIP封包)的序号是否连续。例如该缓冲区20判 断封包3(到达的VoIP封包)的序号与封包2(先前的VoIP封包)的序号是否连续。在此为了说明 ,所有储存于该缓冲区20的不同型态的封包皆称为暂存封包。在本实施例中,该暂存封 包包括VoIP封包和虚拟封包,且每一暂存封包皆具有独立序号。若该到达的VoIP封包与该先前的VoIP封包的序号是连续的,则该到达的VoIP封包被插入 至该缓冲区20。否则,若这些序号是不连续的,则该缓冲区20确认该到达的VoIP封包与该先 前的VoIP封包出现失序情形;之后,该缓冲区20进一步判断是否有一个暂存封包,其具有与 该到达的VoIP封包相同的序号。若该缓冲区20中并无此种封包(不本文档来自技高网...
【技术保护点】
一种用于处理因特网语音协议VoIP封包的方法,其特征在于,该方法包括如下步骤: (a)传送一个VoIP封包至一缓冲区; (b)依据该到达的VoIP封包和先前的VoIP封包的序号判断该到达的VoIP封包是否失序; (c)若该 到达的VoIP封包已失序,则判断该缓冲区内是否存在一个与该到达的VoIP封包相同序号的封包; (d)若该缓冲器中未存在与该到达的VoIP封包相同序号的封包,计算该到达的VoIP封包与先前的VoIP封包的序号差; (e)依据该序号 差来计算所需插入至该缓冲区的虚拟封包,并产生这些虚拟封包;以及 (f)依序将这些虚拟封包和该到达的VoIP封包插入至该缓冲区。
【技术特征摘要】
1.一种用于处理因特网语音协议VoIP封包的方法,其特征在于,该方法包括如下步骤(a)传送一个VoIP封包至一缓冲区;(b)依据该到达的VoIP封包和先前的VoIP封包的序号判断该到达的VoIP封包是否失序;(c)若该到达的VoIP封包已失序,则判断该缓冲区内是否存在一个与该到达的VoIP封包相同序号的封包;(d)若该缓冲器中未存在与该到达的VoIP封包相同序号的封包,计算该到达的VoIP封包与先前的VoIP封包的序号差;(e)依据该序号差来计算所需插入至该缓冲区的虚拟封包,并产生这些虚拟封包;以及(f)依序将这些虚拟封包和该到达的VoIP封包插入至该缓冲区。2.如权利要求l所述的方法,其特征在于,于步骤(a)后,判断该缓 冲区是否为空;若该缓冲区为空,则将该到达的VoIP封包插入至该缓冲区,若该缓冲区不为 空,则执行步骤(b)。3.如权利要求l所述的方法,其特征在于,每一到达的VoIP封包具有 实时传输协议信息,该实时传输协议信息包含时间巻标和序号。4.如权利要求3所述的方法,其特征在于,于步骤(a)之后,其进一 步包含步骤(al)依据该实时传输协议信息和该缓冲区的大小来判断该到达的VoIP封包是否迟延, 若该到达的VoIP封包发生迟延,则丢弃该到达的VoIP封包,若该到达的VoIP封包未发生迟延 ,则执行步骤(b)。5.如权利要求l所述的方法,其特征在于,该方法进一步包含 若该到达的VoIP封包未失序,则该将到达VoIP封包插入至该缓冲区。6.如权利要求l所述的方法,其特征在于,该方法进一步包含 (cl)若该缓冲区具有与该到达的VoIP封包相同序号的封包,则判断该封包是否为VoIP封包;(cll)若缓冲区内的该封包为VoIP封包,则丢弃该到达的VoIP封包;以及 (cl2)若缓冲区内的该封包为虚拟封包,则将其取代为该到达的VoIP封包。7.如权利要求l所述的方法,其特征在于,于步骤(f)之后,其进一 步包含步骤(g) 依序输出缓冲区内的封包至一个音频控制模块,其中被输出的封包包括虚拟封包和 VoIP封包。8.如权利要求7所述的方法,其特征在于,于步骤(g)之后,其进一 步包含步骤(h) 判断该输出的封包为虚拟封包或V...
【专利技术属性】
技术研发人员:何旻璟,
申请(专利权)人:深圳富泰宏精密工业有限公司,奇美通讯股份有限公司,
类型:发明
国别省市:94[中国|深圳]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。