一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

音频比对方法和装置、设备与流程

2021-06-11 21:44:00 来源:中国专利 TAG:比对 音频处理 装置 音频 公开
音频比对方法和装置、设备与流程

本公开涉及音频处理技术领域,尤其涉及一种音频比对方法和装置、设备。



背景技术:

在视音频应用中,安全监管,安全播出越来越重要。为了确定接收端收到的视音频数据在传输链路上是否被篡改,可以通过另外一个独立的传输链路将同样的节目传送到接收端,然后通过比对两个传输链路接收到的视音频数据,来判断节目内容是否和节目源保持一致。具体到音频比对,需要对节目的所有声道的所有音频采样进行实时比对,判断其内容的一致性。

同一个节目,通过两个不同的链路传输之后,分别送到两个相同的解码器进行解码输出,其节目进度一般是不一致的。要正确的进行音频比对,需要首先将音频数据内容对齐,也就是找同步。传统比对方法以音频采样为单位进行步进搜索,效率很低。



技术实现要素:

有鉴于此,本公开提出了一种音频比对方法,包括:

获取两个声道的音频数据,将所述音频数据生成原始缓冲数据;

依据所述原始缓冲数据生成划片缓冲数据;

对所述两个声道的所述划片缓冲数据进行同步得到第一同步结果;

依据第一同步结果对所述两个声道的所述原始缓冲数据进行同步得到第二同步结果。

在一种可能的实现方式中,依据所述原始缓冲数据生成划片缓冲数据包括:

将预设帧数的所述原始缓冲数据进行绝对值相加得到一个所述划片缓冲数据。

在一种可能的实现方式中,对所述两个声道的所述划片缓冲数据进行同步得到第一同步结果包括:

在所述两个声道中的第一声道的划片缓冲数据的尾部取预设大小的数据块得到第一划片缓冲数据块;

在所述两个声道中的第二声道的划片缓冲数据中取所述预设大小的数据块得到第二划片缓冲数据块;

将所述第一划片缓冲数据块和所述第二划片缓冲数据块进行归一化处理;

计算所述第一划片缓冲数据块和所述第二划片缓冲数据块的数据差异;

依据所述数据差异移动所述第二声道的数据起始位置。

在一种可能的实现方式中,计算所述第一划片缓冲数据块和所述第二划片缓冲数据块的数据差异包括:

将所述第一划片缓冲数据块和所述第二划片缓冲数据块中的数据取绝对值;

计算所述第一划片缓冲数据块和所述第二划片缓冲数据块中对应的绝对值的差值;

对所述差值取绝对值得到所述差值的绝对值;

将所述差值的绝对值进行累加得到第一累加值;

将所述第一划片缓冲数据块和所述第二划片缓冲数据块的绝对值进行累加得到第二累加值;

根据所述第一累加值和所述第二累加值得到所述数据差异。

在一种可能的实现方式中,将所述第一累加值除以所述第二累加值得到所述数据差异。

在一种可能的实现方式中,依据所述数据差异移动所述第二声道的数据起始位置包括:

在所述第二声道的划片缓冲数据中取所述预设大小的数据块得到新的第二划片缓冲数据块;

计算所述第一划片缓冲数据块和所述第二划片缓冲数据块的最小数据差异;

依据所述最小数据差异移动所述第二声道的数据起始位置。

在一种可能的实现方式中,还包括:

在所述第二声道的划片缓冲数据的尾部取预设大小的数据块得到第三划片缓冲数据块;

在所述第一声道的划片缓冲数据中取所述预设大小的数据块得到第四划片缓冲数据块;

将所述第三划片缓冲数据块和所述第四划片缓冲数据块进行归一化处理;

计算所述第三划片缓冲数据块和所述第四划片缓冲数据块的数据差异;

依据所述数据差异移动所述第一声道的数据起始位置。

在一种可能的实现方式中,依据第一同步结果对所述两个声道的所述原始缓冲数据进行同步得到第二同步结果包括:

依据所述第一同步结果中所述两个声道的数据起始位置得到源声道和目标声道;其中,所述源声道的数据起始位置落后所述目标声道的数据起始位置;

