一种视频指纹库建立、视频指纹识别方法及装置制造方法

文档序号:7800583阅读:141来源:国知局
一种视频指纹库建立、视频指纹识别方法及装置制造方法
【专利摘要】本发明属于模式识别【技术领域】,尤其涉及一种视频指纹库建立、视频指纹识别方法及装置。所述视频指纹识别方法包括:对获取的测试视频的帧图片进行分块,根据每个分块的像素对测试视频的帧图片进行编码形成第一视频指纹;将测试视频的帧图片的编码进行哈希映射,获取哈希映射地址;在预先建立的视频指纹库的哈希表中查找所述哈希映射地址,根据查找结果进行匹配识别。本发明根据分块像素对图片进行编码且通过高效的哈希表进行映射查找,可有效提高视频指纹识别的速度和准确性。
【专利说明】一种视频指纹库建立、视频指纹识别方法及装置
【技术领域】
[0001]本发明属于模式识别【技术领域】,尤其涉及一种视频指纹库建立、视频指纹识别方法及装置。
【背景技术】
[0002]在实际的生活和应用中,人们所接触的信息量越来越大,纸质、声音以及图像是主要的部分,所以对于媒体信息的智能识别方法在实际的应用中显得格外的重要。在图像媒体信息中,视频是作为一个很重要的一部分,它不仅仅在信息传播方面,同时也在安防领域起着极其重要的作用。对于视频而言,形成区分它自身的识别信息成为连续视频识别中的重要方面,而形成它自身的识别信息我们可以把它看作自己的指纹,就像人的指纹一样。
[0003]在实际的视频指纹识别过程中,人们主要采用以下几种方法来实现:(1)通过SIFT (Scale-1nvariant feature transform,尺度不变特征转换)算法确定特征点,然后对特征点进行匹配;(2)采用分块颜色直方图对图像进行纹理的统计和分析;(3)采用Harris检测来计算图像的兴趣点,产生相应的视屏指纹信息;(4)基于质心水平倾斜来提取视频指纹信息,上述方法都有它们不足的地方:方法(I)所计算的时间很长,在大量视频图像比对上会消耗很长的时间;方法(2)分块颜色直方图信息只是从宏观的分布来把握图像的颜色结构,没有把图像的具体信息考虑进来,在后续的颜色直方图匹配的时候会出现把不属于该视频图像的归为该图像类别;方法(3)中Harris检测在一定程度上实现了图像内容检测,但是若图像结构内容复杂也会加长检测时间;方法(4)复杂度较高,所需的时间较长。因此,需要提供一种高效的视频指纹识别方法。而高效的视频指纹识别方法与视频指纹库的建立也有很重要的联系,视频指纹库的建立是视频识别的前提,因此,同时需要提供一种有利于视频识别的视频指纹库的建立方法。

【发明内容】

[0004]本发明的目的在于提供一种基于图片分块像素编码以及哈希映射的视频指纹库建立及视频指纹识别方法,旨在解决现有的视频指纹库建立以及视频指纹识别方案计算复杂、视频指纹识别时间长的问题。
[0005]本发明提供了一种视频指纹库建立方法,包括:
[0006]获取视频的帧图片;
[0007]对获取的帧图片进行分块,根据每个分块的像素对所述帧图片进行编码形成视频指纹;
[0008]将所述视频指纹进行哈希映射,得到所述视频指纹对应的哈希表。
[0009]本发明还提供了一种视频指纹库建立装置,其特征在于,包括:
[0010]第一获取模块、第一分块模块、第一编码模块以及第一哈希映射模块;
[0011]所述第一获取模块,用于获取视频的帧图片;
[0012]所述第一分块模块,用于对获取的帧图片进行分块,[0013]所述第一编码模块,用于根据每个分块的像素对所述帧图片进行编码形成视频指纹;
[0014]所述第一哈希映射模块,用于将所述视频指纹进行哈希映射,得到所述视频20指纹对应的哈希表。
[0015]本发明还提供了一种视频指纹识别方法,包括:
[0016]获取测试视频的帧图片;
[0017]对获取的帧图片进行分块,根据每个分块的像素对所述帧图片进行编码形成第一视频指纹;
[0018]将所述第一视频指纹进行哈希映射,获取哈希映射地址;
[0019]在预先建立的视频指纹库的哈希表中查找所述哈希映射地址;
[0020]根据查找结果进行匹配识别。
[0021]本发明还提供了提供一种视频指纹识别装置,包括:
[0022]第二获取模块,用于获取测试视频的帧图片;
[0023]分块模块,用于对获取的帧图片进行分块;
[0024]第二编码模块,用于根据每个分块的像素对所述帧图片进行编码形成第一视频指纹;
[0025]第二哈希映射模块,用于将所述第一视频指纹进行哈希映射,获取哈希映射地址;
[0026]查找模块,用于在预先建立的视频指纹库的哈希表中查找所述哈希映射地址;
[0027]匹配识别模块,用于根据查找结果进行匹配识别。
[0028]在本发明中,对获取的测试视频的帧图片进行分块,根据每个分块的像素对测试视频的帧图片进行编码形成第一视频指纹;将测试视频的帧图片的编码进行哈希映射,获取哈希映射地址;在预先建立的视频指纹库的哈希表中查找所述哈希映射地址,根据查找结果进行匹配识别,本发明根据分块像素对图片进行编码且通过高效的哈希表进行映射查找,可有效提高视频指纹识别的速度和准确性。
【专利附图】

