用于音频数据传输的采样率匹配方法、系统及存储介质与流程
未命名
09-22
阅读:76
评论:0
1.本技术实施例涉及信号处理技术领域,具体涉及一种用于音频数据传输的采样率匹配方法、系统及存储介质。
背景技术:
2.随着科技的发展,人们的生活水平大幅提升,音频数据的传输普遍出现在人们的日常生活中,例如,人们使用耳机、助听器听音乐时,就涉及到手机、平板电脑等终端设备与耳机、助听器等音频设备进行音频数据传输,此时,通常称手机、平板电脑等终端设备为音频发送系统,耳机、助听器等音频设备为音频播放系统。这种音频数据的传输也可能发生在一个设备中的两个芯片之间,比如音频数据采集芯片和音频播放芯片,以下统称为音频发送系统和音频播放系统。
3.在很多场景中,音频发送系统和音频播放系统是两个独立的不同的音频系统,两个不同的音频系统的标称频率可能存在不相同的情况,即音频发送系统的采样率和音频播放系统的采样率可能存在不相同的情况,因此需要对音频数据进行采样率转换处理,即重采样处理,以实现播放音频数据时达到声音清晰自然、无卡顿、无杂音的效果。并且,每个音频系统都有各自独立的时钟系统,由各自的晶体振荡器控制,所以音频发送系统和音频播放系统的时钟通常是异步的,即非同步的,因此若不对音频数据进行采样率的自适应匹配,即使音频发送和播放系统的标称采样率是一样的,都会由于二者实际采样率存在的极微小差别而带来累积误差越来越大导致播放的音频数据出现卡顿、失真等问题,严重影响播放效果。
4.综上所述,当音频数据在两个独立的不同的音频系统进行传输时,如何对音频数据进行采样率转换处理,从而能有效传输音频数据,保证音频数据的正常播放,是需要解决的问题。
技术实现要素:
5.鉴于上述问题,本技术实施例提供了一种用于音频数据传输的采样率匹配方法、系统及计算机可读存储介质,用于解决现有技术中存在的音频数据播放效果不佳的问题。
6.根据本技术实施例的一个方面,提供了一种用于音频数据传输的采样率匹配方法,所述方法包括:以初始转换比对音频数据进行采样率转换处理,获得处理后的音频数据;将所述处理后的音频数据传输至音频播放系统的缓冲单元缓存,以使所述音频播放系统从所述缓冲单元中获取并播放所述处理后的音频数据;获取所述缓冲单元中缓存的所述处理后的音频数据的数据量;根据所述数据量与预设阈值的大小关系调整所述初始转换比,获得调整后的转换比,并以所述调整后的转换比对音频数据进行采样率转换处理。
7.在一种可选的方式中,所述根据所述数据量与预设阈值的大小关系调整所述初始转换比,获得调整后的转换比,进一步包括:若所述数据量小于所述预设阈值,则增大所述初始转换比,获得第一转换比;若所述数据量大于所述预设阈值,则减小所述初始转换比,
获得第二转换比,其中,所述第二转换比小于所述第一转换比。
8.在一种可选的方式中,以所述初始转换比进行采样率转换处理前的音频数据的帧长为原始帧长,以所述初始转换比进行采样率转换处理后的音频数据的帧长为初始转换帧长,所述增大所述初始转换比,获得第一转换比,进一步包括:确定第一帧长,其中,所述第一帧长长于所述初始转换帧长;计算所述第一帧长与所述原始帧长的第一比值,并将所述第一比值确定为所述第一转换比;所述减小所述初始转换比,获得第二转换比,进一步包括:确定第二帧长,其中,所述第二帧长短于所述初始转换帧长;计算所述第二帧长与所述原始帧长的第二比值,并将所述第二比值确定为所述第二转换比在一种可选的方式中,所述第一帧长比所述初始转换帧长增加一个样本长度,所述第二帧长比所述初始转换帧长减小一个样本长。
9.在一种可选的方式中,所述第一帧长lb通过如下公式确定:,其中,la为所述原始帧长,为发送音频数据的音频发送系统的标称采样率,为接收并播放所述处理后的音频数据的音频播放系统的标称采样率,运算符号[x]表示取不大于x的整数,δ为正整数;所述第二帧长l
b’通过如下公式确定:,其中,la为所述原始帧长,为发送音频数据的音频发送系统的标称采样率,为接收并播放所述处理后的音频数据的音频播放系统的标称采样率,运算符号[x]表示取不大于x的整数,δ为正整数。
[0010]
在一种可选的方式中,在所述若所述数据量小于所述预设阈值,则增大所述初始转换比,获得第一转换比之后,以及在所述若所述数据量大于所述预设阈值,则减小所述初始转换比,获得第二转换比之后,所述方法还包括:步骤s1,将以所述调整后的转换比对音频数据进行采样率转换处理后获得的音频数据传输至所述缓冲单元缓存;步骤s2,获取所述缓冲单元中缓存的音频数据的数据量;步骤s3,若所述数据量大于所述预设阈值,则以所述第二转换比对音频数据进行采样率转换处理;步骤s4,若所述数据量小于所述预设阈值,则以所述第一转换比对音频数据进行采样率转换处理;对每一待处理的音频数据的数据帧均执行所述步骤s1至所述步骤s4。
[0011]
在一种可选的方式中,当发生转换比切换时,在所述步骤s3中以所述第二转换比对音频数据进行采样率转换处理之前,以及在所述步骤s4中以所述第一转换比对音频数据进行采样率转换处理之前,还执行如下步骤:确定第k个样点和第k+1个样点的采样间隔,其中,,为预设初始值,,),,la为以所述初始转换比进行采样率转换处理前的音频数据的帧长,为发送音频数据的音频发送系统的标称采样率,为接收并播放所述处理后的音频数据的音频播放系统的标称采样率,k为自然数,且k≤;在时长内根据第k个样点和第k+1个样点的采样间隔对音频数据进行处理,得到处理后的过渡帧音频数据,其中,第0个样点的采样时刻为0,。
[0012]
在一种可选的方式中,在所述根据所述数据量与预设阈值的大小关系调整所述初
始转换比之前,所述方法还包括:对所述数据量进行平滑处理并获得处理后的数据量d(n),其中,通过如下公式对所述数据量进行所述平滑处理:,其中,为预设的平滑系数,且,d(n-1)为上一时刻经过所述平滑处理后获得的所述缓冲单元缓存的所述处理后的数据量,d(n)为当前时刻查询到的所述缓冲单元缓存的所述数据量;所述根据所述数据量与预设阈值的大小关系调整所述初始转换比,进一步包括:根据所述处理后的数据量与预设阈值的大小关系调整所述初始转换比。
[0013]
根据本技术实施例的另一方面,提供了一种音频发送系统,包括:处理器。所述处理器用于以初始转换比对音频数据进行采样率转换处理,获得处理后的音频数据;将所述处理后的音频数据传输至接收并播放所述处理后的音频数据的音频播放系统的缓冲单元缓存,以使所述音频播放系统接收并播放所述处理后的音频数据;获取所述音频播放系统的缓冲单元中缓存的数据量;根据所述数据量与预设阈值的大小关系调整所述初始转换比,获得调整后的转换比,并以所述调整后的转换比对音频数据进行采样率转换处理。
[0014]
根据本技术实施例的另一方面,提供了一种音频播放系统,包括:处理器和缓冲单元。所述处理器用于以初始转换比对接收到的音频数据进行采样率转换处理,获得处理后的音频数据,将所述处理后的音频数据传输至所述缓冲单元;所述缓冲单元用于接收并缓存所述处理后的音频数据;所述处理器还用于获取所述缓冲单元中缓存的所述处理后的音频数据的数据量,根据所述数据量与预设阈值的大小关系调整所述初始转换比,获得调整后的转换比,并以所述调整后的转换比对音频数据进行采样率转换处理。
[0015]
根据本技术实施例的又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有可执行指令,所述可执行指令使音频系统执行如上述用于音频数据传输的采样率匹配方法对应的操作。
[0016]
本技术实施例中,充分考虑了音频系统的标称采样率和实际采样率存在误差的情况,以初始转换比对音频数据进行采样率转换处理,并将处理后的音频数据缓存至缓冲单元后,通过获取音频播放系统的缓冲单元中缓存的数据量,并根据数据量与预设阈值的大小关系及时调整转换比,进而再以调整后的转换比对音频数据进行采样率转换处理,使缓冲单元中的数据量维持在一定范围内,避免了缓冲单元中缓存的数据量过多或过少的问题,从而提升了音频数据的播放效果,即避免了音频播放过程中出现卡顿、杂音等问题。
[0017]
上述说明仅是本技术实施例技术方案的概述,为了能够更清楚了解本技术实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本技术实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
[0018]
附图仅用于示出实施方式,而并不认为是对本技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本技术实施例提供的应用场景示意图;图2示出了本技术实施例提供的用于音频数据传输的采样率匹配方法的流程示意图;图3示出了图2中步骤140的子步骤流程示意图;
图4示出了本技术实施例提供的进行采样率转换处理前音频数据的一帧数据s
a0
与进行采样率转换处理后音频数据的一帧数据s
b0
的示意图;图5示出了本技术另一实施例提供的用于音频数据传输的采样率匹配方法的流程示意图;图6示出了本技术又一实施例提供的用于音频数据传输的采样率匹配方法的流程示意图;图7示出了本技术实施例提供的音频发送系统的结构示意图;图8示出了本技术实施例提供的音频播放系统的结构示意图。
具体实施方式
[0019]
下面将参照附图更详细地描述本技术的示例性实施例。虽然附图中显示了本技术的示例性实施例,然而应当理解,可以以各种形式实现本技术而不应被这里阐述的实施例所限制。
[0020]
音频数据在两个独立的音频系统传输时,由于音频发送系统的采样率和音频播放系统的采样率可能存在不相同的情况,因此需要对音频数据进行采样率转换处理,以实现播放音频数据时达到声音清晰自然、无卡顿、无杂音的效果。并且,每个音频系统都有各自独立的时钟系统,而时钟系统的时钟精度依赖于其使用的晶体振荡器的精度,所以音频发送系统和音频播放系统的时钟通常是异步的,即非同步的,因此若不对音频数据进行采样率转换处理,可能会导致播放的音频数据出现卡顿、失真等问题,降低播放效果。
[0021]
本技术的发明人发现现有技术中,为了解决两个音频系统的时钟不同步的问题,通常使用集成电路内置音频(inter-ic sound,i2s)总线来传输音频数据,由于i2s总线采用了独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,从而避免了因时差诱发的失真。若使用i2s总线传输,需要音频系统具有相应的i2s接口,但是,目前很多音频系统不具备i2s接口,从而无法通过i2s总线来传输音频数据,因此需要对音频数据进行采样率转换处理。
[0022]
一般音频播放系统中都包括缓冲单元,通常把从音频发送系统中接收到的音频数据进行采样率转换处理后,将处理后的音频数据传输至音频播放系统的缓冲单元中,用以缓存处理后的音频数据,音频播放系统再从该缓冲单元中获取并播放处理后的音频数据。为了确保音频播放系统能正常有效地播放音频数据,即不会出现卡顿也不会出现杂音,因此需要控制缓冲单元中缓存的数据量,使数据量处于动态平衡状态,即经过采样率转换处理后缓存至缓冲单元的数据量与音频播放系统播放的数据量应处于动态平衡状态。
[0023]
其中,音频发送系统中也可以设置缓冲单元,用于缓存音频数据,通常把缓冲单元中的音频数据进行采样率转换处理后,再将处理后的音频数据传输至音频播放系统。本技术发明人发现,由于音频系统的标称采样率和实际采样率会存在一定的误差,因此若根据音频发送系统的标称采样率和音频播放系统的标称采样率来确定音频数据的采样率转换处理的转换比例,易导致经过采样率转换处理后缓存至缓冲单元的数据量与音频播放系统播放的数据量不能处于平衡状态,即可能经过采样率转换处理后缓存至缓冲单元的数据量大于音频播放系统播放的数据量,或经过采样率转换处理后缓存至缓冲单元的数据量少于音频播放系统播放的数据量,最终导致缓冲单元中的数据量处于失控状态,降低音频数据
的播放效果。
[0024]
基于以上考虑,本技术发明人经过深入研究,提出一种用于音频数据传输的采样率匹配方法。该方法通过以初始转换比对音频数据进行采样率转换处理,将处理后的音频数据传输至缓冲单元缓存,并根据缓冲单元中缓存的数据量及时调整初始转换比,再以调整后的转换比对音频数据进行采样率转换处理,避免了缓冲单元中缓存的数据溢出或过少的问题,从而提升了音频数据的播放效果。
[0025]
图1是本技术实施例提供的应用场景示意图,如图1所示,音频发送系统将音频数据传输至音频播放系统,以使音频播放系统播放该音频数据。其中,音频发送系统可以是任何类型的电子设备或终端,例如手机、平板电脑、游戏设备、个人数字助理(pda)、台式计算机、笔记本电脑等各种终端设备;音频播放系统可以是任何类型的电子设备或终端,例如助听器、耳机。
[0026]
图2示出了本技术实施例提供的用于音频数据传输的采样率匹配方法的流程图,如图2所示,该方法包括以下步骤:步骤110:以初始转换比对音频数据进行采样率转换处理,获得处理后的音频数据。
[0027]
音频数据均是经采样后得到,例如,mp3等音频数据,因此,每段音频数据都有其特定的采样率。音频播放系统通常也有自己的采样率,以用于播放音频数据。由于不同的音频系统的采样率通常不会完全相同,因此音频播放系统接收到的音频发送系统发送的音频数据的采样率通常与音频播放系统的采样率不一致,所以需要将音频数据的采样率转换为音频播放系统的采样率,即对音频数据进行采样率转换处理,以实现音频播放系统对音频数据的正常播放。其中,采样率转换即是改变对原始连续信号的采样间隔以获得原始连续信号的新离散表示的过程,这一过程又称为重采样过程。
[0028]
需要说明的是,一帧音频数据的时长是一定的,也即一帧音频数据所占据的时间是一定的,一帧音频数据中包括相同或不同的数据(又称样点、样本),音频数据的采样率为对原始连续信号进行采样的采样频率,若采样频率增大(即相邻两个样点的采样间隔减小),则一帧音频数据中包括的样点增多;反之,若采样频率下降,则一帧音频数据中包括的样点减少。例如,若音频系统的采样间隔是10s,一帧音频数据帧的时长为1min,则一帧音频数据帧中包括6个样点,也即一帧数据帧的帧长为6。因此,可以通过调整音频数据的采样率来调整一帧音频数据中包括的样点数量。
[0029]
例如,若一段音频数据的采样率为48khz,但是音频播放系统的采样率为44.1khz,因此,需要将音频数据的采样率转换成44.1khz,即将1/48000秒采样间隔调整为1/44100秒采样间隔才能确保音频播放系统能正常播放该音频数据,否则可能会导致播放的音频数据出现丢失、失真等问题,降低播放效果。
[0030]
值得说明的是,本技术实施例中转换比为音频系统的转换后的采样率与转换前的采样率的比值,例如,转换前某一音频系统对音频数据的采样率为a(即相邻两个样点间的采样间隔为1/a),转换后该音频系统对音频数据的采样率为b(即相邻两个样点间的采样间隔为1/b),则转换比为b/a。通过确定转换比后,即可根据转换前音频系统的采样率和转换比进行采样率转换处理,从而获得转换后的采样率,进而可以利用确定的转换后的采样率对音频数据进行采样处理。
[0031]
值得说明的是,由于一帧音频数据的时长是一定的,因此,转换比也等于音频数据的帧长比。
[0032]
本技术实施例中,以转换比对音频数据进行采样率转换处理,具体是指根据转换比转换音频系统的采样率,并以转换后的采样率对音频数据进行采样率转换处理,从而获得处理后的音频数据。其中,本步骤中,初始转换比可以根据需要设置,优选地,初始转换比为音频发送系统的标称采样率和音频播放系统的标称采样率的比值,这样可以让采样率转换处理后的音频数据的采样率与音频播放系统的实际采样率较为接近,在此基础上再进一步对采样率进行微调(参见后文描述)。
[0033]
步骤120:将处理后的音频数据传输至音频播放系统的缓冲单元缓存,以使音频播放系统从缓冲单元中获取并播放处理后的音频数据。
[0034]
本步骤中,将步骤110经过采样率转换处理后的音频数据传输至音频播放播放系统的缓冲单元中缓存,以使音频播放系统从该缓冲单元中获取并播放缓存的处理后的音频数据。
[0035]
由于缓冲单元中缓存的是经过采样率转换处理后的音频数据,即已将音频数据的采样率转换成音频播放系统的标称采样率,因此,音频播放系统能开始正常有效地播放缓冲单元中缓存的音频数据。
[0036]
可以利用处理器对音频数据进行采样率转换处理。值得说明的是,可以是音频发送系统中的处理器对音频数据进行采样率转换处理,即音频发送系统先利用其处理器对音频数据进行采样率转换处理,再将处理后的音频数据传输至音频播放系统的缓冲单元缓存;也可以是音频播放系统中的处理器对音频数据进行采样率转换处理,即音频发送系统将音频数据传输至音频播放系统的处理器中,经过处理器对音频数据进行采样率转换处理后,再将处理后的音频数据传输至音频播放系统的缓冲单元缓存。
[0037]
步骤130:获取缓冲单元中缓存的处理后的音频数据的数据量。
[0038]
由于音频播放系统是从其缓冲单元中获取并播放缓存的音频数据,因此,为了确保音频数据的正常播放,即播放音频数据时不会出现失真、卡顿、有杂音等问题,应确保缓冲单元中缓存的数据量维持在一定的范围内,避免数据量过多导致缓存溢出或数据量过少导致缓存排空。
[0039]
然而,由于音频系统的时钟精度依赖于其使用的晶体振荡器的精度,实际时钟频率受温度影响,而标称时钟频率为某一特定温度下测得的频率,实际工作温度与此特定温度会存在差异;并且,晶体振荡器的元器件的实际参数值和标称值也会存在偏差,因此导致音频系统的标称采样率和实际采样率会存在一定的误差。通过音频发送系统和音频播放系统的标称采样率确定的初始转换比,以该初始转换比对音频数据进行采样率转换处理,并将处理后的音频数据存储至缓冲单元中,以使音频播放系统获取并播放缓冲单元中的音频数据,若音频系统的标称采样率和实际采样率不存在误差,则缓冲单元中缓存的数据量会处于动态平衡状态,即对音频数据进行采样率转换处理获得的数据量和音频数据的播放量处于动态平衡状态。但是,由于音频系统的标称采样率和实际采样率存在误差,导致缓冲单元中的实际数据量与理论数据量存在一定的误差,经过误差的累积,若不对其进行处理,最终会导致缓冲单元中缓存的音频数据的数据量过多导致缓存溢出或数据量过少导致缓存排空等问题。
[0040]
因此,本步骤中,通过获取缓冲单元中缓存的音频数据的实际数据量,即可根据实际的数据量调整初始转换比,进而可以根据转换比转换采样率以获得转换后的采样率,从而可以利用转换后的采样率对后续音频数据再进行重采样,以确保数据量维持在一定的范围内,避免数据量过多导致缓存溢出或数据量过少导致缓存排空,从而确保音频数据的正常播放。
[0041]
需要说明的是,获取缓冲单元中缓存的数据量的频率可以根据需要设定,只要能及时监测到缓冲单元中缓存的数据量的变化即可,在此不做限定。本技术实施例中,优选地,缓冲单元缓存有音频数据后,实时获取缓冲单元中缓存的数据量。
[0042]
步骤140:根据数据量与预设阈值的大小关系调整初始转换比,获得调整后的转换比,并以调整后的转换比对音频数据进行采样率转换处理。
[0043]
本步骤中,通过根据步骤130获取的数据量与预设阈值的大小关系调整初始转换比,并以调整后的转换比对音频数据进行采样率转换处理,从而使缓冲单元中缓存的数据量维持在一定范围内,避免过多或过少。若数据量小于预设阈值,则增大转换比,并以该转化比对音频数据进行采样率转换处理,从而增加经采样率转换处理后的数据量,即增加缓冲单元中缓存的数据量,避免数据量过少;若数据量大于预设阈值,则减小转换比,并以该转化比对音频数据进行采样率转换处理,从而减少经采样率转换处理后的数据量,即减少缓冲单元中缓存的数据量,避免数据溢出。
[0044]
值得说明的是,可以根据缓冲单元的总存储量确定预设阈值,例如,可以将阈值设定为总存储量的70%。本技术实施例中,优选地,预设阈值为缓冲单元的总存储量的50%。
[0045]
本技术实施例中,充分考虑了音频系统的标称采样率和实际采样率存在误差的情况,以初始转换比对音频数据进行采样率转换处理,并将处理后的音频数据缓存至缓冲单元后,通过获取音频播放系统的缓冲单元中缓存的数据量,并根据数据量与预设阈值的大小关系及时调整转换比,进而再以调整后的转换比对音频数据进行采样率转换处理,使缓冲单元中的数据量维持在一定范围内,避免了缓冲单元中缓存的数据量过多或过少的问题,从而提升了音频数据的播放效果,即避免了音频播放过程中出现卡顿、杂音等问题。
[0046]
为了获得准确度较高的调整后的转换比,本技术实施例提供了一种如何调整初始转换比,从而获得调整后的转换比的方式。本技术实施例中,图3示出了图2中步骤140的子步骤流程图。如图3所示,步骤140根据数据量与预设阈值的大小关系调整初始转换比,获得调整后的转换比,并以调整后的转换比对音频数据进行采样率转换处理,进一步包括:步骤141:判断数据量是否等于预设阈值。若是,则结束本流程;若否,则转至步骤142。
[0047]
其中,若缓冲单元中缓存的经过采样率转换处理后的音频数据的数据量等于预设阈值,则不需要调整转换比,即此时数据量不会存在过多或过少的风险。
[0048]
步骤142:判断数据量是否小于预设阈值。若是,则转至步骤143;若否,则转至步骤144。
[0049]
若步骤141中判断数据量不等于预设阈值,则本步骤中,通过判断数据量是否小于预设阈值,即可获知需增大转换比还是减小转换比,以使数据量维持在一定范围内。
[0050]
步骤143:增大初始转换比,获得第一转换比,并以第一转换比对音频数据进行采样率转换处理。
[0051]
其中,若数据量小于预设阈值,则说明缓冲单元中缓存的音频数据的数据量存在过少的风险,若不及时调整转换比例,随着误差的累积,会最终导致缓冲单元中的数据量减少至0,从而影响音频数据的正常播放。因此,本步骤中,通过增大初始转换比,获得第一转换比,并以第一转换比对音频数据进行采样率转换处理,从而逐渐增加缓冲单元中的数据量,避免缓冲单元中的音频数据排空。
[0052]
步骤144:减小初始转换比,获得第二转换比,并以第二转换比对音频数据进行采样率转换处理,其中,第二转换比小于第一转换比。
[0053]
其中,若数据量大于预设阈值,则说明缓冲单元中缓存的音频数据的数据量存在过多的风险,若不及时调整转换比例,随着误差的累积,会最终导致缓冲单元中的数据量过多而导致音频数据溢出,从而影响音频数据的正常播放。因此,本步骤中,通过减小初始转换比,获得第二转换比,并以第二转换比对音频数据进行采样率转换处理,从而逐渐减少缓冲单元中的数据量,避免缓冲单元中的音频数据溢出。
[0054]
此处通过先判断数据量是否等于预设阈值,若否,则再继续判断数据量是否小于预设阈值,从而最终获取数据量与预设阈值的大小关系,进而根据该大小关系调整初始转换比。值得说明的是,本技术实施例仅仅是以该判断顺序为例进行说明,并不代表一定要先判断数据量是否等于预设阈值后,才能继续判断数据量是否小于预设阈值,即本技术实施例不对如何获取数据量与预设阈值的大小关系进行限制,可以根据需要自行设置判断顺序,只要能获取数据量与预设阈值的大小关系即可。例如可以先判断数据量是否小于预设阈值,再判断数据量是否等于预设阈值或大于预设阈值,也可以先判断数据量是否大于预设阈值,再判断数据量是否等于预设阈值或小于预设阈值。
[0055]
本技术实施例中,通过根据缓冲单元中的数据量与预设阈值的大小关系来调整转换比,若数据量小于预设阈值,则增大转换比,以增加缓冲单元中的数据量,避免缓冲单元中的音频数据排空;若数据量大于预设阈值,则减小转换比,以减少缓冲单元中的数据量,避免缓冲单元中的音频数据溢出。利用调整后的转换比对音频数据进行采样率转换处理,可以有效地确保缓冲单元中的数据量维持在一定范围内,从而确保能正常有效地播放音频数据,也即通过上述方式确定的调整后的转换比,提高了获得的调整后的转换比的准确度。
[0056]
在实际应用场景中,数据往往会被分帧传输以及分帧处理。本技术实施例提供了一种重采样处理方法,即通过调整采样间隔来改变音频数据帧长(即改变一帧音频数据中的数据量)的方式,从而达到调整采样率的目的。本技术实施例中,以初始转换比进行采样率转换处理前的音频数据的帧长被称为原始帧长,以初始转换比进行采样率转换处理后的音频数据的帧长为初始转换帧长。步骤143中增大初始转换比,获得第一转换比,进一步包括:步骤a1:确定第一帧长,其中,第一帧长长于初始转换帧长。
[0057]
其中,音频数据的表现形式为数据帧,本技术实施例中,帧长指一帧数据的数据量。第一帧长长于初始转换帧长,具体是指第一帧长中包括的数据的数据量大于初始转换帧长中包括的数据的数据量。
[0058]
本步骤中,只要确定的第一帧长长于初始转换帧长即可,具体长多少个样本长度(即多多少个样点),在此不做限定。
[0059]
步骤a2:计算第一帧长与原始帧长的第一比值,并将第一比值确定为第一转换比。
[0060]
其中,将步骤a1中确定的第一帧长除以原始帧长,并将获得的第一比值确定为第一转换比。由于第一帧长长于初始转换帧长,因此,第一转换比大于初始转换比。
[0061]
步骤144中减小初始转换比,获得第二转换比,进一步包括:步骤b1:确定第二帧长,其中,第二帧长短于初始转换帧长。
[0062]
其中,只要确定的第二帧长短于初始转换帧长即可,具体短多少个样本长度(即少多个个样点),在此不做限定。
[0063]
步骤b2:计算第二帧长与原始帧长的第二比值,并将第二比值确定为第二转换比。
[0064]
其中,将步骤b1中确定的第二帧长除以原始帧长,并将获得的第二比值确定为第二转换比。由于第二帧长短于初始转换帧长,因此,第二转换比小于初始转换比。
[0065]
本技术实施例中,根据初始转换比确定帧长,再将确定的帧长除以原始帧长,以获得调整后的转换比,进而以调整后的转换比对音频数据进行采样率转换处理,从而可以有效地调控音频播放系统的缓冲单元中缓存的音频数据的数据量。
[0066]
为了更好地调控音频播放系统的缓冲单元中缓存的音频数据的数据量,本技术实施例提供了一种确定第一帧长和第二帧长的方式。本技术实施例中,第一帧长比初始转换帧长增加一个样本长度;第二帧长比初始转换帧长减小一个样本长度。
[0067]
由于通常音频系统的标称采样率和实际采样率存在的误差较小,因此,本技术实施例中,由于将第一帧长和第二帧长设置为与初始转换帧长相差一个样本的长度,再将确定的帧长与原始帧长的比值确定为调整后的转换比,进而以调整后的转换比对音频数据进行采样率转换处理,从而可以对缓冲单元中缓存的数据量进行微调,确保数据量维持在一定范围内。避免了获得的调整后的转换比与初始转换比的差距较大,从而导致缓冲单元中缓存的数据量发生大幅变化,进而易造成数据量过多导致溢出或数据量过少导致排空的问题。
[0068]
进一步本专利对第一帧长和第二帧长给出更具一般性的表示方式。本技术实施例中,通过(1)式确定第一帧长lb:,(1)其中,la为原始帧长;为发送音频数据的音频发送系统的标称采样率;为接收并播放处理后的音频数据的音频播放系统的标称采样率;运算符号[x]表示取不大于x的整数,δ为正整数,一般情况下δ取1,在某些特殊情况,例如发送方和接收方的温差过大导致晶振电路偏差增加,此时δ可取大于1的常数。
[0069]
值得说明的是,通过调整采样间隔即可调整一帧音频数据帧的帧长,即可将音频数据由原始帧长la转换为第一帧长lb。此处以音频发送系统的标称采样率和音频接收系统的标称采样率相同(即),原始帧长la等于6,第一帧长lb等于7,转换比r=7/6为例进行说明。设对音频数据进行采样率转换处理前的一帧数据s
a0
的采样间隔则为ta,缩短采样间隔至ta/r,即可得到对音频数据进行采样率转换处理后帧长为7的一帧数据s
b0
。图4示出了本技术实施例提供的进行采样率转换处理前音频数据的一帧数据s
a0
与进行采样率转换处理后音频数据的一帧数据s
b0
的示意图。如图4所示,s
b0
中的数据在s
a0
数据中穿插出现,可以通过对s
a0
数据进行插值得到。以下公式给出一种一次多项式的线性插值方法,由s
a0
生成s
b0
,其中,s
a0
是原始音频数据,其帧长为la;s
b0
是重采样处理后的一帧数据,其帧长为lb。
[0070]
,(2)其中,为自然数,且,,,运算符号[x]表示取不大于x的整数。
[0071]
通过如下公式确定第二帧长l
b’:,(3)其中,la为原始帧长;为发送音频数据的音频发送系统的标称采样率;为接收并播放处理后的音频数据的音频播放系统的标称采样率;运算符号[x]表示取不大于x的整数,δ为正整数,优选地δ取1。
[0072]
通过上述方式确定第二帧长l
b’后,此时第二转换比r’为:。
[0073]
值得说明的是,以第二转换比r’对音频数据的一帧数据进行采样率转换处理后,获得长度为l
b’的一帧数据为:,(4)其中,为自然数,且,,,运算符号[x]表示取不大于x的整数。
[0074]
由于原始帧长、音频发送系统和音频播放系统的标称采样率是确定的,并且是易获取的,本技术实施例中,通过上述公式可以快速准确地确定第一帧长和第二帧长,进而可以快速准确地确定第一转换比和第二转换比,从而可以实现有效地对音频数据进行采样率转换处理,提升音频数据的播放效果。
[0075]
为了更进一步更好地调控音频播放系统的缓冲单元中缓存的音频数据的数据量,本技术实施例提供了另一种用于音频数据传输的采样率匹配方法。图5示出了本技术实施例提供的用于音频数据传输的采样率匹配方法的流程示意图,如图5所示,该方法包括如下步骤:步骤201:以初始转换比对音频数据进行采样率转换处理,获得处理后的音频数据。
[0076]
步骤202:将处理后的音频数据传输至音频播放系统的缓冲单元缓存,以使音频播放系统从缓冲单元中获取并播放处理后的音频数据。
[0077]
步骤203:获取缓冲单元中缓存的处理后的音频数据的数据量。
[0078]
步骤204:判断数据量是否等于预设阈值。若是,则转至步骤203;若否,则转至步骤205。
[0079]
步骤205:判断数据量是否小于预设阈值。若是,则转至步骤206;若否,则转至步骤207。
[0080]
步骤206:增大初始转换比,获得第一转换比,并以第一转换比对音频数据进行采样率转换处理。
[0081]
步骤207:减小初始转换比,获得第二转换比,并以第二转换比对音频数据进行采样率转换处理。
[0082]
其中,步骤201~203的具体实现方式可参考步骤110~130;步骤204~207的具体实现方式可参考步骤141~144,在此不再赘述。
[0083]
步骤208:将以调整后的转换比对音频数据进行采样率转换处理后获得的音频数据传输至缓冲单元缓存。
[0084]
其中,本技术实施例中,调整后的转换比指的是第一转换比或第二转换比。若在执行步骤208之前,以第一转换比对音频数据进行采样率转换处理,则本步骤中调整后的转换比为第一转换比;若在执行步骤208之前,以第二转换比对音频数据进行采样率转换处理,则本步骤中调整后的转换比为第二转换比。
[0085]
步骤209:获取缓冲单元中缓存的音频数据的数据量。
[0086]
其中,本步骤的具体实现方式可参考步骤130,在此不再赘述。
[0087]
值得说明的是,本技术实施例中,无论是以初始转换比对音频数据进行采样率转换处理,还是以第一转换比对音频数据进行采样率转换处理,又或是以第二转换比对音频数据进行采样率转换处理,均将经过采样率转换处理后的音频数据缓存至同一缓冲单元中,即均缓存至同一音频播放系统的同一缓冲单元中。
[0088]
因此,本步骤中获取的缓冲单元中缓存的音频数据的数据量,指的是获取缓冲单元中缓存的全部的音频数据的数据量,即无论缓存的音频数据是以初始转换比进行采样率转换处理获得的,还是以第一转换比进行采样率转换处理获得的,还是以第二转换比进行采样率转换处理获得的,只要缓冲单元中缓存有音频数据,就获取缓存的全部的音频数据的数据量。
[0089]
步骤210:判断数据量是否等于预设阈值。若是,则转至步骤209;若否,则转至步骤211。
[0090]
其中,本步骤中,判断步骤209获取的数据量是否等于预设阈值,若是,则不需调整转换比,即以当前的转换比继续对音频数据进行采样率转换处理即可,并转至步骤209继续获取下一时刻缓冲单元中缓存的音频数据的数据量;若否,则转至步骤211。具体如何设置阈值可参考步骤140,在此不再赘述。
[0091]
步骤211:判断数据量是否小于预设阈值。若是,则转至步骤212;若否,则转至步骤213。
[0092]
其中,通过步骤210判断数据量不等于预设阈值后,本步骤中,通过继续判断数据量是否小于预设阈值,即可获知如何调整转换比,以使缓冲单元中缓存的数据量维持在稳定范围内。若数据量小于预设阈值,则转至步骤212;若数据量大于预设阈值,则转至步骤213。
[0093]
步骤212:以第一转换比对音频数据进行采样率转换处理。
[0094]
步骤213:以第二转换比对音频数据进行采样率转换处理。
[0095]
其中,步骤212~213的具体实现方式可参考步骤143~144,在此不再赘述。
[0096]
值得说明的是,本技术实施例与图2提供的实施例相比,增加了循环的步骤,即以调整后的转换比对音频数据进行采样率转换处理,循环执行将处理后的音频数据存储至缓冲单元,并获取缓冲单元中缓存的音频数据的数据量,再根据数据量与预设阈值的大小关系确定利用第一转换比还是第二转换比对音频数据进行采样率转化处理,从而更好地控制缓冲单元中的数据量,使缓冲单元中的数据量能够持续满足要求。
[0097]
具体地,若步骤203中获取的缓冲单元中缓存的数据量小于预设阈值,则步骤206中增大初始转换比,获得第一转换比,并以第一转换比对音频数据进行采样率转换处理,以增加缓冲单元中的数据量。通过循环获取缓冲单元中的数据量,即可进一步判断以第一转换比对音频数据进行采样率转换处理,缓冲单元中的数据量持续增加后,数据量是否大于预设阈值,即是否有数据量过多导致溢出的风险。若以第一转换比对音频数据进行采样率转换处理的过程中,存在数据量大于预设阈值的情况,则及时调整转换比,即通过步骤213以第二转化比对音频数据进行采样率转换处理,以减少缓冲单元中的数据量,从而进一步有效地避免了缓冲单元中缓存的数据量过多导致溢出的风险。通过循环执行上述操作,有效地使缓冲单元中缓存的数据量维持在一定范围内,从而确保音频播放系统能正常有效地播放音频数据。
[0098]
同理,若步骤203中获取的缓冲单元中缓存的数据量大于预设阈值,则步骤207中减小初始转换比,获得第二转换比,并以第二转换比对音频数据进行采样率转换处理,以减少缓冲单元中的数据量。通过循环获取缓冲单元中的数据量,即可进一步判断以第二转换比对音频数据进行采样率转换处理,缓冲单元中的数据量持续减少后,数据量是否小于预设阈值,即是否有数据量过少导致排空的风险。若以第二转换比对音频数据进行采样率转换处理的过程中,存在数据量小于预设阈值的情况,则及时调整转换比,即通过步骤212以第一转化比对音频数据进行采样率转换处理,以增加缓冲单元中的数据量,从而进一步有效地避免了缓冲单元中缓存的数据量过少导致排空的风险。通过循环执行上述操作,有效地使缓冲单元中缓存的数据量维持在一定范围内,从而确保音频播放系统能正常有效地播放音频数据。
[0099]
此处通过先判断数据量是否等于预设阈值,若否,则再继续判断数据量是否小于预设阈值,以获得数据量与预设阈值的大小关系。值得说明的是,本技术实施例仅仅是以该判断顺序为例进行说明,并不代表一定要先判断数据量是否等于预设阈值后,才能继续判断数据量是否小于预设阈值,即本技术实施例不对如何获取数据量与预设阈值的大小关系进行限制,可以根据需要自行设置判断顺序,只要能获取数据量与预设阈值的大小关系即可。例如可以先判断数据量是否小于预设阈值,再判断数据量是否等于预设阈值或大于预设阈值,也可以先判断数据量是否大于预设阈值,再判断数据量是否等于预设阈值或小于预设阈值。
[0100]
综上所述,本技术实施例中,通过步骤206或207获得调整后的转换比,并调整后的转换比对音频数据进行采样率转换处理,并将处理后的音频数据缓存至缓冲单元中,接着继续获取缓冲单元中缓存的处理后的音频数据的数据量,再根据获得的数据量与预设阈值大小关系,及时调整转换比,从而更好地确保缓冲单元中缓存的数据量维持在稳定的范围内,提升音频数据的播放效果。
[0101]
为了提升音频数据的播放效果,本技术实施例提供了一种确定过渡帧以及过渡帧中相邻样点之间的采样间隔的方式。本技术实施例中,当发生转换比切换时,若从第一转换比切换到第二转换比,利用第二转换比继续对音频数据进行采样率转换处理前;以及,若从第二转换比切换到第一转换比,利用第一转换比继续对音频数据进行采样率转换处理前,还执行如下步骤:步骤c1:确定第k个样点和第k+1个样点的采样间隔,其中,
,为预设初始值,,),,la为以所述初始转换比进行采样率转换处理前的音频数据的帧长,为发送音频数据的音频发送系统的标称采样率,为接收并播放所述处理后的音频数据的音频播放系统的标称采样率,k为自然数,且k≤。
[0102]
其中,如果调整后的转换比和上一帧转换比不同时,也即上一帧的转换比为第一转换比,调整后的转换比为第二转换比时,则将当前帧作为过渡帧来处理,再以第二转换比对过渡帧的下一帧音频数据的数据帧进行采样转换处理;以及,上一帧的转换比为第二转换比,调整后的转换比为第一转换比时,则将当前帧作为过渡帧来处理,再以第一转换比对过渡帧的下一帧音频数据的数据帧进行采样转换处理。在过渡帧中,帧长为,为以初始转换比进行采样率转换处理前的音频数据的帧长,即原始帧长,为发送音频数据的音频发送系统的标称采样率,为接收并播放处理后的音频数据的音频播放系统的标称采样率。第k个样点和第k+1个样点的采样间隔可表示为(5)式:,0≤k≤-2,(5)其中,为预设初始值dt表示采样间隔随样本数增加的变化量(dt可正可负,代表采样间隔递增或递减)。
[0103]
为便于计算,设定该过渡帧的起始时刻为0,则该过渡帧内第个样点的采样时刻可表示为(6):0≤≤-1(6)为使过渡平稳,第-1个样本所在时刻和当前过渡帧结束时刻,也就是下一帧首个样本的时间间隔也要符合(5)式给出的递增或递减趋势,因此将代入(6),即将下一帧的首个样本作为当前帧第l
tr
个样本,应得到当前过渡帧的结束时刻,记为,如(7)式所示:,(7)同时,该时刻还可以表示为(8)式:,(8)其中,ts为该过渡帧中所有样点的平均采样间隔,)。
[0104]
将(8)式代入(7)式,可得到(9)式:,(9)由于ts和均是定量,而则由t0决定,则(7)式中只存在一个变量,也就是确定了便可得到各个样本的采样时刻以及相邻样本的采样间隔。
[0105]
根据公式(5),可以确定该过渡帧的前两个样本的采样间隔,以及该过渡帧的
最后一个样本和后一帧首个样本之间的采样间隔,记为。将k=0代入(5),可得到,如(10)式所示:,(10)将k=l
tr
和(9)代入(5),可得到,如(11)式所示:,(11)如果从第一帧长lb过渡到第二帧长l
b’,为了过渡平稳,采样间隔和应该尽量接近于切换转换比前采样间隔tb和切换转换比后采样间隔t
b’,这个优化目标可以表示为寻找使(12)式结果最小的t0值:,(12)其中,。
[0106]
反之,如果从第二帧长l
b’过渡到第一帧长lb,(12)式则替代为(13)式:,(13)显然t0的大小介于tb和tb'之间,因此一种简单有效的求t0方法是在tb和t
b’之间线性插入n个值,从中选取一个使(12)式或(13)式结果最小的值作为t0,记为。将代入(9)式求出dt,再共同代入(6)式,得到过渡帧中各个样本的采样时刻。
[0107]
步骤c2:在时长内根据第k个样点和第k+1个样点的采样间隔对音频数据进行处理,得到处理后的过渡帧音频数据,其中,第0个样点的采样时刻为0,。
[0108]
根据步骤c1得到的这些采样时刻对数据sa进行重采样处理,例如前面介绍的线性插值方法,即可得到该过渡帧中的每个样点数据。
[0109]
确定调整后的转换比后,若立即利用调整后的转换比对音频数据进行采样率转换处理,则利用调整后的转换比对音频数据进行采样率转换处理后,获得的音频数据帧会发生一定程度的变化,也即调整转换比后,下一帧的音频数据帧的帧长会立即发生变化,也即音频数据的帧长由转换为lb或由lb转换为,即使lb和相差较小,但是若由立即转换成lb或由lb转换为也会导致相邻音频数据帧间中样点间的采样间隔发生突变,从而导致音频信号发生一定程度的失真。
[0110]
本技术实施例中,确定调整后的转换比后,通过先确定过渡帧的帧长l
tr
为,过渡帧中各个样点与前一个样点间的采样间隔是递增或递减的,即在过渡帧中,第k个样点和第k+1个样点的采样间隔如(5)式所示。根据上文中的推导,dt可为正也可为负,即采样间隔为递增或递减。若从第二转换比调整到第一转换比,则通过第一转换比确定的转换后的采样率增大,即采样间隔减小。本技术实施例中,通过确定过渡帧后,控制过渡帧中相邻样点间的采样间隔逐渐减小,以使音频数据中相邻样点间的采样间隔平缓过渡到转换后的采样间隔,从而避免利用调整后的转换比进行采样率转换处理时获得的音频数据帧发生较大的突变,避免音频数据发生失真。若从第一转换比调整到第二转换比,则
通过第二转换比确定的转换后的采样率减小,即采样间隔增大,本技术实施例中,通过确定过渡帧后,控制过渡帧中相邻样点间的采样间隔逐渐增大,以使音频数据中相邻样点间的采样间隔平缓过渡到转换后的采样间隔,从而避免利用调整后的转换比进行采样率转换处理时获得的音频数据帧发生较大的突变,避免音频数据发生失真。
[0111]
为了提高获取的数据量的准确度,从而提升音频数据的播放效果,本技术实施例提供了另一种用于音频数据传输的采样率匹配方法。图6示出了本技术实施例提供的用于音频数据传输的采样率匹配方法的流程图,图6是在图2的基础上增加对获取的数据量进行平滑处理的步骤,如图6所示,该方法包括如下步骤:步骤310:以初始转换比对音频数据进行采样率转换处理,获得处理后的音频数据。
[0112]
步骤320:将处理后的音频数据传输至音频播放系统的缓冲单元缓存,以使音频播放系统从缓冲单元中获取并播放处理后的音频数据。
[0113]
步骤330:获取缓冲单元中缓存的处理后的音频数据的数据量。
[0114]
其中,步骤310~330的具体实现方式可参考步骤110~130,在此不再赘述。
[0115]
步骤340:对数据量进行平滑处理并获得处理后的数据量d(n),其中,通过(14)式对数据量进行平滑处理,(14)其中,为预设的平滑系数,且,d(n-1)为上一时刻经过平滑处理后获得的缓冲单元缓存的处理后的数据量,d(n)为当前时刻查询到的缓冲单元缓存的数据量。
[0116]
理想状态下,通过查询指令查询缓冲单元中的数据量,获得的数据量数值是稳定的,即相邻较短的时间间隔内两次获取的数值应是较接近的。但是由于系统执行查询指令时会受系统延时的影响,并且延迟的时长往往是不确定的,所以会导致数据量存在异常或波动,从而导致获取的数值准确度不高。另外,在查询缓冲单元中的数据量时,可能会存在处理后的音频数据正在缓存至缓冲单元,或音频播放系统正在获取并播放缓冲单元中的音频数据,因此也会导致数据量存在波动。此外,若音频系统受电磁波干扰导致工作状况不稳定,也会导致数据量存在异常或波动。
[0117]
因此,本步骤中,为了提高获取的数据量结果的准确度,通过对查询到的数据量进行平滑处理,从而减小因数据量波动造成查询结果不准确的影响。值得说明的是,通过公式(14)进行平滑处理,其中,d(n)为当前时刻经平滑处理后获得的缓冲单元中缓存的音频数据的数据量,即处理第n帧数据帧时经过平滑处理后获得的数据量,d(n-1)为上一时刻经过平滑处理后获得的缓冲单元缓存的处理后的数据量,即处理第n-1帧数据帧时经过平滑处理后获得的数据量,为预设的平滑系数,且,可以根据需要确定,在该范围内取值越大,平滑力度越大,但是会带来更长的延时。
[0118]
步骤350:根据处理后的数据量与预设阈值的大小关系调整初始转换比,并以调整后的转换比对音频数据进行采样率转换处理。
[0119]
其中,本步骤中,根据步骤340获得的数据量与预设阈值的大小关系调整初始转换比,并以调整后的转换比对音频数据进行采样率转换处理。本步骤的具体实现方式可参考步骤140,在此不再赘述。
[0120]
本技术实施例中,充分考虑了查询缓冲单元数据量时存在延时的情况,以及缓冲
单元中的数据量处于动态变化的情况,因此,通过对查询到的数据量进行平滑处理后,提高了获得的数据量的准确度,从而提高了获得的调整后的转换比的准确度,即提升了音频数据的播放效果。
[0121]
图7示出了本技术实施例提供的音频发送系统的结构示意图。如图7所示,该音频发送系统400包括处理器401。
[0122]
处理器401用于以初始转换比对音频数据进行采样率转换处理,获得处理后的音频数据;将处理后的音频数据传输至接收并播放处理后的音频数据的音频播放系统的缓冲单元缓存,以使音频播放系统接收并播放处理后的音频数据;获取音频播放系统的缓冲单元中缓存的数据量;根据数据量与预设阈值的大小关系调整初始转换比,获得调整后的转换比,并以调整后的转换比对音频数据进行采样率转换处理。
[0123]
本技术实施例中,充分考虑了音频系统的标称采样率和实际采样率存在误差的情况,处理器401以初始转换比对音频数据进行采样率转换处理,并将处理后的音频数据缓存至缓冲单元后,通过获取音频播放系统的缓冲单元中缓存的数据量,并根据数据量与预设阈值的大小关系及时调整转换比,进而再以调整后的转换比对音频数据进行采样率转换处理,使缓冲单元中的数据量维持在一定范围内,避免了缓冲单元中缓存的数据量过多或过少的问题,从而提升了音频数据的播放效果,即避免了音频播放过程中出现卡顿、杂音等问题。
[0124]
图8示出了本技术实施例提供的音频播放系统的结构示意图。如图8所示,该音频发送系统500包括处理器501和缓冲单元502。
[0125]
处理器501用于以初始转换比对接收到的音频数据进行采样率转换处理,获得处理后的音频数据,将处理后的音频数据传输至缓冲单元。
[0126]
缓冲单元502用于接收并缓存处理后的音频数据。
[0127]
处理器501还用于获取缓冲单元中缓存的处理后的音频数据的数据量,根据数据量与预设阈值的大小关系调整初始转换比,获得调整后的转换比,并以调整后的转换比对音频数据进行采样率转换处理。
[0128]
本技术实施例中,充分考虑了音频系统的标称采样率和实际采样率存在误差的情况,处理器501以初始转换比对音频数据进行采样率转换处理,并将处理后的音频数据缓存至缓冲单元502后,处理器501通过获取音频播放系统的缓冲单元中缓存的数据量,并根据数据量与预设阈值的大小关系及时调整转换比,进而再以调整后的转换比对音频数据进行采样率转换处理,使缓冲单元中的数据量维持在一定范围内,避免了缓冲单元中缓存的数据量过多或过少的问题,从而提升了音频数据的播放效果,即避免了音频播放过程中出现卡顿、杂音等问题。
[0129]
本技术实施例提供了一种计算机可读存储介质,该存储介质存储有可执行指令,该可执行指令在音频系统上运行时,使得音频系统执行上述任意方法实施例中的用于音频数据传输的采样率匹配方法。
技术特征:
1.一种用于音频数据传输的采样率匹配方法,其特征在于,所述方法包括;以初始转换比对音频数据进行采样率转换处理,获得处理后的音频数据;将所述处理后的音频数据传输至音频播放系统的缓冲单元缓存,以使所述音频播放系统从所述缓冲单元中获取并播放所述处理后的音频数据;获取所述缓冲单元中缓存的所述处理后的音频数据的数据量;根据所述数据量与预设阈值的大小关系调整所述初始转换比,获得调整后的转换比,并以所述调整后的转换比对音频数据进行采样率转换处理。2.根据权利要求1所述的方法,其特征在于,所述根据所述数据量与预设阈值的大小关系调整所述初始转换比,获得调整后的转换比,进一步包括:若所述数据量小于所述预设阈值,则增大所述初始转换比,获得第一转换比;若所述数据量大于所述预设阈值,则减小所述初始转换比,获得第二转换比,其中,所述第二转换比小于所述第一转换比。3.根据权利要求2所述的方法,其特征在于,以所述初始转换比进行采样率转换处理前的音频数据的帧长为原始帧长,以所述初始转换比进行采样率转换处理后的音频数据的帧长为初始转换帧长,所述增大所述初始转换比,获得第一转换比,进一步包括:确定第一帧长,其中,所述第一帧长长于所述初始转换帧长;计算所述第一帧长与所述原始帧长的第一比值,并将所述第一比值确定为所述第一转换比;所述减小所述初始转换比,获得第二转换比,进一步包括:确定第二帧长,其中,所述第二帧长短于所述初始转换帧长;计算所述第二帧长与所述原始帧长的第二比值,并将所述第二比值确定为所述第二转换比。4.根据权利要求3所述的方法,其特征在于,所述第一帧长比所述初始转换帧长增加一个样本长度,所述第二帧长比所述初始转换帧长减小一个样本长度。5.根据权利要求3所述的方法,其特征在于,所述第一帧长l
b
通过如下公式确定:,其中,l
a
为所述原始帧长,为发送音频数据的音频发送系统的标称采样率,为接收并播放所述处理后的音频数据的音频播放系统的标称采样率,运算符号[x]表示取不大于x的整数,δ为正整数;所述第二帧长l
b’通过如下公式确定:,其中,l
a
为所述原始帧长,为发送音频数据的音频发送系统的标称采样率,为接收并播放所述处理后的音频数据的音频播放系统的标称采样率,运算符号[x]表示取不大于x的整数,δ为正整数。6.根据权利要求2所述的方法,其特征在于,在所述若所述数据量小于所述预设阈值,则增大所述初始转换比,获得第一转换比之后,以及在所述若所述数据量大于所述预设阈值,则减小所述初始转换比,获得第二转换比之后,所述方法还包括:步骤s1,将以所述调整后的转换比对音频数据进行采样率转换处理后获得的音频数据传输至所述缓冲单元缓存;
步骤s2,获取所述缓冲单元中缓存的音频数据的数据量;步骤s3,若所述数据量大于所述预设阈值,则以所述第二转换比对音频数据进行采样率转换处理;步骤s4,若所述数据量小于所述预设阈值,则以所述第一转换比对音频数据进行采样率转换处理;对每一待处理的音频数据的数据帧均执行所述步骤s1至所述步骤s4。7.根据权利要求6所述的方法,其特征在于,当发生转换比切换时,在所述步骤s3中以所述第二转换比对音频数据进行采样率转换处理之前,以及在所述步骤s4中以所述第一转换比对音频数据进行采样率转换处理之前,还执行如下步骤:确定第k个样点和第k+1个样点的采样间隔,其中,,为预设初始值,,),,l
a
为以所述初始转换比进行采样率转换处理前的音频数据的帧长,为发送音频数据的音频发送系统的标称采样率,为接收并播放所述处理后的音频数据的音频播放系统的标称采样率,k为自然数,且k≤;在时长内根据第k个样点和第k+1个样点的采样间隔对音频数据进行处理,得到处理后的过渡帧音频数据,其中,第0个样点的采样时刻为0,。8.根据权利要求1所述的方法,其特征在于,在所述根据所述数据量与预设阈值的大小关系调整所述初始转换比之前,所述方法还包括:对所述数据量进行平滑处理并获得处理后的数据量d(n),其中,通过如下公式对所述数据量进行所述平滑处理:,其中,为预设的平滑系数,且,d(n-1)为上一时刻经过所述平滑处理后获得的所述缓冲单元缓存的所述处理后的数据量,d(n)为当前时刻查询到的所述缓冲单元缓存的所述数据量;所述根据所述数据量与预设阈值的大小关系调整所述初始转换比,进一步包括:根据所述处理后的数据量与预设阈值的大小关系调整所述初始转换比。9.一种音频发送系统,其特征在于,所述系统包括处理器,所述处理器用于:以初始转换比对音频数据进行采样率转换处理,获得处理后的音频数据;将所述处理后的音频数据传输至接收并播放所述处理后的音频数据的音频播放系统的缓冲单元缓存,以使所述音频播放系统接收并播放所述处理后的音频数据;获取所述音频播放系统的缓冲单元中缓存的数据量;根据所述数据量与预设阈值的大小关系调整所述初始转换比,获得调整后的转换比,并以所述调整后的转换比对音频数据进行采样率转换处理。10.一种音频播放系统,其特征在于,所述系统包括处理器和缓冲单元,其中:所述处理器用于以初始转换比对接收到的音频数据进行采样率转换处理,获得处理后的音频数据,将所述处理后的音频数据传输至所述缓冲单元;所述缓冲单元用于接收并缓存所述处理后的音频数据;
所述处理器还用于获取所述缓冲单元中缓存的所述处理后的音频数据的数据量,根据所述数据量与预设阈值的大小关系调整所述初始转换比,获得调整后的转换比,并以所述调整后的转换比对音频数据进行采样率转换处理。11.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-8中任一项所述的用于音频数据传输的采样率匹配方法。
技术总结
本申请实施例涉及信号处理技术领域,公开了一种用于音频数据传输的采样率匹配方法、系统及存储介质,该方法包括:以初始转换比对音频数据进行采样率转换处理,即重采样处理,获得处理后的音频数据;将处理后的音频数据传输至音频播放系统的缓冲单元缓存,以使音频播放系统从缓冲单元中获取并播放处理后的音频数据;获取缓冲单元中缓存的处理后的音频数据的数据量;根据数据量与预设阈值的大小关系调整初始转换比,获得调整后的转换比,并以调整后的转换比对音频数据进行采样率转换处理。通过上述方式,本申请实施例实现了提升音频数据的播放效果。播放效果。播放效果。
技术研发人员:章调占 张志平
受保护的技术使用者:玖益(深圳)医疗科技有限公司
技术研发日:2023.08.18
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种提高豆科作物产量的大豆突变基因及其应用 下一篇:一种轴流水泵的制作方法