在所述源声道的原始缓冲数据的数据起始位置取预设大小的数据块得到源原始缓冲数据块;

在所述目标声道的原始缓冲数据中取所述预设大小的数据块得到目标原始缓冲数据块;

将所述源原始缓冲数据块和所述目标原始缓冲数据块进行归一化处理;

计算所述源原始缓冲数据块和所述目标原始缓冲数据块的数据差异;

依据所述数据差异移动所述目标声道的数据起始位置。

根据本公开的另一方面,提供了一种音频比对装置,其特征在于,包括音频数据获取模块、划片缓冲数据、第一同步模块和第二同步模块;

所述音频数据获取模块,被配置为获取两个声道的音频数据,将所述音频数据生成原始缓冲数据;

所述划片缓冲数据,被配置为依据所述原始缓冲数据生成划片缓冲数据;

所述第一同步模块,被配置为对所述两个声道的所述划片缓冲数据进行同步得到第一同步结果;

所述第二同步模块,被配置为依据第一同步结果对所述两个声道的所述原始缓冲数据进行同步得到第二同步结果。

根据本公开的另一方面,提供了一种音频比对设备,其特征在于,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述可执行指令时实现前面任一所述的方法。

通过获取两个声道的音频数据,将音频数据生成原始缓冲数据,依据原始缓冲数据生成划片缓冲数据,对两个声道的划片缓冲数据进行同步得到第一同步结果,依据第一同步结果对两个声道的原始缓冲数据进行同步得到第二同步结果。将原始缓冲数据转化为划片缓冲数据进行粗同步搜索,在粗同步的基础上,其搜索范围可以大大减少,以使本公开的计算量之和与传统算法比较,可以大大节省运算量。

根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

附图说明

包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。

图1示出示出本公开实施例的音频比对方法的流程图;

图2示出示出本公开实施例的音频比对方法的另一流程图;

图3示出示出本公开实施例的音频比对装置的框图;

图4示出示出本公开实施例的音频比对设备的框图。

具体实施方式

以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。

图1示出根据本公开一实施例的音频比对方法的流程图。如图1所示,该音频比对方法包括:

步骤s100,获取两个声道的音频数据,将音频数据生成原始缓冲数据,步骤s200,依据原始缓冲数据生成划片缓冲数据,步骤s300,对两个声道的划片缓冲数据进行同步得到第一同步结果,步骤s400,依据第一同步结果对两个声道的原始缓冲数据进行同步得到第二同步结果。

通过获取两个声道的音频数据,将音频数据生成原始缓冲数据,依据原始缓冲数据生成划片缓冲数据,对两个声道的划片缓冲数据进行同步得到第一同步结果,依据第一同步结果对两个声道的原始缓冲数据进行同步得到第二同步结果。将原始缓冲数据转化为划片缓冲数据进行粗同步搜索,在粗同步的基础上,其搜索范围可以大大减少,以使本公开的计算量之和与传统算法比较,可以大大节省运算量。

具体的,参见图1,执行步骤s100,获取两个声道的音频数据,将音频数据生成原始缓冲数据。

在一种可能的实现方式中,参见图2,对于同一个节目,通过两个不同的链路传输,以最新的同步位置作为起点,执行步骤s001,分别在两个声道里面取最多不超过长度为block_size的音频采样数据,执行步骤s002,对两个链路的音频采样输入计算最新的数据差异,执行步骤s003,判断是否同步,在判断两个链路不同步的情况下,首先获取音频输入帧,将音频输入帧(pframes)统一拷贝到音频采样缓冲(pbuf_input),也就生成了原始缓冲数据。

进一步的,参见图1,执行步骤s200,依据原始缓冲数据生成划片缓冲数据。

在一种可能的实现方式中,依据原始缓冲数据生成划片缓冲数据包括:将预设帧数的原始缓冲数据进行绝对值相加得到一个划片缓冲数据。举例来说,由音频采样缓冲(pbuf_input)中的原始缓冲数据计算生成划片缓冲数据(pbuf_slice),具体的,预设帧数(slice_size)为32,将32个原始缓冲数据的绝对值相加,得到一个划片缓冲数据。

