CN111580777B - 音频处理方法、装置、电子设备及存储介质 - Google Patents
音频处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111580777B CN111580777B CN202010372908.0A CN202010372908A CN111580777B CN 111580777 B CN111580777 B CN 111580777B CN 202010372908 A CN202010372908 A CN 202010372908A CN 111580777 B CN111580777 B CN 111580777B
- Authority
- CN
- China
- Prior art keywords
- network
- audio
- duration
- dithering
- time length
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 27
- 238000012545 processing Methods 0.000 claims abstract description 109
- 238000000034 method Methods 0.000 claims abstract description 29
- 230000000694 effects Effects 0.000 claims abstract description 14
- 230000001133 acceleration Effects 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 abstract description 23
- 230000008569 process Effects 0.000 description 12
- 230000002093 peripheral effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 7
- 241000209140 Triticum Species 0.000 description 6
- 235000021307 Triticum Nutrition 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 230000003595 spectral effect Effects 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 3
- 230000002411 adverse Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/165—Management of the audio stream, e.g. setting of volume, audio stream path
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
- G10L25/30—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/78—Detection of presence or absence of voice signals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Acoustics & Sound (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Telephonic Communication Services (AREA)
Abstract
本公开关于一种音频处理方法、装置、电子设备及存储介质,属于音视频技术领域。所述方法包括:接收发送端发送的音频帧,将当前接收到的所述音频帧缓存至网络抖动器;获取第一时长、第二时长和第三时长,其中,所述第一时长用于指示当前的网络抖动,所述第二时长用于指示预设处理的最大网络抖动,所述第三时长与所述网络抖动器的最大存储容量相关;根据所述网络抖动器的当前容量、所述第一时长、所述第二时长和所述第三时长,加速处理所述网络抖动器中缓存的音频帧;其中,所述当前容量用于指示所述网络抖动器当前缓存的音频帧的数据量。本公开能够尽可能地缩短声音延迟的持续时间,提升了交流双方的交流体验,该种音频处理方式效果较佳。
Description
技术领域
本公开涉及音视频技术领域,尤其涉及一种音频处理方法、装置、电子设备及存储介质。
背景技术
直播过程中主播用户和嘉宾用户可以连麦。在连麦时,各方的终端会分别通过麦克风采集音频,在将采集到的音频依次进行前处理、音频编码器的编码处理后,再通过网络发送给对方的终端。其中,针对接收端,在从网络上接收到发送端的音频帧后,会将接收到的音频帧暂时缓存在JB(Jitter Buffer,网络抖动器)中进行排序解码,在经过音频解码器的解码处理后,再由扬声器进行播放。这样,连麦双方便可以听到彼此的声音。
然而,在连麦过程中,一方面受到网络实际情况影响,网络抖动难以避免。而在网络发生抖动时,接收端在某一时刻可能会突然接收到很多音频帧,这可能会导致由于音频帧累积而产生的声音延迟问题。另一方面,在某些特殊的中断情况下,比如闹铃或来电响铃等事件发生时,音频播放行为会被中断,但是此时音频帧还在源源不断到来,这些音频帧会被陆续放入JB,进而导致JB中存储的数据量骤升。而在中断结束后,由于JB中累积了大量的音频帧,因此可能会产生很大的声音延迟,这会对双方交流造成严重不良影响。
考虑到以上问题,目前亟需一种音频处理方案,以至少解决直播过程中,当网络发生抖动或中断事件发生时,因存在较大声音延迟,进而给交流双方造成严重不良影响的问题。
发明内容
本公开提供一种音频处理方法、装置、电子设备及存储介质,在网络发生抖动或中断事件发生时,能够尽可能地缩短声音延迟的持续时间,提升了交流双方的交流体验,该种音频处理方式效果较佳。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种音频处理方法,包括:
接收发送端发送的音频帧,将当前接收到的所述音频帧缓存至网络抖动器;
获取第一时长、第二时长和第三时长,其中,所述第一时长用于指示当前的网络抖动,所述第二时长用于指示预设处理的最大网络抖动,所述第三时长与所述网络抖动器的最大存储容量相关;
根据所述网络抖动器的当前容量、所述第一时长、所述第二时长和所述第三时长,加速处理所述网络抖动器中缓存的音频帧;
其中,所述当前容量用于指示所述网络抖动器当前缓存的音频帧的数据量。
在一种可能的实现方式中,所述获取第一时长,包括:
根据接收到的各个音频帧的到达时间间隔,确定所述到达时间间隔的概率分布;
根据所述到达时间间隔的概率分布确定所述第一时长。
在一种可能的实现方式中,所述根据所述网络抖动器的当前容量、所述第一时长、所述第二时长和所述第三时长,加速处理所述网络抖动器中缓存的音频帧,包括:
若所述当前容量对应的时长大于所述第一时长,且小于所述第二时长,则采用第一处理模式,对所述网络抖动器中缓存的音频帧进行加速播放;
其中,所述第一处理模式为每间隔M1个音频帧丢弃一个音频帧,M1为正整数。
在一种可能的实现方式中,所述根据所述网络抖动器的当前容量、所述第一时长、所述第二时长和所述第三时长,加速处理所述网络抖动器中缓存的音频帧,包括:
若所述当前容量对应的时长大于所述第二时长,且小于所述第三时长,则采用第二处理模式,对所述网络抖动器中缓存的音频帧进行加速播放;
其中,所述第二处理模式为每间隔M2个音频帧丢弃一个音频帧,M2为正整数且M2小于M1。
在一种可能的实现方式中,所述根据所述网络抖动器的当前容量、所述第一时长、所述第二时长和所述第三时长,加速处理所述网络抖动器中缓存的音频帧,包括:
若所述当前容量对应的时长不小于所述第三时长,则采用第三处理模式,对所述网络抖动器中缓存的音频帧进行加速播放;
其中,所述第三处理模式为丢弃所述网络抖动器中缓存的部分音频帧,直至所述网络抖动器剩余的音频帧数据量缩减至所述最大存储容量。
在一种可能的实现方式中,在接收发送端发送的音频帧的同时,所述方法还包括:接收所述音频帧的VAD(Voice Activity Detection,语音活性检测)值和能量值;
其中,丢弃所述网络抖动器中缓存的音频帧的规则为:
优先丢弃所述网络抖动器中VAD值为零的音频帧;
若所述网络抖动器中至少两个音频帧的VAD值相同,则优先丢弃能量值小的音频帧。
根据本公开实施例的第二方面,提供一种音频处理装置,包括:
接收模块,被配置为接收发送端发送的音频帧,将当前接收到的所述音频帧缓存至网络抖动器;
获取模块,被配置为获取第一时长、第二时长和第三时长,其中,所述第一时长用于指示当前的网络抖动,所述第二时长用于指示预设处理的最大网络抖动,所述第三时长与所述网络抖动器的最大存储容量相关;
处理模块,被配置为根据所述网络抖动器的当前容量、所述第一时长、所述第二时长和所述第三时长,加速处理所述网络抖动器中缓存的音频帧;
其中,所述当前容量用于指示所述网络抖动器当前缓存的音频帧的数据量。
在一种可能的实现方式中,所述获取模块,还被配置为根据接收到的各个音频帧的到达时间间隔,确定所述到达时间间隔的概率分布;根据所述到达时间间隔的概率分布确定所述第一时长。
在一种可能的实现方式中,所述处理模块,还被配置为若所述当前容量对应的时长大于所述第一时长,且小于所述第二时长,则采用第一处理模式,对所述网络抖动器中缓存的音频帧进行加速播放;
其中,所述第一处理模式为每间隔M1个音频帧丢弃一个音频帧,M1为正整数。
在一种可能的实现方式中,所述处理模块,还被配置为若所述当前容量对应的时长大于所述第二时长,且小于所述第三时长,则采用第二处理模式,对所述网络抖动器中缓存的音频帧进行加速播放;
其中,所述第二处理模式为每间隔M2个音频帧丢弃一个音频帧,M2为正整数且M2小于M1。
在一种可能的实现方式中,所述处理模块,还被配置为若所述当前容量对应的时长不小于所述第三时长,则采用第三处理模式,对所述网络抖动器中缓存的音频帧进行加速播放;
其中,所述第三处理模式为丢弃所述网络抖动器中缓存的部分音频帧,直至所述网络抖动器剩余的音频帧数据量缩减至所述最大存储容量。
在一种可能的实现方式中,所述接收模块,还被配置为在接收发送端发送的音频帧的同时,接收所述音频帧的VAD值和能量值;
其中,丢弃所述网络抖动器中缓存的音频帧的规则为:
优先丢弃所述网络抖动器中VAD值为零的音频帧;
若所述网络抖动器中至少两个音频帧的VAD值相同,则优先丢弃能量值小的音频帧。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的音频处理方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的音频处理方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,所述计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述第一方面所述的音频处理方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
接收端在接收到发送端发送的音频帧后,除了将当前接收到的音频帧缓存至网络抖动器之外,还会获取第一时长、第二时长和第三时长,其中,第一时长用于指示当前的网络抖动,第二时长用于指示预设处理的最大网络抖动,第三时长与网络抖动器的最大存储容量相关;之后,接收端会根据网络抖动器的当前容量、第一时长、第二时长和第三时长,自适应地加速处理网络抖动器中缓存的音频帧;其中,当前容量用于指示网络抖动器当前缓存的音频帧的数据量。基于以上描述可知,该种音频处理方式实现了根据JB的当前容量自适应地调整音频处理方式,这样即便网络发生抖动或中断事件发生,进而导致音频帧在接收端大量累积时,也不会产生较大的声音延迟。即,该方案能够尽可能地缩短声音延迟的持续时间,提升了交流双方的交流体验,该种音频处理方式效果较佳。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种音频处理方法涉及的实施环境的示意图。
图2是根据一示例性实施例示出的一种音频处理方法的流程图。
图3是根据一示例性实施例示出的一种音频处理方法的流程图。
图4是根据一示例性实施例示出的一种IAT概率分布的示意图。
图5是根据一示例性实施例示出的一种网络抖动器的队列长度的示意图。
图6是根据一示例性实施例示出的一种音频处理装置的框图。
图7是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开所涉及的用户信息可以为经用户授权或者经过各方充分授权的信息。
可选:说明技术方案应用的环境。例如,涉及多端交互的技术方案,需在对方案进行详细描述之前,对技术方案应用的网络环境和硬件进行限定。
在对本公开实施例进行详细地解释说明之前,先对本公开实施例可能涉及到的一些缩略语或术语进行介绍。
网络抖动器(Jitter Buffer,JB):在语音通信中,JB是接收端一个非常重要的模块,它是决定音质的重要因素之一。一方面它会将接收到的乱序的音频包排好序存放在buffer里的正确位置上,另一方面它还会将接收到的音频包放在buffer中缓存一些时间,以使音频播放的更加平滑,从而获得更好的语音质量。
包间到达延时(Inter Arrival Time,IAT):在本公开实施例中,IAT指代两个连续的音频包的到达时间间隔,单位为毫秒(ms)。
语音活性检测(Voice Activity Detection,VAD):是一项用于语音处理的技术,目的是检测语音信号是否存在。示例性地,VAD技术可以用于语音编码和语音识别。比如,它可以简化语音处理,也可用于在音频会话期间去除非语音片段;还可以在IP电话应用中避免对静音数据包的编码和传输,以节省计算时间和带宽。
下面对本公开实施例提供的音频处理方法涉及的实施环境进行介绍。
参见图1,该实施环境包括:第一终端101、服务器102和第二终端103。其中,第一终端101和第二终端103经由服务器102进行数据通信。
在本公开实施例中,第一终端101和第二终端103的类型通常为移动式终端端。
作为一个示例,移动式终端包括但不限于:智能手机、平板电脑、笔记本电脑、电子阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器等;固定式终端包括但不限于台式电脑,本公开实施例对此不进行具体限定。示例性地,图1仅是以第一终端101和第二终端103均为智能手机进行举例说明。
而服务器102可以为第一终端101和第二终端103提供后台服务。其中,服务器102既可以是一个独立的服务器,也可以是由多个服务器组成的服务器集群,本公开实施例对此同样不进行具体限定。
其中,第一终端101和第二终端102分别既可以是发送端,也可以是接收端。以第一终端101为发送端,第二终端102为接收端为例,则第一终端101在将采集到的音频依次经过前处理(比如回音消除、降噪等)、音频编码器的编码处理后再通过网络发送给第二终端103,而第二终端103在接收到音频包后,会先将这些音频包放入JB中进行缓存排序,再经过音频解码器的解码处理后,最终由扬声器进行播放。当第二终端103为发送端,第一终端101为接收端时,处理流程类似。
需要说明的是,本公开实施例提供的音频处理方法的应用场景包括但不限于:
场景1、直播过程中的连麦场景
针对该种场景,第一终端101和第二终端103上通常安装有支持直播功能的直播应用。
众所周知,直播过程中主播用户和嘉宾用户可以连麦。在连麦时,各方的终端会分别通过麦克风采集音频,在将采集到的音频依次进行前处理、音频编码器的编码处理后,再通过网络发送给对方的终端。其中,针对接收端,在从网络上接收到发送端的音频帧后,会将接收到的音频帧暂时缓存在JB中进行排序解码,在经过音频解码器的解码处理后,再由扬声器进行播放。这样,连麦双方便可以听到彼此的声音。
然而,在连麦过程中,一方面受到网络实际情况影响,网络抖动难以避免。而在网络发生抖动时,接收端在某一时刻可能会突然接收到很多音频帧,这可能会导致由于音频帧累积而产生的声音延迟问题。另一方面,在某些特殊的中断情况下,比如闹铃或来电响铃等事件发生时,音频播放行为会被中断,但是此时音频帧还在源源不断到来,这些音频帧会被陆续放入JB,进而导致JB中存储的数据量骤升。而在中断结束后,由于JB中累积了大量的音频帧,因此可能会产生很大的声音延迟,这会对双方交流造成严重不良影响。
本公开实施例提出了一种JB的分级加速方案,可以解决在直播连麦过程中,当有较大的网络抖动或类似中断事件发生时,产生较大的声音延迟的问题。本公开实施例提供的这种分级加速策略,可以显著缩短这个声音延迟的持续时间,同时获得较好的音质。
场景2、除了列举的上述场景1之外,本公开实施例提供的音频处理方案还可以应用在其他的语音通信场景,比如音频会议场景,本公开实施例对此不进行具体限定。
下面通过以下实施例对本公开实施例提供的错误页面展示方案进行详细地解释说明。
图2是根据一示例性实施例示出的一种音频处理方法的流程图,该方法可以用于图1所示的第一终端或第二终端中,即若第一终端为发送端,则第二终端为接收端;若第一终端为接收端,则第二终端为发送端,如图2所示,包括以下步骤。
在步骤201中,接收发送端发送的音频帧,将当前接收到的音频帧缓存至网络抖动器。
在步骤202中,获取第一时长、第二时长和第三时长,其中,第一时长用于指示当前的网络抖动,第二时长用于指示预设处理的最大网络抖动,第三时长与网络抖动器的最大存储容量相关。
在步骤203中,根据网络抖动器的当前容量、第一时长、第二时长和第三时长,处理网络抖动器中缓存的音频帧;其中,当前容量用于指示网络抖动器当前缓存的音频帧的数据量。
本公开实施例提供的方法,接收端在接收到发送端发送的音频帧后,除了将当前接收到的音频帧缓存至网络抖动器之外,还会获取第一时长、第二时长和第三时长,其中,第一时长用于指示当前的网络抖动,第二时长用于指示预设处理的最大网络抖动,第三时长与网络抖动器的最大存储容量相关;之后,接收端会根据网络抖动器的当前容量、第一时长、第二时长和第三时长,自适应地处理网络抖动器中缓存的音频帧;其中,当前容量用于指示网络抖动器当前缓存的音频帧的数据量。基于以上描述可知,该种音频处理方式实现了根据JB的当前容量自适应地调整音频处理方式,这样即便网络发生抖动或中断事件发生,进而导致音频帧在接收端大量累积时,也不会产生较大的声音延迟。即,该方案可以尽可能地缩短声音延迟的持续时间,提升了交流双方的交流体验,该种音频处理方式效果较佳。
在一种可能的实现方式中,所述获取第一时长,包括:
根据接收到的各个音频帧的到达时间间隔,确定所述到达时间间隔的概率分布;
根据所述到达时间间隔的概率分布确定所述第一时长。
在一种可能的实现方式中,所述根据所述网络抖动器的当前容量、所述第一时长、所述第二时长和所述第三时长,加速处理所述网络抖动器中缓存的音频帧,包括:
若所述当前容量对应的时长大于所述第一时长,且小于所述第二时长,则采用第一处理模式,对所述网络抖动器中缓存的音频帧进行加速播放;
其中,所述第一处理模式为每间隔M1个音频帧丢弃一个音频帧,M1为正整数。
在一种可能的实现方式中,所述根据所述网络抖动器的当前容量、所述第一时长、所述第二时长和所述第三时长,加速处理所述网络抖动器中缓存的音频帧,包括:
若所述当前容量对应的时长大于所述第二时长,且小于所述第三时长,则采用第二处理模式,对所述网络抖动器中缓存的音频帧进行加速播放;
其中,所述第二处理模式为每间隔M2个音频帧丢弃一个音频帧,M2为正整数且M2小于M1。
在一种可能的实现方式中,所述根据所述网络抖动器的当前容量、所述第一时长、所述第二时长和所述第三时长,加速处理所述网络抖动器中缓存的音频帧,包括:
若所述当前容量对应的时长不小于所述第三时长,则采用第三处理模式,对所述网络抖动器中缓存的音频帧进行加速播放;
其中,所述第三处理模式为丢弃所述网络抖动器中缓存的部分音频帧,直至所述网络抖动器剩余的音频帧数据量缩减至所述最大存储容量。
本公开实施例根据网络抖动器的当前容量的不同,会采取不同的处理模式进行加速播放,能够有效以精准地缩短声音延迟的持续时间,该种音频处理方式效果较佳。
在一种可能的实现方式中,在接收发送端发送的音频帧的同时,所述方法还包括:接收所述音频帧的VAD值和能量值;
其中,丢弃所述网络抖动器中缓存的音频帧的规则为:
优先丢弃所述网络抖动器中VAD值为零的音频帧;
若所述网络抖动器中至少两个音频帧的VAD值相同,则优先丢弃能量值小的音频帧。
本公开实施例优先丢弃VAD值为0的音频帧,而若VAD值相同则优先丢弃能量值小的音频帧,以实现尽可能地选择丢弃音频信息含量少的音频帧,达到保护音质的目的。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再赘述。
图3是根据一示例性实施例示出的一种音频处理方法的流程图,该方法可以用于图1所示的第一终端或第二终端中,即若第一终端为发送端,则第二终端为接收端;若第一终端为接收端,则第二终端为发送端,如图3所示,包括以下步骤。
在步骤301中,发送端向接收端发送音频帧,以及音频帧的VAD值和能量值。
其中,发送端发送的音频帧在本文中也可称为音频包。
在本公开实施例中,发送端在发送一个音频帧时,会统计该音频帧的VAD值和能量值,并将该音频帧、以及该音频帧的VAD值和能量值一同发送给接收端。
作为一个示例,在统计一个音频帧的VAD值时,包括但不限于采取如下方式:
方式一、VAD算法可以是根据每个音频帧计算出来的特征(例如短时能量、谱熵或谱熵能量积等)与阀值进行比较,从而来判断每个音频帧中是不是包括语言信号。即,可以将每个音频帧的短时能量、谱熵或谱熵能量积等作为各个音频帧的VAD值。
方式二、提取每个音频帧的声学特征;将该音频帧的声学特征输入预先训练好的的深度神经网络模型,由该深度神经网络模型计算该音频帧对应的输出节点的值,其中,该深度神经网络模型是根据训练数据集中各音频帧的声学特征和标注数据对深度神经网络进行训练得到;将该音频帧对应的输出节点的值作为该音频帧的VAD值。其中,该深度神经网络模型的输出层包括两个输出节点,一个输出节点的值对应于该音频帧为有效语音的概率,另一个输出节点的值对应于该音频帧为无效语音的概率。
作为另一个示例,在统计该音频帧的能量值时,包括但不限于采取如下方式:
其中,n指代第n个音频帧,L指代第n个音频帧包括的采样点个数,s(i)为采样点i对应的幅度,E(n)为第n个音频帧的能量值。
在步骤302中,接收端在接收到发送端发送的音频帧后,将当前接收到的音频帧缓存至网络抖动器。
在本公开实施中,接收端在接收到发送端发送的音频帧、该音频帧的VAD值和能量值后,除了可以将当前接收到的音频帧存放至JB中之外,还可以将该音频帧的VAD值和能量值也一并存放至JB中,本公开实施例对此不进行具体限定。
在步骤303中,接收端获取第一时长、第二时长和第三时长,其中,第一时长用于指示当前的网络抖动,第二时长用于指示预设处理的最大网络抖动,第三时长与网络抖动器的最大存储容量相关。
其中,网络抖动主要用于反映网络的稳定性,在本文中网络抖动用于标识声音延迟的变化程度。
需要说明的第一点是,上述第一时长、第二时长以及第三时长的单位均为毫秒(ms)。
在一种可能的实现方式中,接收端会根据各个音频包的到达时间间隔(IAT)统计IAT的概率分布,进而根据IAT的概率分布计算出当前的网络抖动,记为L1;其中,本文以第一时长来指示当前的网络抖动,即第一时长以符号L1指代。
相应地,获取第一时长,包括:接收端根据接收到的各个音频帧的到达时间间隔,确定到达时间间隔的概率分布;之后,接收端根据到达时间间隔的概率分布确定第一时长。
示例性地,假设计算出来的IAT值一共有100个(实际中会更多),分别是60个20ms,20个40ms,以及20个80ms,那么20ms的概率即为60%,40ms为20%,100ms为20%;若选取80分位数来确定当前的网络抖动,那么当前的网络抖动即为40ms。
其中,图4示出了IAT的概率分布。在图4中,横轴表示IAT值,纵轴表示概率值,图4中的曲线即反映了IAT值与概率值之间的对应关系。另外,图4中示出的L1即指代当前网络抖动。
需要说明的第二点是,上述第二时长在本文中以符号L2指代,其中,L2为预设的JB需要区分处理的最大网络抖动。其中,最大网络抖动指代的是预设处理的最大网络抖动,也即如果网络抖动超过了L2,那么都当做L2来处理。
需要说明的第三点是,上述第三时长在本文中以符号L3指代。其中,L3与预设的JB最大存储容量相关;即,L3指代为JB分配的内存最大可以存储的数据量对应的时长,比如JB的最大存储容量为100个音频帧,那么L3即为这100个音频对应的总时长。
需要说明的第四点是,L1、L2和L3之间的大小关系为L3>L2>L1。
在步骤304中,接收端根据网络抖动器的当前容量、第一时长、第二时长和第三时长,处理网络抖动器中缓存的音频帧;其中,当前容量用于指示网络抖动器当前缓存的音频帧的数据量。
在本公开实施例中,根据JB的当前容量不同,会采取不同的分级加速策略,以缩短声音延迟的持续时间。另外,JB的当前容量也可称之为JB当前的实际水位。其中,水位指代的是当前JB存储的音频帧对应的时长,比如JB当前存储了10个音频帧,那么JB当前的实际水位即为这10个音频对应的总时长。
示例性地,根据网络抖动器的当前容量、第一时长、第二时长和第三时长,处理网络抖动器中缓存的音频帧,包括但不限于如下三种方式:
3041、若当前容量对应的时长大于第一时长,且小于第二时长,则采用第一处理模式,对网络抖动器中缓存的音频帧进行加速播放。
其中,第一处理模式为每间隔M1个音频帧丢弃一个音频帧,M1为正整数。
即,如果当前JB的实际水位L满足L1<L<L2,则本公开实施例使用加速间隔M1进行普通加速播放。也即,每间隔M1个音频帧丢掉1个音频帧。
3042、若当前容量对应的时长大于第二时长,且小于第三时长,则采用第二处理模式,对网络抖动器中缓存的音频帧进行加速播放。
其中,第二处理模式为每间隔M2个音频帧丢弃一个音频帧,M2为正整数且M2小于M1。即,如果当前JB的实际水位L满足L2<L<L3,则表明此时JB累积的音频帧的数据量较多,声音延迟较大,这种情况大概率是由于类似中断事件(比如闹铃或来电响铃)造成的,这时还需启用快加速播放模式。也即使用加速间隔M2进行加速,换言之,每间隔M2个音频帧丢掉1个音频帧。
3043、若当前容量对应的时长不小于第三时长,则采用第三处理模式,对网络抖动器中缓存的音频帧进行加速播放。
其中,第三处理模式为丢弃网络抖动器中缓存的部分音频帧,直至网络抖动器剩余的音频帧数据量缩减至最大存储容量。
针对该步骤,如果音频帧到达时,导致当前JB的实际水位L≥L3,则丢弃JB中的一部分音频帧,直至剩余的音频帧数据量缩减至JB的最大存储容量。
其中,图5示出了上述步骤3041至步骤3043对应的JB队列的实际长度的示意图。其中,图5中示出的L1、L2和L3即为上述的第一时长、第二时长和第三时长。
针对上述步骤3041至步骤3043,丢弃音频帧的一种可能的规则为:优先丢弃网络抖动器中VAD值为零的音频帧;若网络抖动器中至少两个音频帧的VAD值相同,则优先丢弃能量值小的音频帧。即,在上述步骤3041至步骤3043的实施过程中,优先丢弃VAD值为0的音频帧,而若VAD值相同则优先丢弃能量值小的音频帧,进而实现尽可能地选择丢弃音频信息含量少的音频帧,达到保护音质的目的。
本公开实施例提供的方法至少具有以下有益效果:
本公开实施例实现了根据JB的当前容量自适应地调整音频处理方式,这样即便网络发生抖动或中断事件发生,进而导致音频帧在接收端大量累积时,也不会产生较大的声音延迟。即,该方案可以尽可能地缩短声音延迟的持续时间,提升了交流双方的交流体验,该种音频处理方式效果较佳。
另外,本公开实施例提出了一种根据JB当前的实际水位执行不同加速策略的多级变速方案,实现了在JB因发生网络抖动或类似中断事件发生进而导致音频帧严重累积时,可以分情况精准地缩短声音延迟的持续时间。
另外,在丢弃音频帧时,本公开实施例会优先丢弃VAD值为0的音频帧,而若VAD值相同则优先丢弃能量值小的音频帧,会尽可能地选择丢弃音频信息含量少的音频帧,达到了保护音质的目的。
图6是根据一示例性实施例示出的一种音频处理装置的框图。参照图6,该装置包括接收模块601,获取模块602和处理模块603。
接收模块601,被配置为接收发送端发送的音频帧,将当前接收到的所述音频帧缓存至网络抖动器;
获取模块602,被配置为获取第一时长、第二时长和第三时长,其中,所述第一时长用于指示当前的网络抖动,所述第二时长用于指示预设处理的最大网络抖动,所述第三时长与所述网络抖动器的最大存储容量相关;
处理模块603,被配置为根据所述网络抖动器的当前容量、所述第一时长、所述第二时长和所述第三时长,加速处理所述网络抖动器中缓存的音频帧;
其中,所述当前容量用于指示所述网络抖动器当前缓存的音频帧的数据量。
本公开实施例提供的装置,在接收到发送端发送的音频帧后,除了将当前接收到的音频帧缓存至网络抖动器之外,还会获取第一时长、第二时长和第三时长,其中,第一时长用于指示当前的网络抖动,第二时长用于指示预设处理的最大网络抖动,第三时长与网络抖动器的最大存储容量相关;之后,会根据网络抖动器的当前容量、第一时长、第二时长和第三时长,自适应地处理网络抖动器中缓存的音频帧;其中,当前容量用于指示网络抖动器当前缓存的音频帧的数据量。基于以上描述可知,该种音频处理方式实现了根据JB的当前容量自适应地调整音频处理方式,这样即便网络发生抖动或中断事件发生,进而导致音频帧在接收端大量累积时,也不会产生较大的声音延迟。即,该方案可以尽可能地缩短声音延迟的持续时间,提升了交流双方的交流体验,该种音频处理方式效果较佳。
在一种可能的实现方式中,所述获取模块,还被配置为根据接收到的各个音频帧的到达时间间隔,确定所述到达时间间隔的概率分布;根据所述到达时间间隔的概率分布确定所述第一时长。
在一种可能的实现方式中,所述处理模块,还被配置为若所述当前容量对应的时长大于所述第一时长,且小于所述第二时长,则采用第一处理模式,对所述网络抖动器中缓存的音频帧进行加速播放;
其中,所述第一处理模式为每间隔M1个音频帧丢弃一个音频帧,M1为正整数。
在一种可能的实现方式中,所述处理模块,还被配置为若所述当前容量对应的时长大于所述第二时长,且小于所述第三时长,则采用第二处理模式,对所述网络抖动器中缓存的音频帧进行加速播放;
其中,所述第二处理模式为每间隔M2个音频帧丢弃一个音频帧,M2为正整数且M2小于M1。
在一种可能的实现方式中,所述处理模块,还被配置为若所述当前容量对应的时长不小于所述第三时长,则采用第三处理模式,对所述网络抖动器中缓存的音频帧进行加速播放;
其中,所述第三处理模式为丢弃所述网络抖动器中缓存的部分音频帧,直至所述网络抖动器剩余的音频帧数据量缩减至所述最大存储容量。
在一种可能的实现方式中,所述接收模块,还被配置为在接收发送端发送的音频帧的同时,接收所述音频帧的VAD值和能量值;
其中,丢弃所述网络抖动器中缓存的音频帧的规则为:
优先丢弃所述网络抖动器中VAD值为零的音频帧;
若所述网络抖动器中至少两个音频帧的VAD值相同,则优先丢弃能量值小的音频帧。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再赘述。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7示出了本申请一个示例性实施例提供的电子设备700的结构框图。
该设备700可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(MovingPicture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。设备700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,设备700包括有:处理器701和存储器702。
处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器701所执行以实现本申请中方法实施例提供的音频处理方法。
在一些实施例中,设备700还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路704、触摸显示屏705、摄像头706、音频电路707、定位组件708和电源709中的至少一种。
外围设备接口703可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路704还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏705用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置设备700的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在设备700的不同表面或呈折叠设计;在再一些实施例中,显示屏705可以是柔性显示屏,设置在设备700的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在设备700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括耳机插孔。
定位组件708用于定位设备700的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件708可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源709用于为设备700中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,设备700还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。
加速度传感器711可以检测以设备700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器711可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器711采集的重力加速度信号,控制触摸显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器712可以检测设备700的机体方向及转动角度,陀螺仪传感器712可以与加速度传感器711协同采集用户对设备700的3D动作。处理器701根据陀螺仪传感器712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器713可以设置在设备700的侧边框和/或触摸显示屏705的下层。当压力传感器713设置在设备700的侧边框时,可以检测用户对设备700的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在触摸显示屏705的下层时,由处理器701根据用户对触摸显示屏705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器714可以被设置设备700的正面、背面或侧面。当设备700上设置有物理按键或厂商Logo时,指纹传感器714可以与物理按键或厂商Logo集成在一起。
光学传感器715用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器715采集的环境光强度,控制触摸显示屏705的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏705的显示亮度;当环境光强度较低时,调低触摸显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器715采集的环境光强度,动态调整摄像头组件706的拍摄参数。
接近传感器716,也称距离传感器,通常设置在设备700的前面板。接近传感器716用于采集用户与设备700的正面之间的距离。在一个实施例中,当接近传感器716检测到用户与设备700的正面之间的距离逐渐变小时,由处理器701控制触摸显示屏705从亮屏状态切换为息屏状态;当接近传感器716检测到用户与设备700的正面之间的距离逐渐变大时,由处理器701控制触摸显示屏705从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图7中示出的结构并不构成对设备700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由电子设备700的处理器执行以完成上述音频处理方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,所述计算机程序产品中的指令由电子设备700的处理器执行时,使得电子设备700能够执行如上述方法实施例中的音频处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (6)
1.一种音频处理方法,其特征在于,包括:
接收发送端发送的音频帧,将当前接收到的所述音频帧缓存至网络抖动器;
获取第一时长、第二时长和第三时长,其中,所述第一时长用于指示当前的网络抖动,所述第一时长是根据到达时间间隔的概率分布确定的,所述到达时间间隔的概率分布是根据各个音频帧的到达时间间隔确定的,所述第二时长用于指示预设处理的最大网络抖动,所述第三时长与所述网络抖动器的最大存储容量相关;
若所述网络抖动器的当前容量对应的时长大于所述第一时长且小于所述第二时长,则采用第一处理模式,对所述网络抖动器中缓存的音频帧进行加速播放;其中,所述第一处理模式为每间隔M1个音频帧丢弃一个音频帧,M1为正整数;
若所述网络抖动器的当前容量对应的时长大于所述第二时长且小于所述第三时长,则采用第二处理模式,对所述网络抖动器中缓存的音频帧进行加速播放;其中,所述第二处理模式为每间隔M2个音频帧丢弃一个音频帧,M2为正整数且M2小于M1;
若所述网络抖动器的当前容量对应的时长不小于所述第三时长,则采用第三处理模式对所述网络抖动器中缓存的音频帧进行加速播放;其中,所述第三处理模式为丢弃所述网络抖动器中缓存的部分音频帧,直至所述网络抖动器剩余的音频帧数据量缩减至所述最大存储容量;
其中,所述当前容量用于指示所述网络抖动器当前缓存的音频帧的数据量。
2.根据权利要求1所述的音频处理方法,其特征在于,在接收发送端发送的音频帧的同时,所述方法还包括:接收所述音频帧的语音活性检测VAD值和能量值;
其中,丢弃所述网络抖动器中缓存的音频帧的规则为:
优先丢弃所述网络抖动器中VAD值为零的音频帧;
若所述网络抖动器中至少两个音频帧的VAD值相同,则优先丢弃能量值小的音频帧。
3.一种音频处理装置,其特征在于,包括:
接收模块,被配置为接收发送端发送的音频帧,将当前接收到的所述音频帧缓存至网络抖动器;
获取模块,被配置为获取第一时长、第二时长和第三时长,其中,所述第一时长用于指示当前的网络抖动,所述第一时长是根据到达时间间隔的概率分布确定的,所述到达时间间隔的概率分布是根据各个音频帧的到达时间间隔确定的,所述第二时长用于指示预设处理的最大网络抖动,所述第三时长与所述网络抖动器的最大存储容量相关;
处理模块,被配置为若所述网络抖动器的当前容量对应的时长大于所述第一时长且小于所述第二时长,则采用第一处理模式,对所述网络抖动器中缓存的音频帧进行加速播放;其中,所述第一处理模式为每间隔M1个音频帧丢弃一个音频帧,M1为正整数;若所述网络抖动器的当前容量对应的时长大于所述第二时长且小于所述第三时长,则采用第二处理模式,对所述网络抖动器中缓存的音频帧进行加速播放;其中,所述第二处理模式为每间隔M2个音频帧丢弃一个音频帧,M2为正整数且M2小于M1;若所述网络抖动器的当前容量对应的时长不小于所述第三时长,则采用第三处理模式对所述网络抖动器中缓存的音频帧进行加速播放;其中,所述第三处理模式为丢弃所述网络抖动器中缓存的部分音频帧,直至所述网络抖动器剩余的音频帧数据量缩减至所述最大存储容量;
其中,所述当前容量用于指示所述网络抖动器当前缓存的音频帧的数据量。
4.根据权利要求3所述的音频处理装置,其特征在于,所述接收模块,还被配置为在接收发送端发送的音频帧的同时,接收所述音频帧的语音活性检测VAD值和能量值;
其中,丢弃所述网络抖动器中缓存的音频帧的规则为:
优先丢弃所述网络抖动器中VAD值为零的音频帧;
若所述网络抖动器中至少两个音频帧的VAD值相同,则优先丢弃能量值小的音频帧。
5.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至2中任一项所述的音频处理方法。
6.一种存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至2中任一项所述的音频处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010372908.0A CN111580777B (zh) | 2020-05-06 | 2020-05-06 | 音频处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010372908.0A CN111580777B (zh) | 2020-05-06 | 2020-05-06 | 音频处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111580777A CN111580777A (zh) | 2020-08-25 |
CN111580777B true CN111580777B (zh) | 2024-03-08 |
Family
ID=72115158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010372908.0A Active CN111580777B (zh) | 2020-05-06 | 2020-05-06 | 音频处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111580777B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103594103A (zh) * | 2013-11-15 | 2014-02-19 | 腾讯科技(成都)有限公司 | 音频处理方法及相关装置 |
CN105245496A (zh) * | 2015-08-26 | 2016-01-13 | 广州市百果园网络科技有限公司 | 一种播放音频数据的方法和装置 |
CN105939289A (zh) * | 2015-12-21 | 2016-09-14 | 小米科技有限责任公司 | 网络抖动处理方法、装置和终端设备 |
CN109994127A (zh) * | 2019-04-16 | 2019-07-09 | 腾讯音乐娱乐科技(深圳)有限公司 | 音频检测方法、装置、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105099949A (zh) * | 2014-04-16 | 2015-11-25 | 杜比实验室特许公司 | 基于对延迟抖动和对话动态的监视的抖动缓冲器控制 |
-
2020
- 2020-05-06 CN CN202010372908.0A patent/CN111580777B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103594103A (zh) * | 2013-11-15 | 2014-02-19 | 腾讯科技(成都)有限公司 | 音频处理方法及相关装置 |
CN105245496A (zh) * | 2015-08-26 | 2016-01-13 | 广州市百果园网络科技有限公司 | 一种播放音频数据的方法和装置 |
CN105939289A (zh) * | 2015-12-21 | 2016-09-14 | 小米科技有限责任公司 | 网络抖动处理方法、装置和终端设备 |
CN109994127A (zh) * | 2019-04-16 | 2019-07-09 | 腾讯音乐娱乐科技(深圳)有限公司 | 音频检测方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111580777A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110890945B (zh) | 数据传输方法、装置、终端及存储介质 | |
CN111093108B (zh) | 音画同步判断方法、装置、终端及计算机可读存储介质 | |
CN110769271B (zh) | 调节多路码流的码率的方法和装置 | |
JP7361890B2 (ja) | 通話方法、通話装置、通話システム、サーバ及びコンピュータプログラム | |
CN111462764B (zh) | 音频编码方法、装置、计算机可读存储介质及设备 | |
CN111445901A (zh) | 音频数据获取方法、装置、电子设备及存储介质 | |
CN110390953B (zh) | 啸叫语音信号的检测方法、装置、终端及存储介质 | |
CN111813367A (zh) | 调整音量的方法、装置、设备以及存储介质 | |
CN110213308A (zh) | 一种解码视频数据的方法及装置 | |
CN110166776B (zh) | 视频编码方法、装置及存储介质 | |
CN111092991B (zh) | 歌词显示方法及装置、计算机存储介质 | |
CN111613213A (zh) | 音频分类的方法、装置、设备以及存储介质 | |
CN111586433B (zh) | 码率调整方法、装置、设备及存储介质 | |
CN111081283A (zh) | 一种音乐播放方法、装置、存储介质及终端设备 | |
CN113192519B (zh) | 音频编码方法和装置以及音频解码方法和装置 | |
CN107888975B (zh) | 视频播放方法、装置及存储介质 | |
CN113141541B (zh) | 码率切换方法、装置、设备及存储介质 | |
CN110113669B (zh) | 获取视频数据的方法、装置、电子设备及存储介质 | |
CN111580777B (zh) | 音频处理方法、装置、电子设备及存储介质 | |
CN111698262B (zh) | 带宽确定方法、装置、终端及存储介质 | |
CN114071224B (zh) | 视频数据处理方法、装置、计算机设备及存储介质 | |
CN112151017B (zh) | 语音处理方法、装置、系统、设备及存储介质 | |
CN111083162B (zh) | 多媒体流卡顿检测方法和装置 | |
CN113162837B (zh) | 语音消息的处理方法、装置、设备及存储介质 | |
WO2019128430A1 (zh) | 带宽确定方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |