一种用于音频中筛选重复广告片段并生成毛音频的方法
技术领域
本发明涉及一种音频筛选和制作的方法,具体地,涉及一种用于音频中筛选重复广告片段并生成毛音频的方法。
背景技术
随着全球市场经济进一步向纵深发展,企业和商家的广告投入日益加大,视音频媒体的各种广告铺天盖地,但广告的漏播、断播或播出质量差、任意变动播出时间和次数等非正常现象却屡见不鲜。
然而,目前的视音频媒体广告尚缺少一种有效的技术监督和检测手段。在现有的技术中,广告自动检测在日常生活中扮演了越来越重要的角色。例如:从电视终端用户来看,在录制节目时自动滤掉广告,将会大大提高用户舒适度和效率;对于刊登广告者和公司而言,自动检测特定的广告将能有效地验证广告公司履行合同情况;对于社会公共机构而言,广告自动检测能够帮助检测违规广告等等。但这种方法也存在不足,随着广告与互联网技术的发展,目前的广告自动检测技术在准确率上明显偏低,并且存在着检测所需数据量大,计算量非常大,速度比较慢,很难实现实时性能等缺陷。
而为了能够了解广告的播出效果,我们就必须对广告发布进行跟踪和分析。例如:一位广告商购买了每天特定时间的广告,他需要确实且客观的知道广告是否在该特定时间内播出,是否被插入了其他广告商的广告,是否按照既定的方式进行了播出。
在现阶段,并没有一个非常好的方法实现上述问题。在大多数情况下,人们只能够相信广告代理商或者发布方提供的数据。但由于经济利益的问题和信息的不对称性,代理商或发布方常常不报告真实的情况,而尽量报告对自己有利的信息。对于期望获得服务的一方,只能靠人工的抽查来进行个别问题的发现。如果不愿意投入人力的话,就只能相信广告代理商或者发布方提供的报告。
由此可见,为了解决上述问题,首先就需要一种能够有效地在音频中筛选重复广告片段并进行提取的方法。
发明内容
本发明的目的是提供一种音频筛选和制作的方法,能够解决现有的问题,有效地在音频中筛选重复广告片段并进行提取。
为了达到上述目的,本发明提供了一种用于音频中筛选重复广告片段并生成毛音频的方法,其中,所述的方法包含:步骤1,音频采集存储;步骤2,对所有音频进行点位和特征提取;步骤3,对所有点位按特征进行聚类(clustering);步骤4,以上述每一个聚类为一个节点生成有向图,称为商图;步骤5,把商图中节点对应的前后相连的片段连缀成串;步骤6,对上述图检测所有最大线性子图,也就是中间不带分叉的一串相连的节点;每个所述的子图对应一个无歧义重复音频片段,作为种子毛音频;步骤7,对代表种子毛音频的子图进行剪枝;步骤8,在全音频中对种子毛音频进行搜索,取得所有匹配的原始音频片段;步骤9,取上述音频片段的中心片段;步骤10,对中心片段按左右延长,直到无法与别的片段匹配;步骤11,扩展后的中心片段为最终生成的一个毛音频。即重复音频片段。
上述的用于音频中筛选重复广告片段并生成毛音频的方法,其中,所述的步骤1中的音频采集存储,采取集群分布式策略,在降低成本的同时保证搜索速度。
上述的用于音频中筛选重复广告片段并生成毛音频的方法,其中,所述的步骤2中的点位和特征提取的过程如下:步骤2.1,确定特征点位。点位是指电台频率和时间点,以对应广告播出的开始时间。具体为:将音频格式转换为单声道,重采样为8000Hz;对音频加滑动窗口后计算短时傅立叶变换(STFT),转换为频谱(spectrogram);计算上述频谱每个时间点特定频率的能量值,以800Hz为中心,20Hz为σ(sigma,标准差),5个σ(sigma,标准差)之内按正态分布函数对能量进行加权平均;对上述能量值曲线在滑动窗口内取极大值,极大值对应的时间点即为特征点位,滑动窗口的滑动间隔为0.02秒,窗口长度为0.25秒。步骤2.2,提取特征。对每个特征点位按如下算法提取特征,具体为:从点位时间起计算频谱短时傅立叶变换(STFT)的窗口为0.371秒,滑动间隔为0.0116秒,连续128个窗口;将频谱能量范围按对数坐标刻度(log scale,对指数级别的数据进行对数运算以后的标尺或坐标刻度)分为31个区间;每个频谱对应128×31个二维区域,在频谱上计算能量得到尺寸为128×31的矩阵;对上述矩阵进行小波变换;把上述结果中值最大的200个元素置1,其余元素置零得到128×31的0/1矩阵;对上述矩阵进行200维最小哈希算法(MinHash)得到200维向量;对上述向量的200维按4维一组进行分组得到50组,只取其前48组,每一组按算术编码进行编码,并对编码截断只取其前一个字节,由此将200维向量缩减为48维字节向量,作为最终特征向量;匹配两个点位时,对其相似性使用汉明(Hamming)距离不同的字节个数。步骤2.3,特征搜索。特征搜索包括逐个比对和快速检索两种。逐个比对(brutal force)在比对时支持一定(小范围)的时间空间压缩和拉伸。快速检索(Indexing)是使用局部敏感哈希算法(Locality Sensitive Hashing,LSH)压缩特征向量,建立可以驻留内存的索引,以实现高速近似搜索。步骤2.4,音频搜索优化。音频搜索优化是将搜索音频进行预压缩和拉伸,以找到相应的广告播出点位。
上述的用于音频中筛选重复广告片段并生成毛音频的方法,其中,所述的步骤3中的聚类,每一类包括的是重复音频在相同时间点提取的特征。
上述的用于音频中筛选重复广告片段并生成毛音频的方法,其中,所述的步骤4中的商图的一个节点对应一个特征时间长度约为2秒的重复音频片段。
上述的用于音频中筛选重复广告片段并生成毛音频的方法,其中,所述的步骤5中向商图中添加有向边算法,所述的有向边算法为:如果节点A对应的聚类包含具体音频时间点a,节点B对应的聚类包含时间点b,并且b在a之后0.4秒之内则增加A到B的有向边;所述的有向边代表AB是同一重复音频前后相邻的两个特征。
上述的用于音频中筛选重复广告片段并生成毛音频的方法,其中,所述的步骤6中的分叉代表在不同的实例中重复片段前后播放的不同内容。
上述的用于音频中筛选重复广告片段并生成毛音频的方法,其中,所述的步骤7中的剪枝为:如果从节点A到Z有两条平行的路径则删除较短的一条重复检测。较短的一条质量较差。注意种子毛音频的特征一般比原始音频对应片段的特征稀疏,因为有些特征没有聚上类在图检测过程中丢失了。为了避免上述检测产生的种子毛音频过于重复琐碎需要对图进行剪枝。
上述的用于音频中筛选重复广告片段并生成毛音频的方法,其中,所述的步骤8中将所有匹配的原始音频片段的集合记为S,如果匹配数小于4则认为该音频重复次数较少予以丢弃。这些匹配的原始音频片段互相重复但因为噪音特征无法完全匹配。
上述的用于音频中筛选重复广告片段并生成毛音频的方法,其中,所述的步骤10中的中心片段按左右延长的算法为:将原始音频片段的中心片段记为c,即medoid,也就是于其余片段匹配最好的片段,S中任意片段s与c都包含种子片段,从对应种子片段头部和尾部的时间点往前后匹配直至无法匹配,得到扩展时间t,S中除c以外的片段全都计算后得到|S|-1个t,即N个t,取这些t中最典型值为最终扩展距离。因为种子毛音频特征比较稀疏所以种子毛音频的起止点范围并不准确。可以往左右分别追加特征看是否还能与别的片段匹配。
上述的用于音频中筛选重复广告片段并生成毛音频的方法,其中,N个t取所述的最典型值的算法为:确定区间[0, max(t)],对于每个t都对区间按以t为中心、σ(sigma,标准差)为0.4秒的正态分布进行加权,最后取权重最高的位置。
上述的用于音频中筛选重复广告片段并生成毛音频的方法,其中,所述的方法还包含对毛音频分拣点位搜索。对于人工标注的广告毛音频,做正常的音频搜索,以找到对应的所有播出点位。
本发明提供的用于音频中筛选重复广告片段并生成毛音频的方法具有以下优点:
本发明具有监播提取竞品的功能,能够自动将连续录制的广播中的广告“硬广”提取出来,不需要事先提供广告音频片段,基本原理是利用广告一般都是重复播放的,需要把连续音频流中的反复出现的短音频片段寻找出来,作为“毛音频”提供给下一步的人工分拣系统打标签及别的处理。该方法具有应用范围广、准确率高的优点,极大的提高了广告音频的检测效率。
附图说明
图1为本发明的用于音频中筛选重复广告片段并生成毛音频的方法的流程示意图。
图2为本发明的用于音频中筛选重复广告片段并生成毛音频的方法的例图。
具体实施方式
以下结合附图对本发明的具体实施方式作进一步地说明。
如图1所示,本发明提供的用于音频中筛选重复广告片段并生成毛音频的方法,包含以下步骤:
步骤1,音频采集存储;步骤2,对所有音频进行点位和特征提取;步骤3,对所有点位按特征进行聚类(clustering);步骤4,以上述每一个聚类为一个节点生成有向图,称为商图;步骤5,把商图中节点对应的前后相连的片段连缀成串;步骤6,对上述图检测所有最大线性子图,也就是中间不带分叉的一串相连的节点;每个子图对应一个无歧义重复音频片段,作为种子毛音频;步骤7,对代表种子毛音频的子图进行剪枝;步骤8,在全音频中对种子毛音频进行搜索,取得所有匹配的原始音频片段;步骤9,取上述音频片段的中心片段;步骤10,对中心片段按左右延长,直到无法与别的片段匹配;步骤11,扩展后的中心片段为最终生成的一个毛音频,即重复音频片段。
步骤3中的聚类,每一类包括的是重复音频在相同时间点提取的特征。
步骤4中的商图的一个节点对应一个特征时间长度约为2秒的重复音频片段。
步骤5中向商图中添加有向边算法,有向边算法为:如果节点A对应的聚类包含具体音频时间点a,节点B对应的聚类包含时间点b,并且b在a之后0.4秒之内则增加A到B的有向边;有向边代表AB是同一重复音频前后相邻的两个特征。
步骤6中的分叉代表在不同的实例中重复片段前后播放的不同内容。
步骤7中的剪枝为:如果从节点A到Z有两条平行的路径则删除较短的一条重复检测。
步骤8中将所有匹配的原始音频片段的集合记为S,如果匹配数小于4则认为该音频重复次数较少予以丢弃。
步骤10中的中心片段按左右延长的算法为:将原始音频片段的中心片段记为c,S中任意片段s与c都包含种子片段,从对应种子片段头部和尾部的时间点往前后匹配直至无法匹配,得到扩展时间t,S中除c以外的片段全都计算后得到|S|-1个t,即N个t,取这些t中最典型值为最终扩展距离。
N个t取最典型值的算法为:确定区间[0, max(t)],对于每个t都对区间按以t为中心、σ(sigma,标准差)为0.4秒的正态分布进行加权,最后取权重最高的位置。
该方法还包含对毛音频分拣点位搜索。对于人工标注的广告毛音频,做正常的音频搜索,以找到对应的所有播出点位。
下面结合实施例对本发明提供的用于音频中筛选重复广告片段并生成毛音频的方法做更进一步描述。
实施例1
一种用于音频中筛选重复广告片段并生成毛音频的方法,如下所述。
步骤1,音频采集存储。采取集群分布式策略,在降低成本的同时保证搜索速度。
步骤2,对所有音频进行点位和特征提取。点位和特征提取的过程如下:
步骤2.1,确定特征点位。点位是指电台频率和时间点,以对应广告播出的开始时间。具体为:将音频格式转换为单声道,重采样为8000Hz;对音频加滑动窗口后计算短时傅立叶变换(STFT),转换为频谱(spectrogram);计算上述频谱每个时间点特定频率的能量值,以800Hz为中心,20Hz为σ(sigma,标准差),5个σ(sigma,标准差)之内按正态分布函数对能量进行加权平均;对上述能量值曲线在滑动窗口内取极大值,极大值对应的时间点即为特征点位,滑动窗口的滑动间隔为0.02秒,窗口长度为0.25秒。
步骤2.2,提取特征。对每个特征点位按如下算法提取特征,具体为:从点位时间起计算频谱短时傅立叶变换(STFT)的窗口为0.371秒,滑动间隔为0.0116秒,连续128个窗口;将频谱能量范围按对数坐标刻度(log scale,对指数级别的数据进行对数运算以后的标尺或坐标刻度)分为31个区间;每个频谱对应128×31个二维区域,在频谱上计算能量得到尺寸为128×31的矩阵;对上述矩阵进行小波变换;把上述结果中值最大的200个元素置1,其余元素置零得到128×31的0/1矩阵;对上述矩阵进行200维最小哈希算法(MinHash)得到200维向量;对上述向量的200维按4维一组进行分组得到50组,只取其前48组,每一组按算术编码进行编码,并对编码截断只取其前一个字节,由此将200维向量缩减为48维字节向量,作为最终特征向量;匹配两个点位时,对其相似性使用汉明(Hamming)距离不同的字节个数。
步骤2.3,特征搜索。特征搜索包括逐个比对和快速检索两种。逐个比对(brutalforce)在比对时支持一定(小范围)的时间空间压缩和拉伸。快速检索(Indexing)是使用局部敏感哈希算法(Locality Sensitive Hashing,LSH)压缩特征向量,建立可以驻留内存的索引,以实现高速近似搜索。
步骤2.4,音频搜索优化。音频搜索优化是将搜索音频进行预压缩和拉伸,以找到相应的广告播出点位。
步骤3,对所有点位按特征进行聚类(clustering)。每一类包括的是重复音频在相同时间点提取的特征。
步骤4,以上述每一个聚类为一个节点生成有向图,称为商图。商图的一个节点对应一个特征时间长度约为2秒的重复音频片段。
步骤5,把商图中节点对应的前后相连的片段连缀成串。向商图中添加有向边算法,有向边算法为:如果节点A对应的聚类包含具体音频时间点a,节点B对应的聚类包含时间点b,并且b在a之后0.4秒之内则增加A到B的有向边;有向边代表AB是同一重复音频前后相邻的两个特征。
步骤6,对上述图检测所有最大线性子图,也就是中间不带分叉的一串相连的节点;每个子图对应一个无歧义重复音频片段,作为种子毛音频。分叉代表在不同的实例中重复片段前后播放的不同内容。
步骤7,对代表种子毛音频的子图进行剪枝。为了避免上述检测产生的种子毛音频过于重复琐碎需要对图进行剪枝。剪枝为:如果从节点A到Z有两条平行的路径则删除较短的一条重复检测。较短的一条质量较差。注意种子毛音频的特征一般比原始音频对应片段的特征稀疏,因为有些特征没有聚上类在图检测过程中丢失了。
步骤8,在全音频中对种子毛音频进行搜索,取得所有匹配的原始音频片段。将所有匹配的原始音频片段的集合记为S,如果匹配数小于4则认为该音频重复次数较少予以丢弃。这些匹配的原始音频片段互相重复但因为噪音特征无法完全匹配。
步骤9,取上述音频片段的中心片段。将原始音频片段的中心片段记为c,即medoid,也就是于其余片段匹配最好的片段。
步骤10,对中心片段按左右延长,直到无法与别的片段匹配。
中心片段按左右延长的算法为:S中任意片段s与c都包含种子片段,从对应种子片段头部和尾部的时间点往前后匹配直至无法匹配,得到扩展时间t,S中除c以外的片段全都计算后得到|S|-1个t,即N个t,取这些t中最典型值为最终扩展距离。因为种子毛音频特征比较稀疏所以种子毛音频的起止点范围并不准确。可以往左右分别追加特征看是否还能与别的片段匹配。
N个t取最典型值的算法为:确定区间[0, max(t)],对于每个t都对区间按以t为中心、σ(sigma,标准差)为0.4秒的正态分布进行加权,最后取权重最高的位置。
步骤11,扩展后的中心片段为最终生成的一个毛音频。即重复音频片段。
毛音频检测流程举例如图2所示,其中,音频1:A-C-D-E,音频2:B-C-D-F,1或2中C-D对应部分音频为毛音频。
该方法还包含对毛音频分拣点位搜索。对于人工标注的广告毛音频,做正常的音频搜索,以找到对应的所有播出点位。
本发明提供的用于音频中筛选重复广告片段并生成毛音频的方法,可以用于企业和商家对自己的商业广告在广播、电视、互联网媒体发布时的自动监播,也适用于政府有关部门对视音频媒体发布方的广告监管和视音频媒体广告经营者的广告播出监控等。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。