进一步的,参见图1,执行步骤s300,对两个声道的划片缓冲数据进行同步得到第一同步结果。

在一种可能的实现方式中,对两个声道的划片缓冲数据进行同步得到第一同步结果包括:在两个声道中的第一声道的划片缓冲数据的尾部取预设大小的数据块得到第一划片缓冲数据块,在两个声道中的第二声道的划片缓冲数据中取预设大小的数据块得到第二划片缓冲数据块,将第一划片缓冲数据块和第二划片缓冲数据块进行归一化处理,计算第一划片缓冲数据块和第二划片缓冲数据块的数据差异,依据数据差异移动第二声道的数据起始位置。其中,预设大小的值的范围为32—128。举例来说,从第一声道的尾部获取一个长度为block_size的原始缓冲数据的数据块,获取该数据块对应的划片缓冲数据得到第一划片缓冲数据块,第一划片缓冲数据块的长度为block_size/slice_size,在第二个声道获取与第一划片缓冲数据块长度相同的第二划片缓冲数据块,将第一划片缓冲数据块和第二划片缓冲数据块进行归一化处理,示例性的,将第一划片缓冲数据块进行归一化处理包括:计算整个数据块的绝对值的平均值,每个采样值除以平均值,得到新的采样值。接着计算第一划片缓冲数据块和第二划片缓冲数据块的数据差异。

在一种可能的实现方式中,计算第一划片缓冲数据块和第二划片缓冲数据块的数据差异包括:将第一划片缓冲数据块和第二划片缓冲数据块中的数据取绝对值,计算第一划片缓冲数据块和第二划片缓冲数据块中对应的绝对值的差值,对差值取绝对值得到差值的绝对值,将差值的绝对值进行累加得到第一累加值,将第一划片缓冲数据块和第二划片缓冲数据块的绝对值进行累加得到第二累加值,将第一累加值除以第二累加值得到数据差异。举例来说,计算第一累加值suma,对第一划片缓冲数据块和第二划片缓冲数据块中的数据取绝对值,然后计算第一划片缓冲数据块和第二划片缓冲数据块中对应项的差值,对差值再取绝对值,进一步的把所有这些差值累加起来,得到suma。计算第二累加值sumb,对第一划片缓冲数据块和第二划片缓冲数据块中的数据取绝对值,将第一划片缓冲数据块和第二划片缓冲数据块中的数据的绝对值累加起来得到sumb。数据差异即为suma/sumb。其中,差异值取值范围为0—1。

在一种可能的实现方式中,依据数据差异移动第二声道的数据起始位置包括:在第二声道的划片缓冲数据中取预设大小的数据块得到新的第二划片缓冲数据块,计算第一划片缓冲数据块和第二划片缓冲数据块的最小数据差异,依据最小数据差异移动第二声道的数据起始位置。也就是说,在第二声道中以相同长度不断取新的第二划片缓冲数据块,与第一划片缓冲数据块进行计算数据差异,在得到所有数据差异之后,取其中的最小数据差异,并根据这个最小数据差异移动第二声道的数据起始位置。也就完成了第一次粗同步搜索(search_coarse_sync)。

在一种可能的实现方式中,还包括:在第二声道的划片缓冲数据的尾部取预设大小的数据块得到第三划片缓冲数据块,在第一声道的划片缓冲数据中取预设大小的数据块得到第四划片缓冲数据块,将第三划片缓冲数据块和第四划片缓冲数据块进行归一化处理,计算第三划片缓冲数据块和第四划片缓冲数据块的数据差异,依据数据差异移动第一声道的数据起始位置。也就是说,还可以将第一声道和第二声道进行对换,再进行一次粗同步搜索,同样会得到一个最小数据差异,将这个最小数据差异与第一次粗同步搜索的最小数据差异进行对比,取更小的最小数据差异作为粗同步搜索最佳结果,并移动相应的声道的数据起始位置,并进行保存得到第一同步结果。

进一步的,参见图1,执行步骤s400,依据第一同步结果对两个声道的原始缓冲数据进行同步得到第二同步结果。

