CN114513577A - 数据播放方法及装置 - Google Patents
数据播放方法及装置 Download PDFInfo
- Publication number
- CN114513577A CN114513577A CN202210089302.5A CN202210089302A CN114513577A CN 114513577 A CN114513577 A CN 114513577A CN 202210089302 A CN202210089302 A CN 202210089302A CN 114513577 A CN114513577 A CN 114513577A
- Authority
- CN
- China
- Prior art keywords
- audio data
- data
- audio
- playing
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/18—Automatic or semi-automatic exchanges with means for reducing interference or noise; with means for reducing effects due to line faults with means for protecting lines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/22—Arrangements for supervision, monitoring or testing
- H04M3/2236—Quality of speech transmission monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/22—Arrangements for supervision, monitoring or testing
- H04M3/2272—Subscriber line supervision circuits, e.g. call detection circuits
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供一种数据播放方法及装置,涉及电子信息技术领域,能够解决数据播放时效率低的问题。具体技术方案为:在初步判断需要加速或者减速处理音频数据时,再次对该音频数据的未播放数据量和延迟数值进行判断,确定是否执行变速处理,最后再进行变速处理时,仅针对音频数据中非语音信号部分数据进行变速处理。本公开用于数据的播放。
Description
技术领域
本公开涉及电子信息技术领域,尤其涉及数据播放方法及装置。
背景技术
音频数据对传输的实时性和可靠性要求较高,相关技术中,网络抖动对通话质量影响很大,一般情况下都是采用语音缓冲区来减少抖动延迟的影响,现有技术中的基于NetEq的缓冲系统的框图如图1所示,其中,该缓存系统包括四个缓存区域以及决策(Decision)模块,其中缓存区域包括Packet buffer抖动缓冲区、Decoded buffer解码缓冲区、Algorithm bufferDSP算法缓冲区和Sync buffer语音播放缓冲区。其中Decision模块生成的处理命令有5种,一是正常播放,即不需要做信号处理;二是加速播放,用于通话延时较大的情况,通过加速算法使语音信息不丢而减少语音时长,从而减少延时;三是减速播放,用于语音断续情况,通过减速算法使语音信息不丢而增加语音时长,从而减少语音断续;四是丢包补偿,用于丢包情况,通过丢包补偿算法把丢掉的语音补偿回来;五是融合(merge),用于前一帧丢包而当前包正常收到的情况,由于前一包丢失用丢包补偿算法补回了语音,与当前包之间需要做融合处理来平滑上一补偿的包和当前正常收到的语音包。
具体的,Packet buffer缓冲区用于接收网络发来的音频数据包,然后Decodedbuffer缓冲区从Packet buffer缓冲区获取数据进行解码处理,把解码后的数据放入Decode buffer缓冲区中。Decision模块根据网络抖动延迟和Sync Buffer缓冲区的情况做出决策:正常播放,还是加速,加速等,Algorithm Buffer缓冲区存放决策处理后的数据,最后把Algorithm Buffer缓冲区将数据放入Sync Buffer缓冲区。
简言之,NetEq缓存处理系统是通过以上四个buffer来缓解网络抖动,而加速或减速算法通常是采用“变速不变调”的处理方法,如果是加速处理,就把相邻的两个基音周期合并为一个基音周期;如果是减速处理,则将相邻两个基音周期扩展为三个基音周期,这样就可以把语音信号在时间轴上压缩或者拉伸,具体的,加速播放处理示意图如图1a所示,减速播放的缓冲区处理示意图如图1b所示。
但是上述缓存系统在实际应用时会遇到以下几个问题:
1.当决策为非正常播放时可能会引起语音失真:
当网络语音通话时,除了正常播放,就是决策为加速或者减速的情况比较多,但是因为语音信号的复杂性,例如背景噪声干扰,可能存在其他人的语音干扰等,所以无论是基音周期合并还是拉伸,都可能造成语音失真,可能加速处理后有瞬间尖锐的声音,减速处理后的信号会出现不平滑的现象,造成播放效果差的问题。
2.会增加无用的计算量:
无论是加速还是减速处理,都有一个前提,就是相邻的两个基音周期的相关性要足够大,因此会导致这样的后果:当数据处理的决策是加速/减速,经过了一系列算法处理后,最后发现前后两个相邻基音周期的信号相关性达不到要求,不能加速或者加速,只能按正常播放来处理,那么前面的算法处理实际是“浪费”了。
还有一种情况也会浪费计算资源,假设网络一直很稳定,每相邻两个数据包之间间隔很稳定,当音频数据处于正常播放时,突然网络拥塞,数据包没有收到,缓存系统会做减速处理,减速播放后;当网络又正常了,连续到来多个数据包,缓存系统又不得不做加速处理,这种处理方式会造成数据处理效率低,并造成资源浪费。
发明内容
本公开实施例提供一种数据播放方法及装置,能够解决音频数据播放时效率低的问题。所述技术方案如下:
根据本公开实施例的第一方面,提供一种数据播放方法,该方法包括:
获取音频数据包的预处理策略,该预处理是根据网络抖动延迟和缓冲区延迟确定的处理策略,该预处理策略包括正常播放、加速播放和减速播放;
根据该预处理策略,获取该音频数据包的目标延迟值和已缓存未播放的数据;
根据该目标延迟值和已缓存未播放的数据,确定该音频数据包的目标处理策略,该目标处理策略包括正常播放、加速播放和减速播放。
在一个实施例中,该方法中获取音频数据包的预处理策略,包括:
获取音频数据,并存储进语音播放缓冲区;
根据预设算法和网络资源,计算网络抖动延迟和缓冲区延迟;
根据该网络抖动延迟和缓冲区延迟,确定该音频数据的预处理策略,该处理包括正常播放、加速播放和减速播放。
在一个实施例中,该方法中获取该音频数据的目标延迟值,包括:
获取该音频数据包的初始延迟数值;
当决策结果为加速播放时,则根据预设值,增加初始延迟数值,生成目标延迟值;
当决策结果为减速播放时,则根据预设值,减小初始延迟数值,生成目标延迟值。
在一个实施例中,该方法中确定该音频数据包的目标处理策略,包括:
当该目标延迟值大于第一阈值,则确定该处理策略为加速播放,该第一阈值用于指示该音频缓冲区域中允许的最大延迟时间;
当该目标延迟值小于或者等于第二阈值,则确定该处理策略为减速播放,该第二阈值用于指示该音频缓冲区域中允许的最小延迟时间。
在一个实施例中,该方法中确定该音频数据包的目标处理策略,包括:
当缓冲区已缓存未播放的数据大于第三阈值,则确定该处理策略为加速播放,该第三阈值用于指示该音频缓存区域允许存储未播放数据的最大值;
当缓冲区已缓存未播放的数据小于等于第四阈值,则确定该处理策略为加速播放,该第四阈值用于指示该音频缓存区域允许存储未播放数据的最小值。
在一个实施例中,该方法还包括:根据端点检测算法和语音活动检测算法,确定目标音频数据包中第一音频数据的起止点,该第一数据是指包含语音信号的音频数据;
根据该音频数据包中第一音频数据的起止点,确定该音频数据包中第二音频数据的起止点,该第二音频数据是不包含语音信号的音频数据;
根据目标处理策略和第二音频数据的起止点,处理该第二音频数据。
在一个实施例中,该方法还包括:当该目标音频数据仅包括一段语音数据时,获取预设检测位置,该预设检测位置至少包括音频中间位置、音频四分之一处位置或音频四分之三处位置;
根据预设检测位置和该音频数据的起止点,将该音频数据划分为多段音频;
根据语音活动检测算法,依次确定该起始点中多段音频中不包含语音信号的音频数据段;
根据预设处理策略,对该不包含语音信号的音频数据段进行处理。
在一个实施例中,该方法还包括:当目标音频数据包括N段语音数据时,获取预设检测位置,该预设检测位置至少包括音频中间位置、音频四分之一处位置或音频四分之三处位置;
根据该预设检测位置,获取目标位置对应的音频数据,,该目标位置是指:以第M段音频数据预设检测位置为起点,以第M+1段音频数据预设检测位置为终点;
根据语音活动检测算法,依次确定该目标位置处的音频数据中不包含语音信号的音频数据段;
根据预设处理策略,对该不包含语音信号的音频数据段进行处理。
在一个实施例中,该方法还包括:获取预设音频数据,该预设音频数据是该音频数据包已缓存到缓冲区域的数据;
当未播放的音频数据超过该预设音频数据时,开始播放该音频数据。
本公开实施例提供的数据播放方法,在初步判断需要加速或者减速处理音频数据时,再次对该音频数据的未播放数据量和延迟数值进行判断,确定是否执行变速处理,最后再进行变速处理时,仅针对音频数据中非语音信号部分数据进行变速处理。
根据本公开实施例的第二方面,提供一种数据播放装置,包括:数据播放装置包括处理器和存储器,该存储器中存储有至少一条计算机指令,该指令由该处理器加载并执行以实现实施例第一方面提供的数据播放的处理方法中所执行的步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例提供的一种数据播放系统的结构示意图;
图1a是本公开实施例提供的一种数据播放系统中加速播放缓冲区示意图;
图1b是本公开实施例提供的一种数据播放系统中减速播放缓冲区示意图;
图2是本公开实施例提供的一种数据播放方法的流程图。
图3是本公开实施例提供的一种数据播放方法的逻辑示意图;
图4是本公开实施例提供的一种数据播放方法中的阈值示意图;
图5是本公开实施例提供的一种数据播放方法的检测示意图1;
图6是本公开实施例提供的一种数据播放方法的检测示意图2;
图7是本公开实施例提供的一种数据播放方法的加速处理逻辑示意图;
图8是本公开实施例提供的一种数据播放方法的减速处理逻辑示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供一种数据播放方法,如图2所示,该数据播放方法包括以下步骤:
201、获取音频数据包的预处理策略和该音频数据的缓存数据。
该预处理是根据网络抖动延迟和缓冲区延迟获取的,该预处理策略包括正常播放、加速播放和减速播放。
该音频数据的缓存数据包括未播放数据和该音频数据的初始延迟值。
本公开所提供的方法还包括预处理缓冲区域的各项参数,此处列举若干项:
本公开所提供的方法为了提高音频播放的流畅度,还会根据音频数据的参数和缓冲区的参数,分别设置用于音频数据的初始延迟值;判断音频数据延迟值的第一阈值和第二阈值;以及判断音频数据在缓冲区域未处理数据是否超过预设空间的第三阈值Threshold_high和第四阈值Threshold_low。
上述阈值在实际应用时,可以遵循如下规则:当Sync buffer内缓存未播放的音频数据的数据量大于Threshold_high时,需要加速播放;
当Sync buffer内缓存未播放音频数据的数据量低于Threshold_low时,需要减速播放。
本公开所提供的方法为了提高音频播放的流畅度,还会将音频数据中前几帧音频预先存储至缓冲区域中,并标记为Reserved_length,接收到音频数据后,准备播放音频数据后,会先判断已缓存待播放的音频数据的帧是否超过预先存储的帧即Reserved_length,只有缓存的帧当超过预先存储的帧,才会开始播放。
本公开所提供的方法中获取音频数据包的预处理策略,包括:
获取音频数据,并存储进语音播放缓冲区;
根据预设算法和网络资源,计算网络抖动延迟和缓冲区延迟;
根据该网络抖动延迟和缓冲区延迟,对该音频数据进行预设处理,该处理包括正常播放、加速播放和减速播放;
获取预设处理结果。
202、根据该预处理策略,获取音频数据的目标延迟值和已缓存未播放的数据。
本公开所提供方法中音频数据中已缓存未播放的数据是指已缓存至音频缓冲区域但未播放的数据。
本公开设置目标延迟数值是用于缓解现有技术中根据网络和缓冲区域直接判断需要如何播放,而本公开则是当需要加速播放的程度到达阈值后,才会加速播放,从而引起播放音频时的剧烈抖动和资源浪费。
本公开所提供的方法中获取该音频数据的目标延迟值,包括:
获取该音频数据包的初始延迟数值;
当决策结果为加速播放时,则根据预设值,增加初始延迟数值,生成目标延迟值;
当决策结果为减速播放时,则根据预设值,减小初始延迟数值,生成目标延迟值。
203、根据该目标延迟值和已缓存未播放数据,确定该音频数据包的目标处理策略。
该处理策略包括正常播放和变速播放,其中变速播放可以包括加速播放和减速播放。
本公开所提供的方法中在确定该音频数据包的目标处理策略,包括:
当该目标延迟值大于第一阈值,则确定该处理策略为加速播放,该第一阈值用于指示该音频缓冲区域中允许的最大延迟时间;
当该目标延迟值小于或者等于第二阈值,则确定该处理策略为减速播放,该第二阈值用于指示该音频缓冲区域中允许的最小延迟时间。
若处于第一阈值和第二阈值之间,则可以正常的处理,无需变速播放。
本公开所提供的方法中在确定该音频数据包的目标处理策略,包括:
当缓冲区已缓存未播放的数据大于第三阈值,则确定该处理策略为加速播放,该第三阈值用于指示该音频缓存区域允许存储未播放数据的最大值;
当缓冲区已缓存未播放的数据小于等于第四阈值,则确定该处理策略为加速播放,该第四阈值用于指示该音频缓存区域允许存储未播放数据的最小值。
若处于第三阈值和第四阈值之间,则可以正常的处理,无需变速播放。
本申请通过增加判断参数,确定目标处理策略,能够解决因为网络抖动引起而带来的信号失真,其音频抖动的效果相比于现有技术更加平缓。
在具体的实施过程中,如图3所示,本公开可以包括以下的处理步骤:
步骤一:初始化处理缓冲区域。
具体的,可以根据音频数据的参数和缓冲区的参数,分别设置用于判断音频数据延迟值的第一阈值和第二阈值;以及判断音频数据在缓冲区域未处理数据是否超过预设空间的第三阈值Threshold_high和第四阈值Threshold_low。
上述阈值在实际应用时,可以遵循如下规则:当Sync buffer内缓存音频数据的数据量大于Threshold_high时,需要加速播放;
当Sync buffer内缓存音频数据的数据量低于Threshold_low时,需要减速。
本公开所提供的方法为了提高音频播放的流畅度,还会将音频数据中前几帧音频预先存储至缓冲区域中,并标记为Reserved_length,当需要开始播放音频数据时,需要Sync buffer中先预存Reserved_length数据才开始进行播放。在接收到音频数据后,准备播放音频数据后,会先判断播放的音频数据的帧超过预先存储的帧,只有当超过预先存储的帧,才会开始播放。
步骤二:获取音频数据在缓冲区域中未播放数据。
步骤三:根据预设算法和网络资源,计算网络抖动延迟和缓冲区延迟。
步骤四:根据该网络抖动延迟和缓冲区延迟,对该音频数据进行处理,该处理包括正常播放、加速播放和减速播放;
步骤五:当上述处理确定加速播放时,根据预设值,增加初始延迟数值,生成目标延迟值;
步骤六:当上述处理确定减速播放时,根据预设值,减少初始延迟数值,生成目标延迟值;
步骤七:判断目标延迟值大于第一阈值,或者该语音数据包已缓存的数值是否大于第三阈值。
其中,上述第一阈值用于指示该音频缓冲区域中允许的最大延迟时间;
上述第三阈值用于指示该音频缓存区域允许存储数据的最大值。
步骤八:当该目标延迟值大于第一阈值,则确定该处理策略为加速播放,该第一阈值用于指示该音频缓冲区域中允许的最大延迟时间;
步骤九:当该目标延迟值小于第一阈值,则判断目标延迟值是否小于第二阈值,或者该语音数据包已缓存的数值是否小于第四阈值。
步骤十:当目标延迟值小于第二阈值,或者该语音数据包已缓存的数值小于第四阈值,则进行减速播放。
步骤十一:当目标延迟值不小于第二阈值,或者该语音数据包已缓存的数值不小于第四阈值,则进行正常播放。
上述各个阈值的示意图,可以如图4所示,具体的,当需要解码播放音频数据时,未播放已缓存的数据需要超过Reserved length预存音频帧的长度才开始播放。
当未播放已缓存的数据在threshold_low最小值和threshold_high最大值之间时,认为是在合理范围的,
如果越过threshold_high和threshold_low“警戒线”,则采取加速或者减速处理。
本公开在对音频数据进行处理时处理的对象是非语音信号(静音数据),通过采用语音信号端点检测方法和vad(语音活动检测Voice Activity Detection)检测方法相结合,获取语音信号的起始和终止点,从而确定其它位置信号即为非语音信号。当目标处理决策是加速处理,则对非语言信息进行处理,如删除部分的非语音信号。当目标处理决策是减速处理,则针对于非语音信号进行适当扩展。通过上述处理过程,能够使得在根据目标处理决策处理音频数据时,不对语音信号做处理,从而能够更好的保留语音信息。
基于上述的处理策略,本公开所提供的方法中根据目标处理决策,对音频数据进行处理,包括以下步骤:
根据语音活动检测算法,确定目标语音数据中包含语音信号的第一语音数据;
根据端点检测算法,分别确定目标语音数据的起止点和该子语音数据的起止点;
根据目标语音数据的起止点和该子语音数据的起止点,确定该目标语音数据中第二语音数据的目标起止点,该第二语音数据是指不包含语音信号的音频数据;
根据该目标处理策略和目标起止点,对该第二语音数据的帧音频进行处理。
其中上述的,语音活动检测(Voice Activity Detection,VAD)又称语音端点检测。
本公开当确定音频数据的目标处理策略后,根据预设算法,提取缓存区域中的音频数据,并根据端点检测法,对未播放音频中的数目做端点检测,检测出语音信号的起止点。对端点检测的结果有四种情况:有多段语音数据、有一段语音数据、未找到语音数据,整段都是语音数,对这几种情况分别做如下处理:
在具体实施过程中,会针对音频数据不同的检测结果进行不同的处理:
示例一:
当该目标音频数据仅包括一段音频数据时,获取预设检测位置,该预设检测位置至少包括音频中间位置;
根据预设检测位置和该音频数据的起止点,将该音频数据划分为多段音频;
根据语音活动检测算法,依次确定该起始点中多段音频中包含语音信号的音频段;
根据预设减速算法,对该音频数据中的目标起止点进行减速处理。
如图5所示,图5本公开通过预测算法,在音频数据中的端点检测出一段语音信号,此时,若有一段语音数据,根据上述的处理步骤,当这段语音数据在后面位置时,取前面一半静音数据做vad检测,如图5中的l1部分;当这段语音数据在前面的位置时,取后面的一半静音数据做vad检测,如图5中的l2部分;当这段语音数据在中间时,取前面一半静音数据和后面一半位置静音数据做vad端点检测,即图5中的l3和l4部分。
再根据提取出的数据进行信息检测,如果检测结果指示该段音频数据为非语音信号,那么可以认为这段数据不含语音信息,则可以根据目标处理策略对该段数据进行处理,如当确定加速播放时,可以直接删除该段音频,从而实现了缩短了语音时长,并且提高了数据中的信息含量。
示例二:
当目标音频数据包括N个音频数据包时,获取预设检测位置,该预设检测位置至少包括音频中间位置;
根据该预设检测位置,获取目标位置对应的音频数据,并检测,该目标位置是指:以第M段音频数据预设检测位置为起点,以第M+1段音频数据预设检测位置为终点;
当该目标位置出对应的音频数据不包含语音信号时,则确定该目标位置处对应的音频数据为第二音频。
在具体实施过程中,如图6所示::当检测到有多段语音数据时,根据预测检测位置,如音频数据1/2处做检测点,依次取相邻语音信号中间二分之一的部分再做vad检测,语音识别中的端点检测如图6所示的l1和l2部分。
根据预设语音活动检测算法,检测l1和l2位置处的音频数据,如果vad检测结果为非语音信号,那么可以认为这段数据不含语音信息,则可以根据目标处理策略对该段数据进行处理,如当确定加速播放时,可以直接删除该段音频,从而实现了缩短了语音时长,并且提高了数据中的信息含量。
示例三:
当未找到语音数据时,即确定该音频数据中未包含语音信号,则对音频数据直接做处理。
本公开所提供的方法在获取目标处理策略之后,还包括:
当该目标处理策略指示为加速处理时,根据该音频数据已缓存未播放的数据和第三阈值、第四阈值,确定加速语音数据时的数据长度。
此处列举示例阐述:
如果未播放的数据大于第三阈值threshold_high,那数据长度len=min(4*(samples left-threshold_high),0.5*(threshold_high-threshold_low))做处理;
如果未播放的数据小于第三阈值hreshold_high,那么数据长度取len=0.5*(sample left-threshold_low)做处理。
其中samples left为音频未播放的缓存数据。
当该目标处理策略指示为减速处理时,根据该缓冲区已缓存未播放的数据和第四阈值,确定目标语音数据。
本公开所提供的方法中还包括根据处理结果,进行加速播放处理,具体可以包括以下步骤:
如图7所示,本申请所提及的加速处理可以包括以下流程:
步骤一:获取音频数据包,根据预设端点检测算法,确定该音频数据包的起止点。
从sync_buffer中最近的数据中取出第一步计算出的sample数目做端点检测,检测出语音信号的起止点。对端点检测的结果有四种情况(有多段语音数据、有一段语音数据、未找到语音数据,整段都是语音数据。
步骤二:判断该音频数据是否为多段语音数据。
步骤三:当该音频数据包含多段音频数据时,则根据预设检测位置,如音频数据的中间二分之一处,获取该相邻语音信号中间二分之一的部分所匹配的音频,最后再对该音频做信号检测处理,如果信号检测结果指示该段音频数据为非语音信号,那么可以认为这段数据不含语音信息,可以根据目标处理策略,对该段音频进行删除或缩小处理,从而实现缩短了语音时长的目的。
步骤四:当该音频数据包仅包括一段音频数据时,则进行音频数据的分析,确定该音频数据是否整段均包含语音信号。
步骤五:若该音频数据分为若干段,每段均包含语音信号,则依次对每段语音信号做音频信号检测,若检测结果指示某段为非语音信号,可以根据目标处理策略,对该段音频进行删除或缩小处理,从而实现缩短了语音时长的目的。
步骤六:若音频数据整段均包含语音信号,则正常播放。
步骤七:若只有一段语音数据,根据语音数据的位置(前面、后面、中间)分别取二分之一数据做vad检测,若检测结果指示某段为非语音信号,可以根据目标处理策略,对该段音频进行删除或缩小处理,从而实现缩短了语音时长的目的;否则,不能扩展处理。
本公开所提供的方法中还包括根据处理结果,进行减速播放处理,具体可以包括以下步骤:
如图8所示,本申请所提及的加速处理可以包括以下流程:
步骤一:获取音频数据包。
据预设端点检测算法,确定该音频数据包的起止点。
步骤二:判断该音频数据包是否为多个数据包。
步骤三:当该音频数据包包括多段音频数据时,则根据预设检测位置,如音频数据的中间二分之一处,获取该相邻语音信号中间二分之一的部分所匹配的音频,最后再对该音频做信号检测处理,如果信号检测结果指示该段音频数据为非语音信号,那么可以认为这段数据不含语音信息,可以根据目标处理策略对该段音频进行扩展处理,通过扩展处理非语音的音频来达到拉伸播放时间的目的。
步骤四:当该音频数据包仅包括一段音频数据时,则进行音频数据的分析,确定该音频数据是否整段均包含语音信号。
步骤五:若该音频数据分为若干段,每段均包含语音信号,则依次对每段音频数据做信号检测,若检测结果指示某段为非语音信号,可以根据目标处理策略对该段音频进行扩展处理,从而实现拉伸播放时间的目的。
步骤六:若音频数据整段均包含语音信号,则正常播放。
步骤七:若只有一段语音数据,根据语音数据的位置(前面、后面、中间)分别取二分之一数据做vad检测,若检测结果指示某段为非语音信号,可以根据目标处理策略对该段音频进行扩展处理,从而实现拉伸播放时间的目的;否则,不能扩展处理。
本公开实施例提供的数据播放方法,在初步判断需要加速或者减速处理音频数据时,再次对该音频数据的未播放数据量和延迟数值进行判断,确定是否执行变速处理,最后再进行变速处理时,仅针对音频数据中非语音信号部分数据进行变速处理。
通过上述的处理,在播放音频数据时能够大幅减速因网络抖动引起的变速处理,从而减少了音频信号的失真。
同时,本公开在网络有抖动的情况下,相比传统的方法,在播放音频数据时因为基于一定量的缓存数据,且减少了变速播放的决策概率,最终实现了减少了由于基音周期合并或者拉伸引发语音信号失真的可能性。
实施例二
基于上述图1至图8对应的实施例中所描述的数据播放方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。
本公开实施例提供一种数据播放装置,该数据播放装置包括:包括处理器和存储器,该存储器中存储有至少一条计算机指令,该指令由该处理器加载并执行以实现实施例一中所提供的数据播放的处理方法中所执行的步骤。
本公开实施例提供的数据播放装置可以是单独的硬件播放装置,也可以是硬件播放模块,该硬件播放模块可以集成于音频数据处理系统中。
本公开实施例提供的数据播放装置,在初步判断需要加速或者减速处理音频数据时,再次对该音频数据的未播放数据量和延迟数值进行判断,确定是否执行变速处理,最后再进行变速处理时,仅针对音频数据中非语音信号部分数据进行变速处理。根据本发明实施例的另一方面,还提供了一种计算机存储介质,计算机存储介质包括存储的程序,其中,在程序运行时控制计算机存储介质所在设备执行上述任意一项数据的播放方法。
可选地,在本实施例中,上述计算机存储介质可以位于计算机网络中计算设备群中的任意一个计算设备中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:获取待传输数据;根据缓存延时确定是否对待传输数据进行删除,其中,缓存延时为待传输数据在发送端缓存区的延迟时间;在确定对待传输数据进行删除的情况下,将待删除数据从待传输数据中删除,得到目标数据,其中,待删除数据根据预设的编码规则确定,预设的编码规则用于对待传输数据进行编码;将目标数据送入数据传输通道进行传输。
根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一项数据的播放方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如该单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例该方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上该仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
Claims (10)
1.一种数据播放方法,其特征在于,所述方法包括:
获取音频数据包的预处理策略,所述预处理是根据网络抖动延迟和缓冲区延迟确定的处理策略,所述预处理策略包括正常播放、加速播放和减速播放;
根据所述预处理策略,获取所述音频数据包的目标延迟值和已缓存未播放的数据;
根据所述目标延迟值和已缓存未播放的数据,确定所述音频数据包的目标处理策略,所述目标处理策略包括正常播放、加速播放和减速播放。
2.根据权利要求1所述的方法,其特征在于,所述获取音频数据包的预处理策略,包括:
获取音频数据,并存储进语音播放缓冲区;
根据预设算法和网络资源,计算网络抖动延迟和缓冲区延迟;
根据所述网络抖动延迟和缓冲区延迟,确定所述音频数据的预处理策略,所述处理包括正常播放、加速播放和减速播放。
3.根据权利要求1所述的方法,其特征在于,所述获取所述音频数据的目标延迟值,包括:
获取所述音频数据包的初始延迟数值;
当决策结果为加速播放时,则根据预设值,增加初始延迟数值,生成目标延迟值;
当决策结果为减速播放时,则根据预设值,减小初始延迟数值,生成目标延迟值。
4.根据权利要求1所述的方法,其特征在于,所述确定所述音频数据包的目标处理策略,包括:
当所述目标延迟值大于第一阈值,则确定所述处理策略为加速播放,所述第一阈值用于指示所述音频缓冲区域中允许的最大延迟时间;
当所述目标延迟值小于或者等于第二阈值,则确定所述处理策略为减速播放,所述第二阈值用于指示所述音频缓冲区域中允许的最小延迟时间。
5.根据权利要求1所述的方法,其特征在于,确定所述音频数据包的目标处理策略,包括:
当缓冲区已缓存未播放的数据大于第三阈值,则确定所述处理策略为加速播放,所述第三阈值用于指示所述音频缓存区域允许存储未播放数据的最大值;
当缓冲区已缓存未播放的数据小于等于第四阈值,则确定所述处理策略为加速播放,所述第四阈值用于指示所述音频缓存区域允许存储未播放数据的最小值。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据端点检测算法和语音活动检测算法,确定目标音频数据包中第一音频数据的起止点,所述第一数据是指包含语音信号的音频数据;
根据所述音频数据包中第一音频数据的起止点,确定所述音频数据包中第二音频数据的起止点,所述第二音频数据是不包含语音信号的音频数据;
根据目标处理策略和第二音频数据的起止点,处理所述第二音频数据。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当所述目标音频数据仅包括一段语音数据时,获取预设检测位置,所述预设检测位置至少包括音频中间位置、音频四分之一处位置或音频四分之三处位置;
根据预设检测位置和所述音频数据的起止点,将所述音频数据划分为多段音频;
根据语音活动检测算法,依次确定所述起始点中多段音频中不包含语音信号的音频数据段;
根据预设处理策略,对所述不包含语音信号的音频数据段进行处理。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当目标音频数据包括N段语音数据时,获取预设检测位置,所述预设检测位置至少包括音频中间位置、音频四分之一处位置或音频四分之三处位置;
根据所述预设检测位置,获取目标位置对应的音频数据,,所述目标位置是指:以第M段音频数据预设检测位置为起点,以第M+1段音频数据预设检测位置为终点;
根据语音活动检测算法,依次确定所述目标位置处的音频数据中不包含语音信号的音频数据段;
根据预设处理策略,对所述不包含语音信号的音频数据段进行处理。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取预设音频数据,所述预设音频数据是所述音频数据包已缓存到缓冲区域的数据;
当未播放的音频数据超过所述预设音频数据时,开始播放所述音频数据。
10.一种数据播放装置,其特征在于,所述数据播放装置包括处理器和存储器,所述存储器中存储有至少一条计算机指令,所述指令由所述处理器加载并执行以实现权利要求1至权利要求9任一项所述的数据播放的处理方法中所执行的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210089302.5A CN114513577A (zh) | 2022-01-25 | 2022-01-25 | 数据播放方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210089302.5A CN114513577A (zh) | 2022-01-25 | 2022-01-25 | 数据播放方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114513577A true CN114513577A (zh) | 2022-05-17 |
Family
ID=81549047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210089302.5A Pending CN114513577A (zh) | 2022-01-25 | 2022-01-25 | 数据播放方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114513577A (zh) |
-
2022
- 2022-01-25 CN CN202210089302.5A patent/CN114513577A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3504861B1 (en) | Audio transmission with compensation for speech detection period duration | |
US8438021B2 (en) | Signal classifying method and apparatus | |
JP4630876B2 (ja) | 話速変換方法及び話速変換装置 | |
EP2441072B1 (en) | Audio processing | |
CN110782907B (zh) | 语音信号的发送方法、装置、设备及可读存储介质 | |
US20030212548A1 (en) | Apparatus and method for improved voice activity detection | |
CN110942764B (zh) | 一种流式语音识别方法 | |
JPS62274941A (ja) | 音声符号化方式 | |
CN113345473A (zh) | 语音端点检测方法、装置、电子设备和存储介质 | |
US10290303B2 (en) | Audio compensation techniques for network outages | |
CN114513577A (zh) | 数据播放方法及装置 | |
JP2001506764A (ja) | 遠隔通信システムにおける方法および配置 | |
CN107731243B (zh) | 一种语音实时变速播放方法及设备 | |
CN113658581B (zh) | 声学模型的训练、语音处理方法、装置、设备及存储介质 | |
JP3024447B2 (ja) | 音声圧縮装置 | |
CN114242067A (zh) | 语音识别方法、装置、设备和存储介质 | |
CN116259322A (zh) | 音频数据压缩方法及相关产品 | |
CN112466283B (zh) | 一种协同软件语音识别系统 | |
CN116095395A (zh) | 一种调整缓冲区长度的方法、装置、电子设备和存储介质 | |
CN114743571A (zh) | 一种音频处理方法、装置、存储介质及电子设备 | |
JP2002258900A (ja) | 音声再生装置及び音声再生方法 | |
CN112398912A (zh) | 一种语音信号加速方法、装置、计算机设备及存储介质 | |
JP3298188B2 (ja) | 音声検出方法 | |
CN114220444B (zh) | 语音解码方法、装置、电子设备和存储介质 | |
JPH10143193A (ja) | 音声信号処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |