一种视频背景音乐的版权识别方法
文献发布时间:2023-06-19 18:34:06
技术领域
本发明属于音频检索技术领域,具体涉及一种视频背景音乐的版权识别方法。
背景技术
随着互联网技术的发展及各类音视频应用的普及,观看在线视频内容已经成为一种主流娱乐消遣方式。视频创作者在视频的制作过程中,通常会添加一些背景音乐用于增强视频的情感表达,但却也可能侵犯了相关音乐的版权。
因此对于音乐版权方或视频平台,针对几何级数增长的上传的视频,需要快速准确检测在线视频是否含有侵权内容以维护自身利益。
现有的音频检索技术可分为两类,一类是提取查询片段的各种时频域音频特征,对其建模后得到音频指纹,之后在指纹库中进行基于相似性的快速匹配和查找;另一类是使用深度学习模型提取查询片段的特征向量,之后在特征向量库中进行基于向量距离的快速匹配和查找。
对于现有的音频检索技术,由于用户上传的视频往往不仅仅包括背景音乐,还会含有说话声、物声等噪音,普通的音频检索系统不具备较高的鲁棒性,仅能对单一音源进行检索,因此会造成较大的误差;针对由不同歌曲所拼接而成的背景音乐,普通的音频检索方法无法准确的检索出多首歌曲的信息,以及无法检索出不同歌曲在目标视频中的起止播放位置,导致检索结果的版权识别准确率差的问题。
发明内容
为解决上述技术问题,本发明提出一种视频背景音乐的版权识别方法,包括:
S1:根据已有版权的音乐构建基于特征向量的音频向量库和基于音频指纹的音频指纹库;
S2:提取待识别视频中的音频内容,得到待识别音频,确定待识别音频中包含噪音的音乐片段和无噪音的音乐片段;
S3:将确定出的包含噪音的音乐片段进行音轨分离,得到伴奏音轨信号;
S4:将确定出的无噪音的音乐片段和分离出的伴奏音轨信号设定为待识别音乐片段,并对待识别音乐片段的时长与第一阈值N1进行时长判断,当待识别音乐片段小于第一阈值N1,则该待识别音乐片段只包含一首音乐;当待识别音乐片段大于第一阈值N1,则该待识别音乐片段可能包含多首音乐;
所述第一阈值N1根据视频类型或视频总时长进行设置;
S5:若待识别音乐片段小于第一阈值N1,则在音频向量库和音频指纹库中进行检索,确定该待识别音乐片段中的背景音乐,得到该音乐的版权信息;
S6:若待识别音乐片段大于第一阈值N1,通过设定滑动窗口算法的窗口大小以及滑动步长,对待识别音乐片段按窗口大小进行划分,得到窗口音乐子片段,并对所有窗口音乐子片段进行特征向量提取,得到每个窗口音乐子片段的第一特征向量;
S7:对每个窗口音乐子片段的第一特征向量在音频向量库中进行基于向量距离的相似度检索,得到候选音乐信息,若相邻滑动窗口的候选音乐信息相同,则将候选音乐信息和滑动窗口进行合并,得到检索结果列表;
S8:对检索结果列表进行异常数据检测,对检测出的异常数据进行交叉验证修复,得到修复后的检测结果列表;
S9:遍历检测结果列表,若存在一个列表元素的持续窗口数除以总窗口数大于第三阈值N3,则该列表元素所对应的候选音乐信息为待识别音乐片段所对应的音乐信息,得到该音乐的版权信息;若不存在一个列表元素的持续窗口数除以总窗口数大于第三阈值N3,则该待识别音乐片段中由多段音乐组成,通过在音频向量库和音频指纹库中进行检索,确定该待识别音乐片段中的背景音乐,得到该音乐的初略版权信息;
所述阈值N3的设置根据具体想要达到的效果来进行动态调整;
S10:对确定了初略版权信息的多段音乐组成的待识别音乐片段进行基于向量距离的音频边界检测,确定该待识别音乐片段中的背景音乐的起止播放位置,得到精确的版权信息。
本发明的有益效果:本发明能够降低音频中说话声、物声等噪音对音频检索的影响,并且,本发明在保证歌曲或翻唱检索准确性的同时,能够准确的识别不同歌曲在目标视频中的起止播放位置,能更加精确的确定出多首音乐的版权信息。
附图说明
图1为本发明的整体方案示意图;
图2为本发明中使用滑动窗口算法(Sliding Window Algorithm)对待识别音乐片段按窗口大小进行划分示意图;
图3为本发明中滑动窗口位于某音乐片段内部时的情况示意图;
图4为本发明中滑动窗口位于某两个音乐片段分界时的情况示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种视频背景音乐的版权识别方法,如图1所示,包括:
S1:根据已有版权的音乐构建基于特征向量的音频向量库和基于音频指纹的音频指纹库;
S2:提取待识别视频中的音频内容,得到待识别音频,确定待识别音频中包含噪音的音乐片段和无噪音的音乐片段;
S3:将确定出的包含噪音的音乐片段进行音轨分离,得到伴奏音轨信号;
S4:将确定出的无噪音的音乐片段和分离出的伴奏音轨信号设定为待识别音乐片段,并对待识别音乐片段的时长与第一阈值N1进行时长判断;当待识别音乐片段小于第一阈值N1,则该待识别音乐片段只包含一首音乐;当待识别音乐片段大于第一阈值N1,则该待识别音乐片段可能包含多首音乐;
所述第一阈值N1根据视频类型或视频总时长进行设置;
S5:若待识别音乐片段小于第一阈值N1,则在音频向量库和音频指纹库中进行检索,确定该待识别音乐片段中的背景音乐,得到该音乐的版权信息;
S6:若待识别音乐片段大于第一阈值N1,通过设定滑动窗口算法的窗口大小以及滑动步长,对该待识别音乐片段按窗口大小进行划分,得到窗口音乐子片段,并对所有窗口音乐子片段进行特征向量提取,得到每个窗口音乐子片段的第一特征向量;
S7:对每个窗口音乐子片段的第一特征向量在音频向量库中进行基于向量距离的相似度检索,得到候选音乐信息,若相邻滑动窗口的候选音乐信息相同,则将候选音乐信息和滑动窗口进行合并,得到检索结果列表;
S8:对检索结果列表进行异常数据检测,对检测出的异常数据进行交叉验证修复,得到修复后的检测结果列表;
S9:遍历检测结果列表,若存在一个列表元素的持续窗口数除以总窗口数大于第三阈值N3,则该列表元素所对应的候选音乐信息为该待识别音乐片段所对应的音乐信息,得到该音乐的版权信息;若不存在一个列表元素的持续窗口数除以总窗口数大于第三阈值N3,则该待识别音乐片段中由多段音乐组成,通过在音频向量库和音频指纹库中进行检索,确定该待识别音乐片段中的背景音乐,得到该音乐的初略版权信息;
所述阈值N3的设置根据具体想要达到的效果来进行动态调整;
S10:对确定了初略版权信息的多段音乐组成的待识别音乐片段进行基于向量距离的音频边界检测,确定该待识别音乐片段中的背景音乐的起止播放位置,得到精确的版权信息。
构建基于特征向量的音频向量库和基于音频指纹的音频指纹库,具体包括;
将带有版权的音乐平均分割为S个音乐子片段,提取每个音乐子片段的音高类轮廓或频谱特征,将音乐子片段的音高类轮廓或频谱特征输入特征向量提取神经网络模型提取特征向量,将每个音乐子段提取到的特征向量与音乐信息对应地存入向量数据库中,得到音频向量数据库;
所述特征向量提取神经网络模型可以是Vggish、PANNs、Move模型;
在本实施例中,音乐片段的频谱特征可以是频谱图、梅尔频谱图、梅尔倒频谱以及梅尔频率倒谱系数;
通过短时傅里叶变换提取带有版权的音乐的频谱图,根据频谱图搜索能量极大值作为频域特征点,根据频域特征点构建音频指纹,将音频指纹、该音频指纹在音频中的时间信息以及音乐信息对应地存入数据库中,得到音频指纹库。
确定待识别音频中包含噪音的音乐片段和无噪音的音乐片段,具体包括:
通过对待识别的音频信号进行分帧处理,将音频信号分为预设时长的X段音频信号,每一段音频信号都称为一帧,帧长取10ms至30ms,依次提取每一帧音乐信号的频谱特征,并将该频谱特征输入音频分类神经网络模型,确定待识别音频中的包含噪音的音乐片段和无噪音的音乐片段。
确定待识别音频中的包含噪音的音乐片段和无噪音的音乐片段,具体包括:
音频分类神经网络模型输出每个音频帧包含音乐成分的概率p1,每个音乐帧包含噪音成分(非音乐成分)的概率p2。若概率p1大于某一阈值P,则可以认为该音频帧包含音乐成分;若概率p2大于某一阈值P,则该音频帧包含噪音成分;
若音频分类神经网络模型检测出某一音频帧包含音乐成分的概率p1大于阈值P,且包含噪音成分的概率p2小于阈值P,则该音频帧为无噪音的音频帧;
若音频分类神经网络模型检测出某一音频帧包含音乐成分的概率p1大于阈值P,且包含噪音成分的概率p2大于阈值P,则该音频帧为包含噪音的音频帧;
所述阈值P的设置根据具体想要达到的效果来进行动态调整。
连续的N个无噪音的音频帧即为无噪音的音乐片段,连续的N个包含噪音的音频帧即为含噪音的音乐片段,这里N可以取10、30、60等。
将步骤S2确定出的包含噪音的音乐片段进行音轨分离,得到伴奏音轨信号,具体包括:
对包含噪音的音乐片段进行短时傅里叶变换得到频谱图,对包含噪音的音乐片段进行离散傅里叶变换(Discrete Fourier Transform,DFT)得到幅度谱,将幅度谱输入音轨分离神经网络模型得到伴奏音轨信号所对应的掩蔽矩阵,将该音乐片段的频谱图与掩蔽矩阵相乘后,再进行反傅里叶变换(Inverse Short Time Fourier Transform,ISTFT),得到该音乐片段的伴奏音轨信号。
若待识别音乐片段小于第一阈值N1,则在音频向量库和音频指纹库中进行检索,确定版权,具体包括:
通过特征向量提取神经网络模型提取待识别音乐片段的第一特征向量以及多个第一音频指纹,将第一特征向量在音频向量库中进行基于向量距离的相似度检索,并根据向量距离对检索结果从小到大进行排序,得到K个相似的候选音乐;
根据K个相似的候选音乐在音频指纹库中的音频指纹分别对多个第一音频指纹进行匹配检索,得到匹配音频指纹,计算第一音频指纹的时间信息与其匹配音频指纹的时间信息之间的时间偏差;按照音频指纹所对应的音乐信息对匹配音频指纹进行归类,统计每类音乐信息中相同时间偏差的最大重复次数,获得各类音乐信息中最大重复次数的最大值,该最大重复次数的最大值所对应的音乐信息为该待识别音乐片段所对应的音乐,得到该音乐的版权信息。
向量距离,表示为:
其中,d(x,y)表示x和y之间的欧式距离,x和y分别表示提取窗口音乐子片段的第一特征向量和音频向量库中的特征向量,n表示向量长度,xi表示向量x中的第i个元素,yi表示向量y中的第i个元素。
若待识别音乐片段大于第一阈值N1秒,设定滑动窗口算法(Sliding WindowAlgorithm)的窗口大小以及滑动步长,对该待识别音乐片段按窗口大小进行划分,并对划分后的窗口音乐子片段进行特征向量提取;
如图2所示,使用滑动窗口算法(Sliding Window Algorithm)对待识别音乐片段按窗口大小进行划分。窗口大小以及滑动步长可以根据第一阈值N1秒进行调整,例如第一阈值N1为7秒时,窗口大小可以是6秒,滑动步长可以是1秒。
对检索得到的候选音乐信息、向量距离以及滑动窗口的序号进行合并操作。具体为,若相邻滑动窗口序号的候选音乐信息相同,则进行合并,将结果保存为检索结果列表。
例如,对7个窗口音乐子片段的检索结果为:
元素信息为(候选音乐信息,向量距离,滑动窗口的序号)
[(A,0.12,1)、(A,0.14,2)、(A,0.13,3)、(B,0.19,4)、(A,0.18,5)、(A,0.16,6)、(A,0.14,7)];
则合并后的检索结果列表为:
元素信息为(候选音乐信息,起始窗口序号,结束窗口序号+1)
[(A,1,4),(B,4,5),(A,5,8)]。
对检索结果列表进行异常数据检测,对检测出的异常数据进行交叉验证修复,具体包括:
若检索结果列表中元素信息的持续窗口数小于第二阈值N2,则将该列表元素标记为异常数据,提取造成异常数据的窗口的音乐片段的第一音频指纹,将造成异常数据的窗口的音乐片段的第一音频指纹在音频指纹库中进行音频指纹匹配检索,得到匹配音频指纹,计算该第一音频指纹的时间信息与其匹配音频指纹的时间信息之间的时间偏差,按照音频指纹所对应的音乐信息对匹配音频指纹进行归类,统计每类音乐信息中相同时间偏差的最大重复次数,获得各类中最大重复次数的最大值,该最大重复次数的最大值所对应的音乐信息为该待识别音乐片段所对应的音乐,得到音频指纹匹配结果,将音频指纹匹配结果与步骤S7中得到的检索结果列表进行交叉验证:对比音频指纹匹配结果与检索结果列表中该异常数据的前一窗口或后一窗口的候选音乐信息,若音频指纹匹配结果与后一窗口的候选音乐信息相同,则修改该异常数据窗口的候选音乐信息为音频指纹匹配结果,并且修改该异常数据窗口的向量距离为后N2个窗口的向量距离的加权平均值;若音频指纹匹配结果与前一窗口以及后一窗口的候选音乐信息相同,则修改该异常数据窗口的候选音乐信息为音频指纹匹配结果,并且修改该异常数据窗口的向量距离为前
所述阈值N2的设置根据具体想要达到的效果来进行动态调整,第二阈值N2可以根据第一阈值N1、滑动窗口大小以及滑动步长进行调整。
若不存在一个列表元素,其持续窗口数除以总窗口数大于第三阈值N3,可以假设该待识别音乐片段中由多段音乐组成。
所述第三阈值N3的设置根据具体想要达到的效果来进行动态调整。
则需要对步骤S8的检测结果列表进行基于向量距离的音频边界检测,确定该待识别音乐片段中的背景音乐及其起止播放位置。
如图3所示,若待识别音乐片段由音乐A片段与音乐B片段所组成,当滑动窗口位于音乐A片段内部时,由于相似的音乐拥有相似的特征向量,此时该窗口音乐片段对应的第一特征向量与音乐A对应的特征向量之间的距离是最小的且保持稳定。
概括地讲,当滑动窗口位于音乐A片段内部时,该窗口音乐片段对应的第一特征向量与候选音乐对应的特征向量之间的向量距离最小且稳定。
如图4所示,滑动窗口向右滑动,窗口音乐片段包含了音乐A的部分片段与音乐B的部分片段,且音乐A的部分片段占整个窗口音乐片段的大部分;由于相似的音乐拥有相似的特征向量,此时该窗口音乐片段对应的第一特征向量与音乐A对应的特征向量之间的距离是最小;但由于该窗口音乐片段仍包含了部分不属于音乐A的片段,因此二者特征向量之间的向量距离会相较于图3所示的情况增大。
概括地讲,当滑动窗口包含两个音乐的分界时,该窗口音乐片段对应的第一特征向量与候选音乐对应的特征向量之间的向量距离会增大且不稳定。
对确定了初略版权信息的多段音乐组成的待识别音乐片段进行基于向量距离的音频边界检测,需遍历检测结果列表中的每个窗口的向量距离,当某个窗口的向量距离呈增大的趋势时,其边界时间表示为:
time=(index-1)×stride+size+Δx
其中,index为向量距离呈增大趋势窗口的序号,stride为滑动步长,size为窗口大小,Δx为可调参数,可以是-0.5、-1等。
在本实施例中,阈值的设置是为了减少检测误差并提高效率,因为后续步骤(S6-S10)是用于确定大于N1的音频片段中包含的音乐信息及边界,包含多首或一首音乐的情况都可以进行检测识别,N1越小检测的准确度会越高,但消耗的计算机资源也会相应的增多。
因此需要根据视频类型或视频总时长进行合理的阈值设置,如4秒、7秒等。
例如:
对平均时长较短(15秒左右)的短视频进行背景音频检测,其背景音频的时长也较短,短时片段中包含多首音乐的概率也会更大。对于此类视频可设置N1为3秒或4秒,认为大于N1的音频片段可能包含多首音乐。
若对平均时长中等(6-10分钟)的视频进行背景音频检测,其所采用的背景音乐片段的时长也会较长,短时片段中包含多首音乐的概率会较小,因此可以将N1设置为7秒或更长,这种设置会提高检测效率。
第二阈值N2:N2值的大小决定了是否需要对该数据进行检测和“修复”。
若设置的太小,则需要检测并修复的数据就会少,就会导致异常数据无法得到有效检测和修复;
若设置的太大,需要检测并修复的数据就会增加,会导致整个程序复杂度增加,但异常数据就会更少。
因此阈值N2的设置是根据具体想要达到的效果来进行动态调整的,方法中只能给出参考值,例如2、3等。
第三阈值N3:N3值的大小是去判断一段音频是否可能由多段音乐所组成。
若设置的过小,会导致算法对于多段音乐的敏感性不高,对于多段音乐组成的音频会只识别为占比最大的音乐。
若设置的过大,会导致算法敏感性太高,对单个音乐组成的音频可能会识别为多段音频,然后进入后续的音频边界检测部分,虽然最终结果还是会识别为单个音乐,但会增加数据处理的流程,系统复杂度会增加。
因此阈值N3的设置是根据具体想要达到的效果来进行动态调整的,方法中只能给出参考值,例如第三阈值N3可以是0.8、0.9等。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
- 一种视频中背景音乐的识别方法和移动终端
- 一种联盟式音视频版权区块链系统及音视频版权上链方法