在一种可能的实现方式中,依据第一同步结果对两个声道的原始缓冲数据进行同步得到第二同步结果包括:依据第一同步结果中两个声道的数据起始位置得到源声道和目标声道,其中,源声道的数据起始位置落后目标声道的数据起始位置,在源声道的原始缓冲数据的数据起始位置取预设大小的数据块得到源原始缓冲数据块,在目标声道的原始缓冲数据中取预设大小的数据块得到目标原始缓冲数据块,将源原始缓冲数据块和目标原始缓冲数据块进行归一化处理,计算源原始缓冲数据块和目标原始缓冲数据块的数据差异,依据数据差异移动目标声道的数据起始位置。举例来说,根据粗同步结果,定义音频数据相对落后的声道为源声道(sourcechannel),另外一个声道定义为目标声道(destchannel),以源声道中的粗同步位置为起始点,从音频采样缓冲中取长度为block_size的原始缓冲数据作为源原始缓冲数据块,从目标声道中取同样长度的音频数据块得到目标原始缓冲数据块,将源原始缓冲数据块和目标原始缓冲数据块进行归一化处理,对将源原始缓冲数据块和目标原始缓冲数据块计算数据差异,在粗同步基础上,移动目标声道数据块起始位置。同样的,重新以相同长度在目标声道取目标原始缓冲数据块,获得最小数据差异,以及对应的数据起始偏移。用该偏移修正粗同步搜索后的数据起始位置,得到精同步结果(search_fine_sync),也就是第二同步结果。

需要说明的是,尽管以上述各个步骤作为示例介绍了本公开的音频比对方法如上,但本领域技术人员能够理解,本公开应不限于此。事实上,用户完全可根据个人喜好和/或实际应用场景灵活设定音频比对方法,只要达到所需功能即可。

这样,通过获取两个声道的音频数据,将音频数据生成原始缓冲数据,依据原始缓冲数据生成划片缓冲数据,对两个声道的划片缓冲数据进行同步得到第一同步结果,依据第一同步结果对两个声道的原始缓冲数据进行同步得到第二同步结果。将原始缓冲数据转化为划片缓冲数据进行粗同步搜索,在粗同步的基础上,其搜索范围可以大大减少,以使本公开的计算量之和与传统算法比较,可以大大节省运算量。

进一步的,根据本公开的另一方面,还提供了一种音频比对装置100。由于本公开实施例的音频比对装置100的工作原理与本公开实施例的音频比对方法的原理相同或相似,因此重复之处不再赘述。参见图3,本公开实施例的音频比对装置100包括音频数据获取模块110、划片缓冲数据120、第一同步模块130和第二同步模块140;

音频数据获取模块110,被配置为获取两个声道的音频数据,将音频数据生成原始缓冲数据;

划片缓冲数据120,被配置为依据原始缓冲数据生成划片缓冲数据;

第一同步模块130,被配置为对两个声道的划片缓冲数据进行同步得到第一同步结果;

第二同步模块140,被配置为依据第一同步结果对两个声道的原始缓冲数据进行同步得到第二同步结果。

更进一步地,根据本公开的另一方面,还提供了一种音频比对设备200。参阅图4,本公开实施例音频比对设备200包括处理器210以及用于存储处理器210可执行指令的存储器220。其中,处理器210被配置为执行可执行指令时实现前面任一所述的音频比对方法。

此处,应当指出的是,处理器210的个数可以为一个或多个。同时,在本公开实施例的音频比对设备200中,还可以包括输入装置230和输出装置240。其中,处理器210、存储器220、输入装置230和输出装置240之间可以通过总线连接,也可以通过其他方式连接,此处不进行具体限定。

存储器220作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序和各种模块,如:本公开实施例的音频比对方法所对应的程序或模块。处理器210通过运行存储在存储器220中的软件程序或模块,从而执行音频比对设备200的各种功能应用及数据处理。

输入装置230可用于接收输入的数字或信号。其中,信号可以为产生与设备/终端/服务器的用户设置以及功能控制有关的键信号。输出装置240可以包括显示屏等显示设备。

根据本公开的另一方面,还提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令被处理器210执行时实现前面任一所述的音频比对方法。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