一种提高网络音频主观质量的方法

文档序号:7926396阅读:180来源:国知局
专利名称:一种提高网络音频主观质量的方法
技术领域
本发明涉及网络通信领域,尤其涉及一种提高网络音频主观质量的方法。
背景技术
目前基于ip网络的传输协议最主要有tcp协议和udp协议,tcp协议是有连接的可靠传输,而udp协议是无连接的不可靠传输。相对而言,udp协议具有简单、快速、实时的优点,所以,对于实时性要求很高的网络音频传输,一般采用udp协议进行传输,具体传输模式如下发送端根据一定的采样率定时采取音频数据,通过ip网络的udp协议进行网络传输,接受端将接受到的音频数据按照同样的采样率进行播放。然而,由于udp协议本身具有可靠性低的缺陷,音频数据在网络传输的过程中经常会发生数据丢失、抖动、顺序错乱等等,造成了网络音频质量变差,接收方对接收到的音频的主观感受非常不好,甚至无法听清(也可以理解为音频的主观质量很低)。 在现有的网络状况和udp协议网络传输可靠性低的情况下,业界采用了很多方法来提高音频的主观质量,尽量使音频接收方听到的音频更为流畅,现有的比较好的技术方案主要是采用了具有前缓冲功能的缓冲区来提高音频的质量,把接受到的音频数据放到缓冲区中,数据到达某个门槛值的时候就开始播放,这在一定程度上改善了音频断断续续的问题。但是,这种方式仅仅是在开始播放时进行了预缓冲,在播放过程中一旦缓冲区空,就只能等待数据;而另一方面,一旦当缓冲区满了,就会丢失数据。在丢失数据和等待数据时,都会出现断音,而断音经常伴随着杂音,因此,音频的主观质量还是不尽人意。

发明内容
本发明的目的在于提供一种提高网络音频主观质量的方法,旨在解决现有技术中
存在的由于网络音频传输质量较差而导致的接收方主观感受不良的缺陷。 本发明是这样实现的,一种提高网络音频主观质量的方法,其包括以下步骤a:根
据缓冲区中音频数据块的数目判断是否需要进入主动丢包模式,如果需要进入主动丢包模
式,则停止将接收到的音频数据放入到数据缓冲区中,直至退出主动丢包模式。
所述方法进一步包括以下步骤b :根据缓冲区中音频数据块的数目判断是否需要
进入预缓冲模式,如果需要进入预缓冲模式,则停止播放并将接收到的音频数据块放入到
缓冲区中,直至退出预缓冲模式。
在所述步骤b中设置一个预缓冲门槛值,当数据缓冲区中数据块的数目为零时,
进入预缓冲模式;如果数据块的数目大于等于预缓冲门槛值则退出预缓冲模式。 所述缓冲区容量为8个数据块,每个数据块大小为1024字节,预缓冲门槛值为2
个数据块。 在所述步骤a中设置一个主动丢包门槛值,当数据缓冲区中数据块的数目等于缓冲区容量时,进入主动丢包模式;如果数据块的数目小于等于主动丢包门槛值则退出主动丢包模式。
所述缓冲区容量为8个数据块,每个数据块大小为1024字节,主动丢包门槛值为3个数据块。 所述步骤b中退出预缓冲模式后,立即开始播放音频数据。 所述步骤a中退出主动丢包模式后,将接收到的音频数据存入缓冲区中。 本发明还提供一种提高网络音频主观质量的方法,其包括以下步骤 步骤l,根据缓冲区中音频数据块的数目判断是否需要进入预缓冲模式,如果需要
进入预缓冲模式,则停止播放并将接收到的音频数据块放入到缓冲区中,直至退出预缓冲模式。 步骤2,根据缓冲区中音频数据块的数目判断是否需要进入主动丢包模式,如果需要进入主动丢包模式,则停止将接收到的音频数据放入到数据缓冲区中,直至退出主动丢包模式。 在所述步骤1中设置一个预缓冲门槛值,在所述步骤2中设置一个主动丢包门槛
值,当数据缓冲区中数据块的数目为零时,进入预缓冲模式;如果数据块的数目大于等于预
缓冲门槛值则退出预缓冲模式;当数据缓冲区中数据块的数目等于缓冲区容量时,进入主
动丢包模式;如果数据块的数目小于等于主动丢包门槛值则退出主动丢包模式。 本发明提供的提高网络音频主观质量的方法通过采用主动丢包和预缓冲的方式,
避免了网络音频传输时频繁断音所带来的传输质量下降,改良了接收方对网络音频的主观感受。


