音视频数据处理方法及装置与流程
本申请涉及视频监控领域,具体而言,涉及一种音视频数据处理方法及装置。
背景技术:
随着视频监控设施的发展,视频对讲技术也越来越成熟。例如,指挥中心查看摄像机实况时,可以和摄像机建立语音对讲。
但是若指挥中心或者摄像机本地开启视频存储,需要将对讲的音频数据保存到视频文件中时,根据对讲音频采集和接收的先后顺序写入视频文件,若音频路数大于一路,多路音频采用先到先存的原则写入文件,每路音频写入文件中的数据不连续。由于音频本质为振动波的特性,数据不连续破坏了每路对讲音频波形,导致播放视频文件时音频断断续续,用户体验较差。
如何解决多路对讲音频不连续的问题,提高视频中的对讲音频质量,是值得探究的问题。
技术实现要素:
为了至少克服现有技术中的上述不足,本申请的目的之一在于提供一种音视频数据处理方法,所述方法包括:
获得多路待处理音频数据;
针对各路所述待处理音频数据,根据所述待处理音频数据设定降噪系数;
针对各路所述待处理音频数据,根据得到的所述降噪系数及预设规则设定对应的滤波系数,利用所述滤波系数对所述待处理音频数据进行滤波,得到待混音音频数据。
进一步地,所述针对各路所述待处理音频数据,根据所述待处理音频数据设定降噪系数的步骤包括:
针对各路所述待处理音频数据,获得所述待处理音频数据的当前第一采样点的值,并获得所述当前第一采样点对应的降噪系数;
根据所述当前第一采样点的值判断所述当前第一采样点是否是噪声点;
若所述当前第一采样点为噪声点,则增大所述降噪系数,若所述当前第一采样点不为噪声点,则降低所述降噪系数。
进一步地,所述针对各路所述待处理音频数据,根据得到的所述降噪系数及预设规则设定对应的滤波系数,利用所述滤波系数对所述待处理音频数据进行滤波,得到待混音音频数据的步骤包括:
根据得到的降噪系数及预设规则为各路所述待处理音频数据设定对应的滤波系数;
针对各路所述待处理音频数据,获得所述待处理音频数据中的多个第二采样点,判断各所述第二采样点的绝对值是否大于所述滤波系数;
若所述第二采样点的绝对值大于所述滤波系数,则保持所述第二采样点的值不变,且降低所述降噪系数;
若所述第二采样点的绝对值等于或小于所述滤波系数,则将所述第二采样点的值置零,且增大所述降噪系数;
根据处理后得到的多个第二采样点获得所述待处理音频数据对应的待混音音频数据。
进一步地,所述根据得到的所述降噪系数及预设规则为各路所述待处理音频数据设定对应的滤波系数的步骤包括:
获得各路所述待处理音频数据中的当前第二采样点;
获得多个当前第二采样点中的最大值;
获得各所述当前第二采样点对应的降噪系数;
根据得到的最大值、各所述当前第二采样点对应的降噪系数及待处理音频数据的总路数并按以下公式为各路所述待处理音频数据设定对应的滤波系数:
fc[i]=audiomax×nrc[i]×f(n),i∈[0,n-1]
其中,fc[i]为第i路待处理音频数据对应的滤波系数,audiomax为所述最大值,nrc[i]为第i路待处理音频数据中当前第二采样点对应的降噪系数,n为待处理音频数据的总路数,n越大f(n)的值越大。
进一步地,所述得到待混音音频数据的步骤之后,所述方法还包括:
获得各路所述待混音音频数据中的当前第三采样点;
根据预设采样精度获得所述当前第三采样点可取得的最大值和最小值;
对多个所述当前第三采样点进行累加操作,以获得累加值;
将衰减因子与所述累加值相乘,并判断得到的乘积是否处于所述最小值和所述最大值之间;
若所述乘积处于所述最小值和所述最大值之间,则保持所述衰减因子和所述累加值不变;
若未处于所述最小值和所述最大值之间,则根据所述最大值或最小值对所述衰减因子及所述累加值进行调整;
根据调整后得到的累加值获得多路待混音音频数据对应的目标音频数据。
进一步地,所述根据所述最大值或最小值对所述衰减因子及所述累加值进行调整的步骤,包括:
在所述乘积小于或等于所述最小值时,将所述衰减因子置为所述最小值与所述累加值的比值,并将所述累加值置为所述最小值;
在所述乘积大于或等于所述最大值时,将所述衰减因子置为所述最大值与所述累加值的比值,并将所述累加值置为所述最大值。
进一步地,所述根据调整后得到的累加值获得多路待混音音频数据对应的目标音频数据的步骤之后,所述方法还包括:
获得待处理视频数据;
分别对所述待处理视频数据及所述目标音频数据进行编码,获得编码视频数据及编码音频数据;
合并所述编码音频数据及编码视频数据。
本申请实施例还提供一种音视频数据处理装置,所述装置包括:
获得模块,用于获得多路待处理音频数据;
降噪模块,用于针对各路所述待处理音频数据,根据所述待处理音频数据设定降噪系数;
滤波模块,用于针对各路所述待处理音频数据,根据得到的所述降噪系数及预设规则设定对应的滤波系数,利用所述滤波系数对所述待处理音频数据进行滤波,得到待混音音频数据。
进一步地,所述降噪模块用于通过以下方式设定所述降噪系数:
针对各路所述待处理音频数据,获得所述待处理音频数据的当前第一采样点的值,并获得所述当前第一采样点对应的降噪系数;
根据所述当前第一采样点的值判断所述当前第一采样点是否是噪声点;
若所述当前第一采样点为噪声点,则增大所述降噪系数,若所述当前第一采样点不为噪声点,则降低所述降噪系数。
进一步地,所述滤波模块用于通过以下方式获得待混音音频数据:
根据得到的所述降噪系数及预设规则为各路所述待处理音频数据设定对应的滤波系数;
针对各路所述待处理音频数据,获得所述待处理音频数据中的多个第二采样点,判断各所述第二采样点的绝对值是否大于所述滤波系数;
若所述第二采样点的绝对值大于所述滤波系数,则保持所述第二采样点的值不变,且降低所述降噪系数;
若所述第二采样点的绝对值等于或小于所述滤波系数,则将所述第二采样点的值置零,且增大所述降噪系数;
根据处理后得到的多个第二采样点获得所述待处理音频数据对应的待混音音频数据。
相对于现有技术而言,本申请具有以下有益效果:
本申请实施例提供了一种音视频数据处理方法及装置,在获得多路待处理音频数据后,针对各路待处理音频数据,根据该待处理音频数据设定对应的降噪系数。再针对得到的各路待处理音频数据,根据得到的所述降噪系数及预设规则设定对应的滤波系数,利用所述滤波系数对所述待处理音频数据进行滤波,得到待混音音频数据。如此,通过对待处理音频数据进行降噪、滤波及混音处理,有效降低噪声,改善了后续在视频文件中存在多路对讲音频时,出现的播放不连续及音量较低的问题,提高了用户体验。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的视频对讲设备的结构框图。
图2为本申请实施例提供的音视频数据处理方法的流程图之一。
图3为本申请实施例提供的音视频数据处理方法的流程图之二。
图4为本申请实施例提供的音视频数据处理方法的流程图之三。
图5为本申请实施例提供的音视频数据处理装置的功能模块框图。
图标:100-视频对讲设备;110-音视频数据处理装置;111-获得模块;112-降噪模块;113-滤波模块;120-处理器;130-存储器。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
经研究发现,通常对音频的处理方案一般包括两种,一种是使用自适应加权混音算法。具体为将待处理的所有路的音频数据依次相加,使用更长的采集位数,如32bit(binarydigit,比特),存储待处理的所有路的音频数据相加后的值,在混音操作结束后通过改变振幅的方式,调整为原有的采集位数(如16bit)。为避免发生溢出且保证混合后的音频数据较为平缓的变化,使用衰减因子控制音频的溢出,使用步长(一般由当前衰减因子的值决定)的方式控制音频平缓变化。当发生溢出时,衰减因子减小,使得溢出的数据在衰减后处于临界值内,而在没有溢出时,衰减因子慢慢增大,使得数据较为平滑的变化。
上述方案在多路音频数据的音量差距不大的时候,能够较好的还原音频混合的结果,但是当某一路或者多路音频数据的音量较小时,会导致混合音频音量偏小的问题。
另一种处理方案则是采用平均混合法。具体为将所有路的音频数据依次相加,使用更长的采集位数(如32bit)存储相加后的值,然后使用相加后的值除以音频路数,调整为原有的采集位数(如16bit)。这种方法可以保证混合后的音频数据不会产生溢出,同时在音频路数较少的时候(低于4路),较清晰的反应出真实的音频数据。
但是上述方案在音频路数较多的时候,由于将每路音频音量按照相同比例削减,导致混合后的音频音量较低,且随着音频路数的增多,音量降低明显,不具备普适性。
请参阅图1,基于上述研究发现,本申请实施例提供一种视频对讲设备100,包括处理器120、存储器130、音视频数据处理装置110及总线,所述存储器130存储有所述处理器120可执行的机器可读指令,当视频对讲设备100运行时,所述处理器120及所述存储器130之间通过总线通信,所述处理器120执行所述机器可读指令,并执行音视频数据处理方法的步骤。
视频对讲设备100可以是个人电脑、手机或网络摄像机(ipcamera)中的一种或多种。
可以理解,图1所示的结构仅为示意,所述视频对讲设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
请参阅图2,本申请实施例提供了一种音视频数据处理方法,所述音视频数据处理方法应用于图1中所示的视频对讲设备100,下面对该方法的各个步骤进行详细阐述。
s1,获得多路待处理音频数据。
在一种实施方式中,待处理音频数据可以是视频对讲设备100中的拾音器采集现场的环境声音得到。待处理音频数据中,可能包含多路有效音频数据(用户的通话声音)和无效的噪音数据(环境中的背景噪声或其他与通话无关的干扰噪声)。
s2,针对各路所述待处理音频数据,根据所述待处理音频数据设定降噪系数。
在一种实施方式中,提前设定初始降噪系数为0%,待处理音频数据的路数为n,采样精度为16bit,采样频率为8khz。可以理解的是,所述采样精度还可以是32bit,采样频率还可以是11.024khz、16khz、44.1khz等。
其中,采样精度决定了所述待处理音频数据采样后的声音波形幅度的精度,当设定采样精度为16bit时,则采样后的采样点的值可以在-32768到32767的范围内。采样频率则决定了每一秒从连续的音频数据中提取并组成离散信号的采样个数。也可以理解为采样点之间的时间间隔。
具体地,针对各路所述待处理音频数据,可通过间隔预设时长进行采样的方式对待处理音频数据进行采样。其中,采样后的待处理音频数据可包括多个第一采样点,针对待处理音频数据中的当前第一采样点,可获得所述待处理音频数据的当前第一采样点的值,并获得所述当前第一采样点对应的降噪系数。
特别地,对于待处理音频数据的第一个所述第一采样点来说,其对应的降噪系数为提前设定的初始降噪系数。待处理音频数据中除第一个第一采样点之外的其他第一采样点,则其对应的降噪系数是根据其上一个第一采样点的具体信息获得的。可选地,可根据所述当前第一采样点的值判断所述当前第一采样点是否是噪声点。具体地,若所述当前第一采样点的值小于预设判断值,则确定所述当前第一采样点为噪声点,相反,则可确定所述当前第一采样点不为噪声点。
若所述当前第一采样点为噪声点,则增大所述降噪系数,若所述当前第一采样点不为噪声点,则降低所述降噪系数。如此,根据此规则获得每个第一采样点对应的降噪系数。
在一种实施方式中,上述步骤可以由以下公式获得。
nrc[i]=nrc[i]+flag[i]*μ,i∈[1,n]
其中,nrc[i]为第i路待处理音频数据对应的降噪系数,μ为每一次降噪系数调整的幅度,可以为5%。flag[i]为标志位数组。
具体地,若所述当前第一采样点为噪声点,需要增大当前第一采样点的下一个采样点对应的降噪系数,则使得flag[i]=1。若所述当前第一采样点不为噪声点,需要降低所述降噪系数,则使得flag[i]=-1。
特别的,在本申请实施例中,所述降噪系数的值域为[0%,30%],即,当通过上述步骤得到的某一个第一采样点对应的降噪系数小于0%时,即认为此降噪系数为0%,当通过上述步骤得到的某一个第一采样点对应的降噪系数大于30%时,即认为此降噪系数为30%。此边界设定避免了降噪系数过大或过小,使得通过降噪最终获得的待混音音频数据被过度处理,导致音频数据受损的问题。
在另一种实施方式中,根据所述待处理音频数据设定降噪系数的方式还可以是,预先设定判断降噪系数的采样点数量q1,在[0,q1]的采样点区间内,降噪系数相同,若在采样点区间[0,q1]内被过滤的采样点数量超过预设数值q2,则可以认为该路待处理音频数据噪声较多,在下一个采样区间内,提升降噪系数,反之,则降低降噪系数。
这种使用一定范围内的采样点被过滤次数作为提升或降低降噪系数的前提条件的方式,能够更客观的调整某路待处理音频数据当前采样点的降噪系数,一定程度上能够改善单点音频数据不准确造成的调整误差。
通过各路所述待处理音频数据中的各个第一采样点动态调整降噪系数,并根据该降噪系数对所述待处理音频数据进行降噪处理能够有效降低多路音频中的噪声,尽可能还原真实有效的声音。
s3,针对各路所述待处理音频数据,根据得到的所述降噪系数及预设规则设定对应的滤波系数,利用所述滤波系数对所述待处理音频数据进行滤波,得到待混音音频数据。
首先,根据得到的所述降噪系数及预设规则设定滤波系数的具体步骤如下。
通过上述步骤获得所述降噪系数后再次获得各路所述待处理音频数据中的当前第二采样点。可以理解的是,所述第二采样点与所述第一采样点一致,此处采用第二采样点命名仅为与获得降噪系数时的第一采样点做名称上的区分。
获得多个当前第二采样点中的最大值,即多路待处理音频数据中当前最大的第二采样点。可通过以下公式获得多个当前第二采样点中的最大值。
audiomax=max(audio[i][j]),i∈[0,n]
其中,audiomax为多个当前第二采样点中的最大值。audio[i][j]为第i路音频的第j个第二采样点。
在另一种方式中,所述最大值还可以根据预设的的采样精度决定,例如,当前预设的采样精度为16bit,则所述最大值为215-1=32767。
接着,获得各所述当前第二采样点对应的降噪系数。
其中,在一种实施方式中,可根据得到的最大值、各所述当前第二采样点对应的降噪系数及待处理音频数据的总路数并按以下公式设定滤波系数:
fc[i]=audiomax×nrc[i]×f(n),∈[1,n]
其中,fc[i]为第i路待处理音频数据对应的滤波系数,audiomax为所述最大值,nrc[i]为第i路待处理音频数据中当前第二采样点对应的降噪系数,n为待处理音频数据的总路数,n越大f(n)的值越大。作为一种实施方式,f(n)可以是,
由公式可以看出,滤波系数由得到的最大值、各所述当前第二采样点对应的降噪系数及待处理音频数据的总路数共同决定。这里使用待处理音频数据的总路数n做滤波力度控制,在相同降噪系数的情况下,音频数量越多,滤波力度越大。
接着,针对各路所述待处理音频数据,获得所述待处理音频数据中的多个第二采样点,判断各所述第二采样点的绝对值是否大于所述滤波系数。
若所述第二采样点的绝对值大于所述滤波系数,则保持所述第二采样点的值不变,且降低所述降噪系数,即,使得降噪标志位flag[i]=-1。
若所述第二采样点的绝对值等于或小于所述滤波系数,为提高运算效率,则将所述第二采样点的值置零,且增大所述降噪系数,即,将降噪标志位flag[i]置为1。
需要理解的是,当某一第二采样点的绝对值大于滤波系数,则认为该第二采样点是有效数据,需要在当前第二采样点的下一个第二采样点对应的降噪系数降低,即,使得降噪标志位flag[i]=-1。同样的,当某一第二采样点的绝对值小于滤波系数,则认为该第二采样点是噪音数据,需要在当前第二采样点的下一个第二采样点对应的降噪系数增加,即将降噪标志位flag[i]置为1。
根据处理后得到的多个第二采样点获得所述待处理音频数据对应的待混音音频数据。
通过根据各路待处理音频数据的降噪系数、待处理音频数据路数及当前采样点的最大值共同动态调节滤波系数,将绝对值小于滤波系数的采样点过滤(即将待滤波数据中的无效音频数据滤除),完成对所述待处理音频数据的滤波操作,得到对应的待混音音频数据。可以有效的避免存在某一路音频数据采样点数据过小,在混音处理后导致整体的音频播放音量较低的缺陷,且进一步改善混音处理后的音频中存在噪声的问题。
请参阅图3,本申请实施例中,在通过以上步骤得到待混音音频数据之后,可对得到的待混音音频进行混音处理,具体可通过以下步骤进行:
s41,获得各路所述待混音音频数据中的当前第三采样点。
s42,根据预设采样精度获得所述当前第三采样点可取得的最大值和最小值。
获得各路待混音音频数据对应的多个第三采样点。假设预设采样精度为16bit,则针对各路待混音音频数据中的当前第三采样点,该当前第三采样点可取得的最大值max为215-1=32767,可取得的最小值min为-215=-32768。
s43,对多个所述当前第三采样点进行累加操作,以获得累加值。
通过以下公式计算得到所述累加值。
其中,mix[j]为所述累加值,audio[i][j]为第i路待混音音频数据的第j个第三采样点。其中,i的取值范围为[1,n],j的取值范围根据当前采样点的采样频率确定。
s44,将衰减因子与所述累加值相乘,并判断得到的乘积是否处于所述最小值和所述最大值之间。若所述乘积处于所述最小值和所述最大值之间,则执行s45。若未处于所述最小值和所述最大值之间,则执行s46。
其中,在本申请实施例中,预设衰减因子的初始值为1。具体地,通过以下公式获得衰减因子与所述累加值的乘积。
df*mix[j]
其中,df为衰减因子。
s45,保持所述衰减因子和所述累加值不变。
s46,根据所述最大值或最小值对所述衰减因子及所述累加值进行调整。
具体地,在所述乘积小于或等于所述最小值时,将所述衰减因子置为所述最小值与所述累加值的比值,并将所述累加值置为所述最小值。
即,若df*mix[j]≤min,则
在所述乘积大于或等于所述最大值时,将所述衰减因子置为所述最大值与所述累加值的比值,并将所述累加值置为所述最大值。
即,若df*mix[j]≥max,则
s47,根据调整后得到的累加值获得多路待混音音频数据对应的目标音频数据。
在一种实施方式中,通过图3所示的s41-s47处理之后,还可以通过以下公式实现动态调整衰减因子的值,达到平滑过渡的效果。
其中,df为衰减因子,除以16是因为当前预设采样精度为16bit。可以理解,采样精度可以根据实际情况调整。可以理解的是,通过该公式调整之后的衰减因子是下一个第三采样点对应的衰减因子的初始值。
请参阅图4,本申请实施例在上述步骤获得可靠的目标音频数据后,所述方法还包括:
s100,获得待处理视频数据。
s200,分别对所述待处理视频数据及所述目标音频数据进行编码,获得编码视频数据及编码音频数据。
s300,合并所述编码音频数据及编码视频数据。
在本申请实施例中,利用mediacodec(编码器/解码器)技术对获得的目标音频数据和待处理视频数据进行编码操作。可以将目标音频数据编码为aac(advancedaudiocoding,高级音频编码)格式,待处理视频数据编码为avc(advancedvideocoding,高级视频编码)格式,编码完成后,通过muxer(合并)技术写入文件中,生成最终的mp4文件。
使用这种方式生成的视频文件,由于存储的是混合的音频流及视频流,未破坏音频作为振动波的特性,播放时不会出现断断续续的问题,由于对音频进行了降噪、滤波及混音处理,可以有效减少噪音的影响且不会影响音频质量,播放时更突出环境真实声音。
请参阅图5,本申请实施例还提供一种音视频数据处理装置110,所述装置包括:
获得模块111,用于获得多路待处理音频数据。
关于获得模块111的实现方式可以参阅图2中s1的相关描述,在此不做赘述。
降噪模块112,用于针对各路所述待处理音频数据,根据所述待处理音频数据设定降噪系数。
关于降噪模块112的实现方式可以参阅图2中s2的相关描述,在此不做赘述。
滤波模块113,用于针对各路所述待处理音频数据,根据得到的所述降噪系数及预设规则设定对应的滤波系数,利用所述滤波系数对所述待处理音频数据进行滤波,得到待混音音频数据。
关于滤波模块113的实现方式可以参阅图2中s3的相关描述,在此不做赘述。
可选地,在本实施例中,所述降噪模块112具体可以用于通过以下方式设定所述降噪系数:
针对各路所述待处理音频数据,获得所述待处理音频数据的当前第一采样点的值,并获得所述当前第一采样点对应的降噪系数。
根据所述当前第一采样点的值判断所述当前第一采样点是否是噪声点。
若所述当前第一采样点为噪声点,则增大所述降噪系数,若所述当前第一采样点不为噪声点,则降低所述降噪系数。
可选地,在本实施例中,所述滤波模块113具体可以用于通过以下方式获得待混音音频数据:
根据得到的所述降噪系数及预设规则为各路所述待处理音频数据设定对应的滤波系数。
针对各路所述待处理音频数据,获得所述待处理音频数据中的多个第二采样点,判断各所述第二采样点的绝对值是否大于所述滤波系数。
若所述第二采样点的绝对值大于所述滤波系数,则保持所述第二采样点的值不变,且降低所述降噪系数。
若所述第二采样点的绝对值等于或小于所述滤波系数,则将所述第二采样点的值置零,且增大所述降噪系数。
根据处理后得到的多个第二采样点获得所述待处理音频数据对应的待混音音频数据。
综上所述,本申请实施例提供了一种音视频数据处理方法及装置,在获得多路待处理音频数据后,针对各路待处理音频数据,根据所述待处理音频数据设定对应的降噪系数。再针对各路所述待处理音频数据,根据得到的所述降噪系数及预设规则设定对应的滤波系数,利用所述滤波系数对所述待处理音频数据进行滤波,得到待混音音频数据。如此,通过对待处理音频数据进行降噪、滤波及混音处理,有效降低噪声,改善了后续在视频文件中存在多路对讲音频时,出现的播放不连续及音量较低的问题,提高了用户体验。
以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除