【附图说明】
[0029]图1是本发明实施例提供的视频指纹库建立方法的实现流程图;
[0030]图2是本发明实施例提供的分块示意图;
[0031]图3是本发明实施例提供的视频指纹库中的哈希表示意图;
[0032]图4是本发明实施例提供的视频指纹库建立装置的结构框图;
[0033]图5是本发明实施例提供的视频指纹识别方法的实现流程图;
[0034]图6是本发明实施例提供的视频指纹识别装置的结构框图;
[0035]图7是本发明实施例提供的图6中的第二编码模块的结构框图;
[0036]图8是本发明实施例提供的图6中的匹配识别模块的结构框图。
【具体实施方式】
[0037]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0038]图1示出了本发明实施例提供的一种视频指纹库建立方法的实现流程,详述如下:
[0039]步骤101、获取视频的帧图片。
[0040]在建立视频指纹库之前,需要获取对应的样本视频的帧图片。
[0041]步骤102、对获取的帧图片进行分块,根据每个分块的像素对所述视频的帧图片进行编码形成视频指纹。
[0042]对获取的视频的帧图片进行分块,根据每个分块的像素对所述视频的帧图片进行编码形成视频指纹,具体为:对获取的前后连续两帧图片都进行分块,每帧图片分成NXM个块,其中N,M为大于O的自然数;计算每个分块所有像素点的像素值的总和,将前后连续两帧图片对应分块像素值的总和进行比较,根据比较的结果对前后连续两帧图片进行编码,形成视频指纹,包括:当Pi (m, n) ^ Pi+1 (m, η),将前后连续两帧图片的第mXn个编码设置为I ;当?1(111,11)〈?1+1(111,11),将前后连续两帧图片的第111\11个编码设置为0 ΑΟ?,η)表示第i帧图片的第m行第 η列对应分块的所有像素点的像素值的总和,Pi+1 (m, η)表示第i+Ι帧图片的第m行第η列对应分块的所有像素点的像素值的总和,其中,I ^m^N, I
按照这种编码方式就得到NXM个编码,然后将NXM个编码按照预先设定的顺序组合起来得到前后连续两帧图片的视频指纹,比如可以将对应的NXM编码按照编码的先后顺序进行组合,也可以按照其他方式进行组合,在此不做限定。上述中是将对应的NXM个编码都编码设置为0、1,当然可以设置为其他数值的编码,在此不做限定。通过前后两帧之间的像素逻辑关系来表示样本视频图像的视频指纹信息,通过0、1编码来表示图像的视频指纹信息,编码简单且高效有序,这样有利于后续视频指纹的识别。
[0043]下面结合附图2,对步骤102做进一步的举例说明,如图2所示,获取到样本视频中前后连续的两帧图片,第i帧和第i+Ι帧后,对第i帧和第i+Ι帧进行分块,比如,对第i帧图片分为4X8块,并对该图片块进行标记,标记为PiOii,!!),其中PiOn, η)表示第i帧图片的第m行第η列对应分块所有像素点对应像素值总和,m、η的取值分别为m e (I, 2,3,4),n e (1,2,3,4,5,6,7,8)。对图2中获取到的第i帧和第i+Ι帧两帧图片进行4X8的分块,对于分块的数量这里推荐采用4X8,因为刚好为32,在后续的编码中有利于实际的应用,当然也可以根据自己的需要对图片分块进行调整,在此不做限定。对于每个图片中的32个块,计算其中的像素点对应像素值总和(这里每个图片采用单通道的灰度图像),表示为Pi (m, n),Pi+1 (m, η) 0然后利用第i帧和第i+Ι帧的块与块之间的像素信息来表示出这两帧图片的逻辑指纹关系,所采用形成视频指纹的方法,如下法则所示:
[0044]I) Comp (m, n) =1, if Pi (m, n) ^ Pi+1 (m, η);
[0045]2) Comp (m, η) =0, if Pi (m, n) <Pi+1 (m, η);
[0046]3) P_i_Finger_Print (m, n) =Comp (m, η),其中
[0047]Comp用于存储上下帧图片的比对结果,对PiOn, η)和Pi+1 (m, η)进行比对,若Pi (m, η)大于或等于Pi+1 (m, η),则把Comp (m, η)编码设置为I,若Pi (m, η)小于Pi+1 (m, η),贝丨J把Comp (m, η)编码设置为O。最后把已经编号的32个码Comp赋值给当前连续两帧图片的视频指纹P_i_Finger_Print。这样对于上述图2中的连续两帧信息就形成了一个4行8列的O、I存储序列,把这些序列组合起来,比如把这个序列从左到右,从上到下进行排列得到一个一维的O、I数据表示,而这个一维的数据表示就是所需要的该视频的其中一个视频指纹信息表达。依照上述方法和法则对该样本视频中的第i+Ι和第i+2张图片继续进行视频指纹的生成,一直到获取到该视频最后的视频指纹,也即是如果视频图片为C张,那么所形成的该视频的视频指纹为C-1个,该C-1个视频指纹组成一个视频指纹库。当然通常样本视频不只一个,有多个,因而会组成多个视频指纹库,每个视频指纹库对应的视频指纹数量有可能不相同。对于L个视频指纹库,每个视频指纹库所包含的视频指纹总数是不一样的,标记为 lib_S, Se (1,2,3,...L)。
[0048]步骤103、将视频指纹进行哈希映射,得到视频指纹对应的哈希表。
[0049]具体的,对于视频指纹库,利用哈希函数把视频指纹库中的视频指纹映射到哈希表中,得到每个视频指纹库中的视频指纹编码序列所在的位置。在采用哈希函数对视频编码进行映射的过程中,得到每个视频指纹在哈希表中的位置,根据哈希函数本身的特性,会出现不同库或者相同库中的视频指纹映射到同一个哈希函数所生成的位置上,在这里采用如图3所示的逻辑结构重新建立一个哈希表,有利于后续的高效识别,根据哈希映射结果构建视频指纹在哈希表中的逻辑结构,如图3所示,所采取的策略是:将视频指纹经哈希函数映射,得到在哈希表中的第一映射地址,I)若第一映射地址没有指向其他视频指纹,则将哈希表中的第一映射地址指向该视频指纹;2)若所述第一映射地址有指向其它视频指纹,则在第一映射地址通过链表指向该视频指纹,也就是在该hash表位置的所指向的其它视频指纹后面继续通过链表指向当前所对应的库和视频指纹。在上述所说的指向过程中,把该视频指纹所属的库以及该视频指纹在其所属库中的位置信息均保存在所指向的信息中。如图3所示,图3中hash表位置:0X267F2456、0X567F24BA、0X9FBCA4576所存储的形式与上述的策略I)是一致的,图3中的Lib_l中的第6个指纹与Lib_l中的第11个指纹经hash映射的地址均为0X6490C4BA,Lib_l中的第12个指纹与Lib_2中的第9个指纹、以及Lib_S中的第5个指纹经哈希映射的地址均为=0X80248963,同一位置通过链表继续指向后续的视频指纹。这样就预先建立了视频指纹库。且解决了不同视频指纹库或相同视频指纹库中的视频指纹经哈希函数映射到相同的哈希位置的问题,方便后续快速识别。
[0050]本发明实施例中,由于是根据帧图片每个分块的像素对进行编码形成视频指纹库,编码简单且高效有序,且将视频指纹进行哈希映射,得到视频指纹对应的哈希表,方便后续视频指纹的识别。
[0051]图4示出了本发明实施例提供的一种视频指纹库建立装置的结构框图,该装置可以实现前述实施例所描述的方法。为了便于说明,仅示出了与本实施例相关的部分。参照图4,该视频指纹识别装置,包括:第一获取模块41、第一分块模块42、第一编码模块43以及第一哈希映射模块44。
[0052]第一获取模块41,用于获取视频的帧图片。第一分块模块42,用于对获取的帧图片进行分块。进一步的,第一分块模块42还包括:第一分块子模块421,用于对获取的前后连续两帧图片都进行分块,每帧图片分成NXM个块,其中N,M为大于O的自然数。第一编码模块43,用于根据每个分块的像素对所述的帧图片进行编码形成视频指纹。第一哈希映射模块44,用于将视频指纹进行哈希映射,得到视频指纹对应的哈希表。
[0053]进一步的,第一编码模块43还包括:第一计算模块431、第一比较模块432以及第一编码子模块433。第一计算模块431,用于计算每个分块所有像素点的像素值的总和。第一比较模块432,用于将前后连续两帧图片对应分块像素值的总和进行比较。第一编码子模块433,用于根据比较的结果对前后连续两帧图片进行编码,形成视频指纹。进一步的,第一编码子模块433,还包括:第一设置模块4331和第一组合模块4332。第一设置模块4331,用于当PiCm, η)≥Pi+1 (m, η),将前后连续两帧图片的第mXn个编码设置为I ;当PiOii, n)〈Pi+1(m, η),将前后连续两帧图片的第mXn个编码设置为O ;所述PiOn, η)表示第i帧图片的第m行第η列对应分块的所有像素点的像素值的总和;所述Pi+1 (m, η)表示第i+1帧图片的第m行第η列对应分块的所有像素点的像素值的总和,其中,KmS N,Kn SM。第一组合模块4332,用于将NXM个编码按照预先设定的顺序组合起来得到前后连续两帧图片的视频指纹。
[0054]进一步的,第一哈希映射模块44还包括:第一哈希映射子模块441,用于将视频指纹经哈希函数映射,得到在哈希表中的第一映射地址,若第一映射地址没有指向其他视频指纹,则将哈希表中的上述第一映射地址指向前述视频指纹;若第一映射地址有指向其它视频指纹,则在第一映射地址通过链表指向前述的视频指纹。
[0055]本发明实施例中,由于是第一编码模块根据帧图片每个分块的像素对进行编码形成视频指纹库,编码简单且高效有序,同时第一哈希映射模块将视频指纹进行哈希映射,得到视频指纹对应的哈希表,方便后续视频指纹的识别。
[0056]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元或模块完成。实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元或模块既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述视频指纹库建立装置中的模块的具体工作过程,可以参考前述视频指纹库建立方法实施例中的对应过程,在此不再赘述。
[0057]图5示出了本发明实施例提供的一种视频指纹识别方法的实现流程,详述如下:
[0058]步骤501、获取测试视频的帧图片。
[0059]当需要识别预先建立的视频指纹库中是否有被测试视频的帧图片对应的视频指纹,首先获取测试视频的帧图片,可以通过从连续视频中获取一帧一帧的图片。本发明实施例中,至少需要获取前后连续的两帧图片。
[0060]步骤502、对获取的测试视频的帧图片进行分块,根据每个分块的像素对测试视频的帧图片进行编码形成第一视频指纹。
[0061]具体地,本发明实施例中,对连续获取的两帧图片都进行分块,每帧图片分成NXM个块,所述Ν、Μ为大于O的自然数。计算每个分块所有像素点的像素值的总和,将前后两中贞图片对应分块像素值的总和进行比较,根据比较的结果对前后连续两帧图片进行编码,形成第一视频指纹。将前后两帧图片对应分块像素值的总和进行比较,根据比较的结果对前后连续两帧图片进行编码,形成第一视频指纹,包括:当匕(111,11) >Pi+1(m,n),将前后连续两帧图片的第mX η个编码设置为I ;当?1(111,11)〈?1+1(1]1,11),将前后连续两帧图片的第1]1\11个编码设置为O ;所述Pi (m, η)表示第i帧图片的第m行第η列对应分块的所有像素点的像素值的总和;所述Pi+1(m,n)表示第i+Ι帧图片的第m行第η列对应分块的所有像素点的像素值的总和, 其中,I <m<N,l ^ n ^ Mo这样得到前后连续两帧图片的NXM个编码,将NXM个编码按照预先设定的顺序组合起来得到前后连续两帧图片的第一视频指纹,比如可以将对应的NXM编码按照编码的先后顺序进行组合,也可以按照其他方式进行组合,在此不做限定。上述中是将对应的NXM个编码都编码设置为0、1,当然可以设置为其他数值的编码,在此不做限定。但是该编码方式需要与预先建立的视频指纹库建立时的编码方式一致。通过前后两帧之间的像素逻辑关系来表示图像的视频指纹信息,通过0、1编码来表示图像的视频指纹信息,编码简单且高效有序。
[0062]步骤503、将上述的第一视频指纹进行哈希映射,获取哈希映射地址。
[0063]本发明实施例中,将上述得到的前后连续两帧图片的编码进行哈希(hash)映射,获取对应的哈希映射地址。
[0064]步骤504、在预先建立的视频指纹库的哈希表中查找上述哈希映射地址。
[0065]将前后连续两帧图片的编码进行哈希(hash)映射,得到对应的哈希映射地址后,在预先建立的视频指纹库的哈希表中查找得到的哈希映射地址。步骤504中的预先建立的视频指纹库的建立过程与前述实施例中描述的视频指纹库的建立过程相同,在此不再赘述。
[0066]步骤505、根据查找结果进行匹配识别。
[0067]在预先建立的视频指纹库的哈希表中查找得到的哈希映射地址,然后根据查找结果进行匹配识别,包括:1)若在预先建立的视频指纹库的哈希表中查找到所述哈希映射地址,且所述哈希映射地址指向第二视频指纹,同时所述第二视频指纹没有通过链表指向其他视频指纹,则确定所述第二视频指纹为第一视频指纹匹配的指纹;最后读取第二视频指纹以及其所属视频指纹库编号。2)若在预先建立的视频指纹库的哈希表中查没有找到上述哈希映射地址,或者在预先建立的视频指纹库的哈希表中查找到所述哈希映射地址,而哈希映射地址没有指向第二视频指纹,则确定预先建立的视频指纹库不存在与第一视频指纹对应的视频指纹。3)若在预先建立的视频指纹库的哈希表中查找到所述哈希映射地址,且哈希映射地址指向第二视频指纹,同时第二视频指纹通过链表指向其他视频指纹,则读取第二视频指纹以及其他视频指纹;将第二视频指纹以及其他视频指纹分别与第一视频指纹进行比对(具体为进行每个编码值的比对);根据比对结果,将第二视频指纹以及其他视频指纹中误码率最小的且满足预设编码阈值的视频指纹确定为与第一视频指纹相对应的视频指纹,然后再读取误码率最小的且满足预设编码阈值的其所属视频指纹库编号。这样就找到了与第一视频指纹匹配的第二视频指纹以及其所属视频指纹库。
[0068]优选的,本发明实施例中,获取测试帧图片形成多个视频指纹库后,在第一个视频指纹进行识别之后,在对下一个视频指纹进行识别的时候可以把上次经哈希映射所获取到的视频指纹库信息取出(即所在视频库和视频库中的地址信息取出),并取出视频库中相应的下一地址的视频指纹,将其与测试帧图片形成的下一个视频指纹进行编码值的比对,如果满足预设编码阈值,则该视频库也为下一个视频指纹所属视频指纹库,相应的下一地址即为下一个视频指纹的所属地址。若不满足预设编码阈值则用哈希算法按照上述步骤503-504重新在视频指纹库中匹配。后续的每个视频指纹的识别都可以采用该过程来完成。这样可不必每个视频指纹的识别都进行哈希映射,减少运算,提闻效率。
[0069]本发明实施例中通过前后两帧之间的像素逻辑关系来表示图像的视频指纹信息,编码简单且高效有序,同时通过采用哈希映射方法对指纹编码进行哈希映射,不管每个视频库的样本库的量有多大,所进行的计算时间复杂度都为O (1+L),其中L为总的视频指纹库的数目,这样在实际的应用中不会因为每个库的样本量的增加导致识别效率的降低,从而提高了识别效率。
[0070]需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。
[0071]图6示出了本发明实施例提供的一种视频指纹识别装置的结构框图,该装置可以实现前述实施例所描述的视频指纹识别方法。为了便于说明,仅示出了与本实施例相关的部分。参照图6,该视频指纹识别装置,包括:第二获取模块61、第二分块模块62、第二编码模块63、第二哈希映射模块64、查找模块65以及匹配识别模块66。
[0072]第二获取模块61,用于获取测试视频的帧图片。第二分块模块62,用于对获取的测试视频的帧图片进行分块。进一步的,第二分块模块62还包括第二分块子模块621。第二分块子模块621,用于对连续获取的两帧图片都进行分块,每帧图片分成NXM个块,所述N,M为大于O的自然数。第二编码模块63,用于根据每个分块的像素对上述测试视频的帧图片进行编码形成第一视频指纹。第二哈希映射模块64,用于将测试视频的帧图片的编码进行哈希映射,获取哈希映射地址。查找模块65,用于在预先建立的视频指纹库的哈希表中查找所述哈希映射地址。匹配识别模块66,用于根据查找结果进行匹配识别。
[0073]图7为本发明实施例提供的图6中第二编码模块63的结构框图,为了便于说明,仅示出了与本实施例相关的部分。如图7所示,第二编码模块63还包括第二计算模块631、第二比较模块632、第二编码 子模块633。第二计算模块631,用于计算每个分块所有像素点的像素值的总和。第二比较模块632,用于将前后两帧图片对应分块像素值的总和进行比较。第二编码子模块633,用于根据比较的结果对前后连续两帧图片进行编码,形成第一视频指纹。进一步的,所述的第二编码子模块633还包括:第二设置模块6331和第二组合模块6332。第二设置模块6331,用于当PiCm, n) ^ Pi+1 (m, η),将前后连续两帧图片的第mX η个编码设置为I ;当PiOn, n) <Pi+1 (m, η),将前后连续两帧图片的第mX η个编码设置为O TiCm, η)表示第i帧图片的第m行第η列对应分块的所有像素点的像素值的总和;Pi+1(m,n)表示第i+Ι帧图片的第m行第η列对应分块的所有像素点的像素值的总和,其中,I ^ m ^ N,
I^ n^M0第二组合模块6332,用于将NXM个编码按照预先设定的顺序组合起来得到前后连续两帧图片的第一视频指纹。这样通过第二编码模块实现了根据前后连续两帧的像素逻辑关系进行前后连续两帧图片信息的编码,从而得到其视频指纹。
[0074]图8为本发明实施例提供的图6中匹配识别模块66的结构框图,为了便于说明,仅示出了与本实施例相关的部分。如图8所示,匹配识别模块66还包括:第一确定模块661、第一读取模块662、第二确定模块663、第二读取模块664、比对模块665以及第三确定模块666。
[0075]第一确定模块661,用于当在预先建立的视频指纹库的哈希表中查找到所述哈希映射地址,且所述哈希映射地址指向第二视频指纹,同时第二视频指纹没有通过链表指向其他视频指纹时,则确定第二视频指纹为第一视频指纹匹配的指纹。第一读取模块662,用于读取第二视频指纹。第一读取模块还用于读取第二视频指纹所属的视频指纹库编号。[0076]第二确定模块663,用于当在预先建立的视频指纹库的哈希表中查没有找到上述哈希映射地址时,或者当在预先建立的视频指纹库的哈希表中查找到上述哈希映射地址,而上述哈希映射地址没有指向第二视频指纹时,则确定预先建立的视频指纹库不存在与第一视频指纹对应的视频指纹。
[0077]第二读取模块664,用于当在预先建立的视频指纹库的哈希表中查找到所述哈希映射地址,且上述哈希映射地址指向第二视频指纹,同时第二视频指纹通过链表指向其他视频指纹时,读取所述的第二视频指纹以及所述的其他视频指纹。比对模块665,用于将第二视频指纹以及所述的其他视频指纹分别与所述的第一视频指纹进行比对。第三确定模块466,用于根据比对结果,将第二视频指纹以及其他视频指纹中误码率最小的且满足预设编码阈值的视频指纹确定为与第一视频指纹相对应的视频指纹。第二读取模块664还用于读取误码率最小的且满足预设编码阈值的视频指纹所属的视频库编号。
[0078]综上,本发明实施例中第二编码模块根据前后两帧之间的像素逻辑关系来对视频图片进行编码,得到图片的视频指纹信息,编码简单且高效有序,同时第二哈希映射模块通过采用哈希映射方法对指纹编码进行哈希映射,查找模块根据哈希映射地址在哈希表中进行查找,匹配模块再进行匹配识别,不管每个视频库的样本库的量有多大,所进行的计算时间复杂度都为O (1+L),其中L为总的视频指纹库的数目,这样在实际的应用中不会因为每个库的样本量的增加导致识别效率的降低,从而提高了识别效率。
[0079]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成。实施例中的各功能单元或模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元或模块既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述视频指纹识别装置中的模块的具体工作过程,可以参考前述视频指纹识别方法实施例中的对应过程,在此不再赘述。
[0080]本领域普通技术人员还可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,包括R0M/RAM、磁盘、光盘等。
[0081]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种视频指纹库建立方法,其特征在于,包括: 获取视频的帧图片; 对获取的帧图片进行分块,根据每个分块的像素对所述帧图片进行编码形成视频指纹; 将所述视频指纹进行哈希映射,得到所述视频指纹对应的哈希表。
2.如权利要求1所述的方法,其特征在于,所述的对获取的帧图片进行分块,根据每个分块的像素对所述帧图片进行编码形成视频指纹,具体为: 对获取的前后连续两帧图片都进行分块,每帧图片分成NXM个块,所述N、M为大于O的自然数; 计算每个分块中所有像素点的像素值的总和,将前后连续两帧图片对应分块像素值的总和进行比较,根据比较的结果对前后连续两帧图片进行编码,形成视频指纹。
3.如权利要求2所述的方法,其特征在于,所述的将前后连续两帧图片对应分块像素值的总和进行比较,根据比较的结果对前后连续两帧图片进行编码,形成视频指纹,包括: 当Pi (m, η)≥Pi+1 (m, η),将前后连续两帧图片的第mX η个编码设置为I ;当卩1(111,11)〈?1+1(111,11),将前后连续两帧图片的第111\11个编码设置为O ;所述PiOn, η)表示第i帧图片的第m行第η列对应分块的所有像素点的像素值的总和;所述Pi+1 (m, η)表示第i+Ι帧图片的第m行第η列对应分块的所有像素点的像素值的总和,其中,I ^ m ^ N,I ^ n ^ M ; 将NXM个编码按照预先设定的顺序组合起来得到前后连续两帧图片的视频指纹。
4.如权利要求1至3任一项所述的方法,其特征在于,所述将视频指纹进行哈希映射,得到视频指纹对应的哈希表,具体为: 将视频指纹经哈希函数映射,得到在哈希表中的第一映射地址,若所述第一映射地址没有指向其他视频指纹,则将所述哈希表中的第一映射地址指向所述视频指纹;若所述第一映射地址有指向其它视频指纹,则在所述第一映射地址通过链表指向所述视频指纹。
5.一种视频指纹库建立装置,其特征在于,包括: 第一获取模块、第一分块模块、第一编码模块以及第一哈希映射模块; 所述第一获取模块,用于获取视频的帧图片; 所述第一分块模块,用于对获取的帧图片进行分块, 所述第一编码模块,用于根据每个分块的像素对所述帧图片进行编码形成视频指纹; 所述第一哈希映射模块,用于将视频指纹进行哈希映射,得到视频指纹对应的哈希表。
6.如权利要求5所述的装置,其特征在于,所述的第一分块模块还包括第一分块子模块;所述第一编码模块还包括:第一计算模块、第一比较模块以及第一编码子模块; 所述第一分块子模块,用于对获取的前后连续两帧图片都进行分块,每帧图片分成NXM个块,所述N、M为大于O的自然数; 所述第一计算模块,用于计算每个分块中所有像素点的像素值的总和; 所述第一比较模块,用于将前后连续两帧图片对应分块像素值的总和进行比较;所述第一编码子模块,用于根据比较的结果对前后连续两帧图片进行编码,形成视频指纹。
7.如权利要求6所述的装置,其特征在于,所述的第一编码子模块,还包括:第一设置模块和第一组合模块; 所述第一设置模块,用于当Pi (m, η)≥Pi+1 (m, η),将前后连续两帧图片的第mXn个编码设置为I ;当PiOii, n) <Pi+1 (m, η),将前后连续两帧图片的第mXn个编码设置为O ;所述Pi (m, η)表示第i帧图片的第m行第η列对应分块的所有像素点的像素值的总和;所述Pi+1 (m, η)表示第i+1帧图片的第m行第η列对应分块的所有像素点的像素值的总和,其中,1≤m≤n,`≤n≤m 所述第一组合模块,用于将NXM个编码按照一定的顺序组合起来得到前后连续两帧图片的视频指纹。
8.如权利要求5至7任一项所述的装置,其特征在于,所述第一哈希映射模块,还包括: 第一哈希映射子模块,用于将视频指纹经哈希函数映射,得到在哈希表中的第一映射地址,若所述第一映射地址没有指向其他视频指纹,则将所述哈希表中的第一映射地址指向所述视频指纹;若所述第一映射地址有指向其它视频指纹,则在所述第一映射地址通过链表指向所述的视频指纹。
9.一种视频指纹识别方法,其特征在于,包括: 获取测试视频的帧图片; 对获取的帧图片进行分块,根据每个分块的像素对所述帧图片进行编码形成第一视频指纹; 将所述第一视频指纹进行哈希映射,获取哈希映射地址; 在预先建立的视频指纹库的哈希表中查找所述哈希映射地址; 根据查找结果进行匹配识别。
10.如权利要求9所述的方法,其特征在于,所述对获取的帧图片进行分块,根据每个分块的像素对所述的帧图片进行编码形成第一视频指纹,具体为: 对获取的前后连续两帧图片都进行分块,每帧图片分成NXM个块,所述N、M为大于O的自然数; 计算每个分块中所有像素点的像素值的总和,将前后连续两帧图片对应分块像素值的总和进行比较,根据比较的结果对前后连续两帧图片进行编码,形成第一视频指纹。
11.如权利要求10所述的方法,其特征在于,所述的将前后连续两帧图片对应分块像素值的总和进行比较,根据比较的结果对前后连续两帧图片进行编码,形成第一视频指纹,包括: 当Pi (m, η)≥Pi+1 (m, η),将前后连续两帧图片的第mX η个编码设置为I ;当pi(m,n)〈Pi+1(m,n),将前后连续两帧图片的第m*n个编码设置为O ;所述PiOn, η)表示第i帧图片的第m行第η列对应分块的所有像素点的像素值的总和;所述Pi+1 (m, η)表示第i+Ι帧图片的第m行第η列对应分块的所有像素点的像素值的总和,其中,I ≤ m ≤ N,I ≤n≤ M ; 将NXM个编码按照一定的顺序组合起来得到前后连续两帧图片的第一视频指纹。
12.如权利要求9至11任一项所述的方法,其特征在于,所述的根据查找结果进行匹配识别,包括: 若在预先建立的视频指纹库的哈希表中查找到所述哈希映射地址,且所述哈希映射地址指向第二视频指纹,同时所述第二视频指纹没有通过链表指向其他视频指纹序列,则确定所述第二视频指纹序列为第一视频指纹匹配的指纹序列;读取所述的第二视频指纹;若在预先建立的视频指纹库的哈希表中查没有找到所述哈希映射地址,或者在预先建立的视频指纹库的哈希表中查找到所述哈希映射地址,且所述哈希映射地址没有指向第二视频指纹,则确定预先建立的视频指纹库不存在与第一视频指纹对应的视频指纹; 若在预先建立的视频指纹库的哈希表中查找到所述哈希映射地址,且所述哈希映射地址指向第二视频指纹,同时所述第二视频指纹通过链表指向其他视频指纹,则读取所述第二视频指纹以及所述其他视频指纹;将所述第二视频指纹以及所述其他视频指纹分别与所述第一视频指纹进行比对;根据比对结果,将所述第二视频指纹以及其他视频指纹中误码率最小的且满足预设编码阈值的视频指纹确定为与第一视频指纹相对应的视频指纹。
13.—种视频指纹识别装置,其特征在于,包括: 第二获取模块,用于获取测试视频的帧图片; 第二分块模块,用于对获取的帧图片进行分块; 第二编码模块,用于根据每个分块的像素对所述帧图片进行编码形成第一视频指纹; 第二哈希映射模块,用于将所述的第一视频指纹进行哈希映射,获取哈希映射地址; 查找模块,用于在预先建立的视频指纹库的哈希表中查找所述哈希映射地址; 匹配识别模块,用于根据查找结果进行匹配识别。
14.如权利要求13所述的装置,其特征在于,所述第二分块模块还包括第二分块子模块;所述的第二编码模块还包括第二计算模块、第二比较模块、第二编码子模块; 所述第二分块子模块,用于对连续获取的两帧图片都进行分块,每帧图片分成NXM个块,所述N、M为大于O的自然数; 所述第二计算模块,用于计算每个分块中所有像素点的像素值的总和; 所述第二比较模块,用于将前后两帧图片对应分块像素值的总和进行比较; 所述第二编码子模块,用于根据比较的结果对前后连续两帧图片进行编码,形成第一视频指纹。
15.如权利要求13所述的装置,其特征在于,所述的第二编码子模块还包括:第二设置模块和第二组合模块; 所述第二设置模块,用于当Pi (m, η)≥Pi+1 (m, η),将前后连续两帧图片的第mXn个编码设置为1 ;当PiOii, n) <Pi+1 (m, η),将前后连续两帧图片的第mXn个编码设置为O ;所述Pi (m, η)表示第i帧图片的第m行第η列对应分块的所有像素点的像素值的总和;所述Pi+1 (m, η)表示第i+Ι帧图片的第m行第η列对应分块的所有像素点的像素值的总和,其中, 所述第二组合模块,用于将NXM个编码按照一定的顺序组合起来得到前后连续两帧图片的第一视频指纹。
16.如权利要求13至15任一项所述的装置,其特征在于,所述的匹配识别模块还包括:第一确定模块、第一读取模块、第二确定模块、第二读取模块、比对模块以及第三确定模块; 所述第一确定模块,用于当在预先建立的视频指纹库的哈希表中查找到所述哈希映射地址,且所述哈希映射地址指向第二视频指纹,同时所述第二视频指纹没有通过链表指向其他视频指纹时,则确定所述第二视频指纹为第一视频指纹匹配的指纹; 所述第一读取模块,用于读取所述的第二视频指纹; 所述第二确定模块,用于当在预先建立的视频指纹库的哈希表中查没有找到所述哈希映射地址时,或者当在预先建立的视频指纹库的哈希表中查找到所述哈希映射地址,且所述哈希映射地址没有指向第二视频指纹时,则确定预先建立的视频指纹库不存在与第一视频指纹对应的视频指纹; 所述第二读取模块,用于当在预先建立的视频指纹库的哈希表中查找到所述哈希映射地址,且所述哈希映射地址指向第二视频指纹,同时所述第二视频指纹通过链表指向其他视频指纹时,读取所述的第二视频指纹以及所述的其他视频指纹;所述比对模块,用于将所述的第二视频指纹以及所述的其他视频指纹分别与所述的第一视频指纹进行比对;所述第三确定模块,用于根据比对结果,将所述第二视频指纹以及其他视频指纹中误码率最小的且满足预设编码阈值的视频 指纹确定为与第一视频指纹对应的视频指纹。
【文档编号】H04N19/88GK103929644SQ201410129700
【公开日】2014年7月16日 申请日期:2014年4月1日 优先权日:2014年4月1日
【发明者】周龙沙, 邵诗强 申请人:Tcl集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1