图1是本发明提高网络音频主观质量的方法较佳实施例的流程 图2是采用本发明所述预缓冲模式后的音频传输示意 图3是采用本发明所述主动丢包模式后的音频传输示意图。
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。 与现有技术相比,本发明提供的提高网络音频主观质量的方法的主要特点是增加
了预缓冲模式和主动丢包模式,使得接收方所实时听到的音频相对流畅易懂。 所述预缓冲模式是指在缓冲区空时,设置一个预缓冲标志,进入预缓冲模式,即,
将接受到的数据放入缓冲区,暂不播放。当缓冲区的音频数据达到一定块数时,退出预缓冲
模式,才开始播放缓冲区内的音频数据。 所述主动丢包模式是指在缓冲区满时,设置一个主动丢包标志,进入主动丢包模
式,B卩,在播放的过程中,将接收到的数据主动丢掉,即使缓冲区有足够的空间可存放这些
数据,也必须主动丢弃这些数据,直到缓冲区出现一定数量的空块时才开始重新接收并存
储数据,或者说,缓冲区在不断播放的情况下,只有当只剩下几块音频数据时,才退出主动
丢包模式,开始将接受到的音频数据放入缓冲区。 上述预缓冲模式和主动丢包模式涉及以下几个要点
1、选择合适的缓冲区大小、块大小和块数目缓冲区不能设置得太大,否则延时也大,反应迟钝;缓冲区也不能设置得太小,否则在网络抖动时,数据丢失增加。缓冲区的设置一般采用多块的方式。每块为2的幂的字节数。本实施例将缓冲区设置成8块,每块设置为1024字节。 2、设置合适的预缓冲门槛值根据缓冲区块数和延时要求,选择合适的预缓冲门槛值,太大,延时就大,反应迟钝,缓冲区易满,造成丢包的现象;太小,缓冲区容易空,造成断续的现象。本实施例将预缓冲门槛值设值为2,当缓冲区内的音频数据为空时,进入预缓冲模式,当缓冲区内的音频数据大于等于2块时退出预缓冲模式。 3、设置合适的主动丢包门槛值,根据缓冲区块数和延时的要求,选择合适的数值,太大,延时就大,反应迟钝,缓冲区易满,造成丢包的现象;太小,缓冲区容易空,造成断续的现象。本实施例将主动丢包门槛值设置为3,当缓冲区满时进入主动丢包模式,当缓冲区内的音频数据小于等于3块数据时,退出主动丢包模式。 需要强调的是,预缓冲门槛值和主动丢包门槛值可以相同,也可以不同。 以下根据上述的预缓冲模式和主动丢包模式,结合图1具体说明本发明提高网络
音频主观质量的方法较佳实施例的数据块处理的流程 网络音频传输开始后,在步骤10中,首先对系统进行初始化并将预缓冲标志pre—buf置零,表示当前不进行预缓冲,主动丢包标志dismiss置零,表示当前不进行主动丢包。在步骤11中等待接收一块音频数据,接收到音频数据之后,在步骤12中查看缓冲区的数据块数K,在步骤13中判断K是否等于零,如果K等于零,则表示缓冲区为空,执行步骤131,停止播放,并将预缓冲标志pre—buf置l,进入预缓冲模式,然后执行步骤17,将接收到的数据块放入缓冲区后返回步骤11。如果步骤13中判断结果为否,即K不等于零,则执行步骤14,判断预缓冲标志pre_bUf是否等于1,即是否已经进入了预缓冲模式,如果预缓冲标志为1,则表示已经进入了预缓冲模式,执行步骤141,判断缓冲区的数据块数K是否大于等于预缓冲门槛值,本实施例中预缓冲门槛值为2,如果K小于2,则表示小于预缓冲门槛值,执行步骤17,将数据放入缓冲区,如果K大于等于2,则表示已经超过了预缓冲门槛值,执行步骤142,开始播放音频文件并将预缓冲标志pre_buf置零,退出预缓冲模式,然后继续执行步骤17。 如果步骤14的判断结果为否,即当前未处于预缓冲模式中,则继续执行步骤15,判断主动丢包标志dismiss是否为1以确定当前是否处于主动丢包模式中,如果步骤15的判断结果为否(即当前不处于主动丢包模式中),则执行步骤16,判断缓冲区是否已满,即数据块数K是否等于缓冲区容量,本实施例中缓冲区容量为8块数据,如果缓冲区未满,则执行步骤7,将接收到的数据块放入缓冲区,如果缓冲区已满,则在步骤161中进入主动丢包模式,将收到的数据丢掉并将主动丢包标志置l,然后返回步骤11。如果步骤15的判断结果为是,则执行步骤151,判断缓冲区的数据块数K是否小于等于主动丢包门槛值,本实施例中主动丢包门槛值为3,如果K大于3,表示当前需要主动丢包,则返回步骤11,而当前接收到的音频数据不放入到缓冲区中,如果K小于等于3,表示缓冲区中的数据块数已经低于主动丢包门槛值,则执行步骤152,退出主动丢包模式并将主动丢包标志dismiss置零,然后进入步骤17,将数据放入缓冲区后返回步骤11。 通过上述实施例,本发明提高网络音频主观质量的方法可以总结为以下几个步骤 步骤l,根据缓冲区中音频数据块的数目判断是否需要进入预缓冲模式,如果需要 进入预缓冲模式,则停止播放并将接收到的音频数据块放入到缓冲区中,直至退出预缓冲 模式; 步骤2,根据缓冲区中音频数据块的数目判断是否需要进入主动丢包模式,如果需 要进入主动丢包模式,则停止将接收到的音频数据放入到数据缓冲区中,直至退出主动丢 包模式。 当然,步骤1和步骤2是没有必然的先后顺序的。步骤1可以通过设置预缓冲门 槛值来实现,当数据缓冲区中数据块的数目为零即缓冲区为空时,进入预缓冲模式;如果数 据块的数目大于预缓冲门槛值则退出预缓冲模式,开始播放音频数据。同样的,步骤2也可 以通过设置主动丢包门槛值来实现,当数据缓冲区中数据块的数目等于缓冲区块数即缓冲 区满时,则进入主动丢包模式;如果数据块的数目小于等于主动丢包门槛值则退出主动丢 包模式,开始接收数据。 以下举例说明采用本发明提高网络音频主观质量的方法之后所得到的效果。结合 参见图2中所示,图2揭示了采用本发明所述的预缓冲模式后带来的网络音频传输质量的 改进。如果只有前缓冲而没有本发明所述的预缓冲模式,则在开始时,缓冲2块数据,并在 128ms开始播放,有3块数据,假设数据块3,4、5丢掉,在320ms播完,缓冲区空,断音l,等 待数据,在385ms播数据块6,在385+64 = 449ms播完,断音2,等待数据,在450ms播数据 块7,在450+64 = 514ms播完,断音3,在515ms播数据块8,在515+64 = 579ms播完,断音 4,在580ms播数据块9,在580+64 = 644ms播完,断音5,在650播数据块10,在650+64 = 714ms播完,断音6,在740ms播数据块11,在740+64 = 804ms播完,断音7,在836ms播数 据块12,在836+64 = 900ms播完,断音8,在930ms播数据块13,在930+64 = 994ms播完, 断音9,在1025ms播数据块14,在1025+64 = 1089ms播完,断音10,在1090ms播数据块15, 在1090+64 = 1154ms播完前,数据块16进入,接着播块16,在1090+2*64 = 1218播完,断 音ll,在1254播数据块18。在这段时间内有11处断音和杂音,声音效果差。
而在本发明的预缓冲模式下,在128ms开始播放,有三块数据,在320ms播完,同样 假设数据块3、4、5丢掉了,缓冲区空,断音l,进入预缓冲1,数据块6、7、8在515ms开始播 放,在515+3*64 = 707ms播完之前,数据块9、 10进入,在707+2*64 = 835ms播完之前,数 据块11进入,在835+64 = 899ms播完前,数据块12进入,在899+64 = 963ms播完前,数据 块13进入,在963+64 = 1027ms播完前,数据块14进入,在1027+64 = 1091ms播完前,数 据块15进入,在1091+64 = 1155ms播完前,数据块16进入,在1155+64 = 1219ms播完,断 音2,数据块17、 18进入预缓冲2,在这段时间只有两处断音。 显然,采用本发明所述的预缓冲模式后,在进入预缓冲时,有断音l,时间较长,第 三块与第一块的时间差,网络传输的时间是不确定的,这个时间也是不确定的,但是避免了 后面的断音2、3、4、5、6、7、8、9、10变9次空为一次空,9次断音为一次断音;断音2等价于 现有技术中的断音ll,进入预缓冲2,避免后面可能出现的网络抖动,有效地提高了音频接 收方所得到的音频的主观质量,改良了音频接收方的听觉体验。 结合图3中所示,图3揭示了采用本发明所述的主动丢包模式后所带来的音频传 输质量的改进如果没有本发明所述的主动丢包模式,则每次缓冲区满就开始丢包,当数据
6块0、 1、2进入时,在8ms开始播放,在8+64 = 72ms第一块播完前,数据块3, 4, 5, 6, 7进入, 当数据块到8到来时,缓冲区满,丢失数据块8,产生断音1,数据块9到来时,缓冲区空一 块,可以放入,在8+2*64 = 136ms第二块播完前,数据块10来时,缓冲区满,丢,断音2,数 据块11到来时,可以进入,在8+3*64 = 200ms第三块播完前,数据块12丢,断音3,数据块 13可以进入,在8+4*64 = 264ms第四块播完前,数据块14丢,断音4,数据块15可以进入, 在8+5*64 = 328ms第五块播完前,数据块16丢,断音5,数据块17可以进入,在8+6*64 = 392ms第六块播完前,数据块18丢,断音6,数据块19可以进入,在8+7*64 = 456ms第七块 播完前,数据块20丢,断音7,数据块21可以进入,在8+8*64 = 520ms第八块播完前,数据 块22丢,断音8,数据块23可以进入。这段时间有八次断音。 而如果采用了本发明所述的主动丢包模式,在数据块8到来时,进入主动丢包模 式,在8+5*64 = 328ms第5数据块播放前,数据块8, 9, 10, 11, 12, 13, 14, 15, 16都丢掉,断 音1,数据块17到来时,缓冲区只有3块数据,退出丢包机制,数据块17, 18, 19, 20, 21都可 以进入,数据块22在510ms来时,数据块6, 7都播完,可以进入,数据块23也可以进入。这 段时间只出现了一次较长时间320ms的断音1。 显然,上述过程在缓冲区满时,进入主动丢包模式,在此后的320ms期间到来的所 有数据块都丢掉,320ms后缓冲区只有3块数据时退出丢包机制,使缓冲区处于最佳状态, 可以容忍较多的丢包和较大的网络抖动,采用一次丢9块数据,避免后面8次丢数据所带来 的8次断音。而断音时经常伴随着杂音,断音会使说话不连贯,难以听懂对方的讲话,本发 明明显地减少了断音次数,有效地提高了音频主观质量。 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明。凡在本发明的精 神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
一种提高网络音频主观质量的方法,其特征在于包括以下步骤a根据缓冲区中音频数据块的数目判断是否需要进入主动丢包模式,如果需要进入主动丢包模式,则停止将接收到的音频数据放入到数据缓冲区中,直至退出主动丢包模式。
2. 根据权利要求1所述的提高网络音频主观质量的方法,其特征在于所述方法进一步包括以下步骤b:根据缓冲区中音频数据块的数目判断是否需要进入预缓冲模式,如果需要进入预缓冲模式,则停止播放并将接收到的音频数据块放入到缓冲区中,直至退出预缓冲模式。
3. 根据权利要求2所述的提高网络音频主观质量的方法,其特征在于在所述步骤b中设置一个预缓冲门槛值,当数据缓冲区中数据块的数目为零时,进入预缓冲模式;如果数据块的数目大于等于预缓冲门槛值则退出预缓冲模式。
4. 根据权利要求3所述的提高网络音频主观质量的方法,其特征在于所述缓冲区容量为8个数据块,每个数据块大小为1024字节,预缓冲门槛值为2个数据块。
5. 根据权利要求1所述的提高网络音频主观质量的方法,其特征在于在所述步骤a中设置一个主动丢包门槛值,当数据缓冲区中数据块的数目等于缓冲区容量时,进入主动丢包模式;如果数据块的数目小于等于主动丢包门槛值则退出主动丢包模式。
6. 根据权利要求5所述的提高网络音频主观质量的方法,其特征在于所述缓冲区容量为8个数据块,每个数据块大小为1024字节,主动丢包门槛值为3个数据块。
7. 根据权利要求2所述的提高网络音频主观质量的方法,其特征在于所述步骤b中退出预缓冲模式后,立即开始播放音频数据。
8. 根据权利要求1所述的提高网络音频主观质量的方法,其特征在于所述步骤a中退出主动丢包模式后,将接收到的音频数据存入缓冲区中。
9. 一种提高网络音频主观质量的方法,其特征在于包括以下步骤步骤1,根据缓冲区中音频数据块的数目判断是否需要进入预缓冲模式,如果需要进入预缓冲模式,则停止播放并将接收到的音频数据块放入到缓冲区中,直至退出预缓冲模式。步骤2,根据缓冲区中音频数据块的数目判断是否需要进入主动丢包模式,如果需要进入主动丢包模式,则停止将接收到的音频数据放入到数据缓冲区中,直至退出主动丢包模式。
10. 根据权利要求9所述的提高网络音频主观质量的方法,其特征在于在所述步骤1中设置一个预缓冲门槛值,在所述步骤2中设置一个主动丢包门槛值,当数据缓冲区中数据块的数目为零时,进入预缓冲模式;如果数据块的数目大于等于预缓冲门槛值则退出预缓冲模式;当数据缓冲区中数据块的数目等于缓冲区容量时,进入主动丢包模式;如果数据块的数目小于等于主动丢包门槛值则退出主动丢包模式。
全文摘要
本发明提供了一种提高网络音频主观质量的方法,其包括以下步骤根据缓冲区中音频数据块的数目判断是否需要进入预缓冲模式,如果需要进入预缓冲模式,则停止播放并将接收到的音频数据块放入到缓冲区中,直至退出预缓冲模式;根据缓冲区中音频数据块的数目判断是否需要进入主动丢包模式,如果需要进入主动丢包模式,则停止将接收到的音频数据放入到数据缓冲区中,直至退出主动丢包模式。本发明提供的提高网络音频主观质量的方法通过采用预缓冲和主动丢包的方式,避免了网络音频传输时频繁断音所带来的传输质量下降,改良了音频接收方对网络音频的主观感受。
文档编号H04L29/08GK101753422SQ20081021815
公开日2010年6月23日 申请日期2008年12月12日 优先权日2008年12月12日
发明者徐春 申请人:Tcl集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1