首页 / 专利库 / 人工智能 / 解码器 / 多媒体签名的编码和解码

多媒体签名的编码和解码

阅读:781发布:2024-01-21

专利汇可以提供多媒体签名的编码和解码专利检索,专利查询,专利分析的服务。并且公开了一种用于对诸如视频或音频的多媒体条目的指纹进行编码和解码的方法和装置。多媒体内容时间区间,如视频段或音频段,由粗指纹和多个细指纹来描述,每个细指纹对应于所述时间区间中的一个时间子区间,所述时间子区间通常比所述时间区间短。以非预测性方式对一个或更多个细指纹进行编码,没有对时间上相邻的签名指引,并且根据时间上相邻的签名以预测性方式对一个或更多个细指纹进行编码。预测性编码需要计算相邻细指纹之间的差分来构造预测差分矩阵,通过按行或按列或按对 角 线或按任何合适的扫描模式来向量化,把所述预测差分矩阵扫描为一维向量,并且通过优选地至少部分基于所使用的扫描方法而选择的合适方法来对该一维向量执行无损编码。,下面是多媒体签名的编码和解码专利的具体信息内容。

1.一种用于对数字数据时间序列进行编码的数字内容编码器,该数字内容编码器包括:
粗数字指纹生成器,其用于生成表征所述时间序列的包括多个的区间中的所述数字数据的粗数字指纹;
细数字指纹生成器,其用于生成所述区间的多个细数字指纹,各个细数字指纹表征所述区间中的帧;以及
编码器,其计算时间上相邻的细数字指纹的元素之间的差分,生成预测差分矩阵,将该预测性差分矩阵按列扫描以得到一维向量,
对所述一维向量进行编码,由此对细数字指纹进行预测性编码,并使用标志表示被压缩的细数字指纹的存在。
2.如权利要求1所述的数字内容编码器,该数字内容编码器进一步包括:
非预测性编码器,其用于针对所述区间的至少1个其他细数字指纹实施非预测性编码。
3.如权利要求2所述的数字内容编码器,其中:
所述细数字指纹生成器能够将各个所述细数字指纹生成为三进制值向量;并且所述非预测性编码器能够通过生成所述细数字指纹的所述三进制值向量的二进制表示而对所述细数字指纹实施所述非预测性编码。
4.如权利要求1至3中任一项所述的数字内容编码器,其中:
所述数字内容编码器能够对图片的时间序列进行编码;
所述数字内容编码器进一步包括关键图片指示器,该关键图片指示器用于指示所述序列内作为关键图片的图片;并且
通过所述编码器对非关键图片的所述细数字指纹实施预测性编码。
5.如权利要求1所述的数字内容编码器,其中,所述粗数字指纹生成器能够根据所述区间的所述多个细数字指纹生成所述区间的所述粗数字指纹。
6.如权利要求1所述的数字内容编码器,其中:
所述细数字指纹生成器能够将每个细数字指纹生成为三进制值向量;
通过以下操作对细数字指纹实施编码:
通过计算所述细数字指纹和不同的细数字指纹之间的模3差分来计算它们之间的差分以生成预测差分矩阵;
扫描所述预测差分矩阵以形成作为三进制值向量的一维向量;以及
对所述一维向量执行编码,使得用一个比特对三进制值“1”和“2”进行编码,而使用零游程对三进制值“0”进行隐性编码。
7.一种用于对已编码数字内容进行解码的解码器,该解码器包括:
接收器,其用于接收数字数据时间序列的已编码数据,该已编码数据针对所述时间序列的多个区间中的各个区间包括表征包括多个帧的所述区间中的所述数字数据的粗数字指纹,并包括多个细数字指纹,各个细数字指纹表征所述区间中的帧,并且对所述细数字指纹进行选择性的预测性编码;以及
预测性解码器,其用于对被预测性编码的细数字指纹进行解码,包括:对接收到的所述预测性编码数据进行解码以生成一维向量,
将来自所述一维向量的值放入预测差分矩阵中,其中,每个值是所述一维向量的一个元素;
对所述预测差分矩阵和前面解码的细数字指纹进行组合以重构正被解码的所述细数字指纹。
8.如权利要求7所述的解码器,其中:
所述接收器能够接收其中每个区间的至少1个其他细数字指纹被非预测性编码的已编码数据;并且
所述解码器进一步包括用于对非预测性编码的细数字指纹进行解码的非预测性解码器。
9.如权利要求8所述的解码器,其中:
所述接收器能够接收所述非预测性编码的细数字指纹包括三进制值的二进制表示的已编码数据;并且
所述非预测性解码器能够对所述二进制表示进行解码以生成所述三进制值。
10.如权利要求7至9中任一项所述的解码器,其中,所述解码器能够接收不同长度区间的已编码数据并对该已编码数据进行解码。
11.如权利要求7所述的解码器,其中,所述预测性解码器能够通过对所述预测差分矩阵和前面解码的细数字指纹执行模3相加来对所述预测差分矩阵和前面解码的细数字指纹进行组合。
12.一种搜索装置,其用于在已编码数据的数据库中搜索数字数据时间序列,其中,该已编码数据针对所述时间序列的多个区间中的每一个区间包括表征包括多个帧的该区间中的所述数字数据的粗数字指纹,并包括多个细数字指纹,各个细数字指纹表征所述区间中的帧,并且至少一个、而非全部细数字指纹被预测性编码,其中每个区间的已编码数据包括至少一个被非预测性编码且包括三进制值的二进制表示的细数字指纹,该搜索装置包括:
指纹匹配器,其用于比较输入的粗数字指纹和所述数据库中的所述粗数字指纹以识别所述数据库中与该输入的粗数字指纹相匹配的粗数字指纹;和
解码器,该解码器包括:
预测性解码器,其用于对被预测性编码的所述细数字指纹进行解码;和
非预测性解码器,其用于通过对所述二进制表示进行解码以生成所述三进制值来对被非预测性编码的所述细数字指纹进行解码;
其中:
所述解码器被设置为仅针对具有与所述输入的粗数字指纹相匹配的粗数字指纹的所述区间的所述细数字指纹进行解码;并且
所述预测性解码器用于通过以下操作对每个预测性编码的细数字指纹进行解码:
对接收到的所述预测性编码数据进行解码以生成一维向量;
将来自所述一维向量的值放入预测差分矩阵中;以及
通过对所述预测差分矩阵和前面解码的细数字指纹执行模3相加来对所述预测差分矩阵和前面解码的细数字指纹进行组合,以重构被解码的所述细数字指纹。
13.一种对数字数据时间序列进行编码的方法,该方法包括以下步骤:
生成表征所述时间序列的包括多个帧的区间中的所述数字数据的粗数字指纹;
生成所述区间的多个细数字指纹,每个细数字指纹表征所述区间中的帧;
计算时间上相邻的细数字指纹的元素之间的差分,生成预测差分矩阵,
将该预测性差分矩阵按列扫描以得到一维向量,
对所述一维向量进行编码,由此进行预测性编码,以及
使用标志表示被压缩的细数字指纹的存在。
14.如权利要求13所述的方法,该方法进一步包括以下步骤:
对所述区间的至少1个其他细数字指纹进行非预测性编码。
15.如权利要求14所述的方法,其中:
将每个所述细数字指纹生成为三进制值向量;并且
对所述细数字指纹进行非预测性编码包括生成该细数字指纹的三进制值的二进制表示。
16.如权利要求13至15中任一项所述的方法,其中:
所述时间序列包括图片的时间序列;
该方法进一步包括指定所述序列中作为关键图片的图片的步骤;并且
对非关键图片的所述细数字指纹进行预测性编码。
17.如权利要求13所述的方法,其中,根据所述区间的所述多个细数字指纹生成所述区间的所述粗数字指纹。
18.如权利要求13所述的方法,其中:
将每个所述细数字指纹生成为三进制值向量;并且
对所述细数字指纹进行预测性编码的步骤包括:
通过计算所述细数字指纹和不同的细数字指纹之间的模3差分来计算所述细数字指纹和不同的细数字指纹之间的差分以生成预测差分矩阵;
列扫描所述预测差分矩阵以形成作为三进制值向量的一维向量;
对所述一维向量执行编码,使得用一个比特对三进制值“1”和“2”进行编码,而使用零游程对三进制值“0”进行隐性编码。
19.一种对已编码数字内容进行解码的方法,该方法包括以下步骤:
接收数字数据时间序列的已编码数据,该已编码数据针对所述时间序列的多个区间中的每一个区间包括表征包括多个帧的该区间中的所述数字数据的粗数字指纹,并包括多个细数字指纹,每个细数字指纹表征该区间中的帧,对所述细数字指纹进行选择性的预测性编码;和
对被预测性编码的所述细数字指纹进行解码;
其中,对被预测性编码的所述细数字指纹进行解码的步骤包括:
对接收到的所述编码数据进行解码以生成一维向量;
将来自所述一维向量的值放入预测差分矩阵中,每个值是所述一维向量的一个元素;
对所述预测差分矩阵和前面解码的细数字指纹进行组合以重构正被解码的所述细数字指纹。
20.如权利要求19所述的方法,其中:
接收其中每个区间的至少一个细数字指纹被非预测性编码的已编码数据;并且所述方法进一步包括对被非预测性编码的所述细数字指纹进行解码的步骤。
21.如权利要求20所述的方法,其中:
在接收到的所述已编码数据中,被非预测性编码的所述细数字指纹包括三进制值的二进制表示;并且
所述非预测性解码包括对所述二进制表示进行解码以生成所述三进制值。
22.如权利要求19所述的方法,其中,接收不同长度区间的已编码数据并对该已编码数据进行解码。
23.如权利要求19所述的方法,其中,通过对所述预测差分矩阵和前面解码的细数字指纹执行模3相加来对所述预测差分矩阵和前面解码的细数字指纹进行组合。
24.一种在已编码数据的数据库中搜索数字数据时间序列的方法,该已编码数据针对所述时间序列的多个区间中的每一个区间包括表征包括多个帧的该区间中的所述数字数据的粗数字指纹,并包括多个细数字指纹,每个细数字指纹表征该区间中的帧,并且所述细数字指纹中至少一个、而非全部细数字指纹被预测性编码,其中每个区间的所述已编码数据包括至少一个被非预测性编码且包括三进制值的二进制表示的细数字指纹,该方法包括:
匹配处理,其比较输入的粗数字指纹和所述数据库中的所述粗数字指纹以识别所述数据库中与该输入的粗数字指纹相匹配的粗数字指纹;和
解码处理,该解码处理包括:
对被预测性编码的所述细数字指纹进行预测性解码;和
通过对所述二进制表示进行解码以生成所述三进制值来对被非预测性编码的所述细数字指纹进行解码;
其中:
所述解码处理仅针对具有与所述输入的粗数字指纹相匹配的粗数字指纹的区间的所述细数字指纹进行解码;并且
通过以下操作对各个预测性编码的细数字指纹进行解码:
对接收到的所述预测性编码数据进行解码以生成一维向量;
将来自所述一维向量的值放入预测差分矩阵中;以及
通过对所述预测差分矩阵和前面解码的细数字指纹执行模3相加来对所述预测差分矩阵和前面解码的细数字指纹进行组合以重构正被解码的所述细数字指纹。

说明书全文

多媒体签名的编码和解码

技术领域

[0001] 本发明涉及诸如视频或音频的多媒体条目签名或指纹的编码和解码。

背景技术

[0002] 多媒体指纹(通常也被称为签名健壮散列)已被提议作为独特识别多媒体内容(音频、图像和视频)的一种方法。一种典型的指纹提取方法将信号处理技术应用于多媒体内容以提取描述符。这些描述符可以表示时间采样点上的空间信息、时间信息和/或时空信息。这些描述符一般是可量化为少量值(例如,2(二进制值)、3(三进制值)、4(四进制值)等)的特征的高维向量。描述符也可例如通过奇异值分解(SVD)投影到某种低维空间。用于区分不同的多媒体指纹提取方法的重要特征包括独特性、健壮性、描述符大小、搜索速度和时间粒度。
[0003] 由前述方法所提取的视频指纹或者对每采样,或者在某已知时间段上采样,或者在被认为具有某种重要性的时间位置上(例如,关键帧)采样。对每帧采样会导致大的指纹,使得存储和传送的成本很高。按较小的时间区间采样会导致较小的指纹;然而在该方法所能达到的时间粒度上存在损失。本领域的技术人员都清楚,对于音频指纹存在类似的局限。
[0004] 无损编码方案一般使用游程长度编码和可变长度前缀编码的某种组合。比如,无损编码具有在传真机信息编码和数字图像文件格式压缩方面的应用。编码系统的前缀特性是指没有一个具有前缀的编码字和其他编码字相同的事实。霍夫曼编码构成一个特殊的例子,其中码字长度是依照被编码符号的概率而自适应选择的。为达到特定符号集的最佳熵限,码字长度需要是li=-log2pi,其中pi是第i个符号的概率。然而,当编码器(发射机)知道这些概率,而解码器(接收器)不知道这些概率时,霍夫曼编码需要特定码字到特定符号的信令分配的开销。如果使用一些预定的概率表,因而只传输表的索引,则可由少量的比特来完成该工作。另一个可变长度编码的变体,算术编码,在符号概率对应于非整数码字长度的情况下可达到最佳码字长度。算术编码通常比霍夫曼编码更复杂,而霍夫曼编码又比通用编码更复杂,通用编码的码字集是固定的。通用编码具有如下特性:对于单调递减分布(pi≥pi 1),期望的码字长度比最佳码字长度长恒定倍数。一个常用的通用编码是指数哥伦布(也被称为Exp-Golomb),其对于具有宽尾部(索引值i较大的符号具有相对大的概率)的指数概率分布表现良好。编码由非负整数s来参数化,码字长度为 针对s=0,1,2的前8个码字如下面表1所示。
[0005] 表1.指数哥伦布码字和对应的比特长度
[0006]  s=2
  i   s=0   s=1
  0   1(1)   00(2)   000(3)
  1   010(3)   01(2)   001(3)
  2   011(3)   1000(4)   010(3)
  3   00100(5)   1001(4)   011(3)
  4   00101(5)   1010(4)   10000(5)
  5   00110(5)   1011(4)   10001(5)
  6   00111(5)   110000(6)   10010(5)
  7   0001000(7)   110001(6)   10011(5)
[0007] 游程长度编码用符号的单个表示、随后跟着符号的计数(游程长度)来表示编码符号的游程。游程长度本身可以是由任何上述方法编码的熵,方法的选择依赖于基础概率分布。

发明内容

[0008] 在我们的名为“视频识别”的待审中国专利申请201010105363.3(通过交叉引用将该中国专利申请的全部内容并入于此)中,我们公开了一种方法,其中多媒体指纹由粗指纹(在申请201010105363.3中被称为“字直方图”)和细指纹(在申请201010105363.3中被称为“帧描述符”)构成。粗指纹的时间周期代表了多个细指纹的周期。在典型的搜索算法中,粗描述符将用于以低误告警率非常快速地确定匹配时间区域。随后可以使用细描述符在候选时间区域中完成更细致的搜索。通常,一些多媒体内容的细指纹的整体大小远大于同一内容的粗指纹,比如,大小之比通常可以为大约10∶1。另一方面,细指纹不会被频繁访问,也就是说仅仅在粗指纹指示匹配时间区域时才被访问。因此,期望为多媒体指纹设计一个高效且灵活的编码方案,其将允许对不频繁使用部分进行显著压缩和轻松访问。
[0009] 本申请公开了一种高效且灵活地对多媒体指纹进行编码的装置/方法。还公开了相应的解码装置/方法。所公开的装置/方法包括引入对细描述符的压缩。其提供的技术优点是能显著地减小整体指纹大小。应清楚的是,这对于或者减少硬件成本或者增加能够被实际使用的数据库的大小是非常期望的。为确保索引速度和搜索速度没有显著降低,公开了一个高效且低复杂度的编码/解码方案。
[0010] 总体上,该方法包括优选地根据动态选择的压缩方案对签名中较大且较少使用的部分进行高效、灵活和快速的编码,而使签名中较小且更频繁使用的部分不被压缩。该编码方案被设计为,一方面获得了一个高压缩比,另一方面允许对已编码数据进行轻松访问和解码。
[0011] 更具体的是,本发明的实施方式提供了一种用于多媒体签名编码的方法和装置,其:
[0012] 实现了对描述符中较大且较少使用的部分进行高效、灵活且快速的编码,而使描述符中较小且更频繁使用的部分不被压缩;
[0013] 一方面,获得了一个高压缩比,另一方面,允许对已编码数据进行轻松访问和解码;
[0014] 基于对未编码数据的处理决定要压缩的数据,因此将解码计算负荷减少至最小需求;
[0015] 允许多媒体签名的更高效存储和传输。
[0016] 多媒体内容的时间区间(也被成为时间段或片段),例如视频段或音频段,由粗指纹和多个细指纹描述,每个细指纹对应于所述时间区间的一个时间子区间,所述时间子区间通常比所述时间区间短。
[0017] 一个或更多个细指纹以非预测方式被编码,对时间上相邻的签名没有指引,而一个或多个细指纹根据时间上相邻的签名以预测方式被编码。
[0018] 优选地,预测性编码需要计算相邻细指纹之间的差分以构成预测差分矩阵,通过按行或按列或按对线或按任何合适的扫描模式来向量化,把所述预测差分矩阵扫描为一维向量,通过优选地至少部分基于所使用的扫描方法而选择的合适方法来对该一维向量执行无损编码。然而,应理解的是,替代地可以使用其它形式的预测性编码。
[0019] 更具体地说,根据本发明,提供了一种用于对数字数据的时间序列进行编码的数字内容编码器,该数字内容编码器包括:
[0020] 粗数字指纹生成器,其用于生成表征所述时间序列的区间中的数字数据的粗数字指纹;
[0021] 细数字指纹生成器,其用于生成所述区间的多个细数字指纹,各个细数字指纹表征所述区间中的各对应子区间中的数字数据;以及
[0022] 预测性编码器,其用于对所述区间的细数字指纹子集实施无损预测性编码。
[0023] 本发明还提供了一种数字内容编码器,该数字内容编码器用于对数字数据的时间序列的数字指纹进行编码,数字指纹包括表征该时间序列的区间中的数字数据的粗数字指纹,并包括该区间的多个细数字指纹,每个细数字指纹表征该区间中各对应子区间的数字数据,该数字内容编码器包括:
[0024] 预测性编码器,其被设置为对所述区间的至少一个、而非全部细数字指纹实施预测性编码。
[0025] 本发明还提供了一种用于对已编码数字内容进行解码的解码器,该解码器包括:
[0026] 接收器,其用于接收数字数据的时间序列的已编码数据,该已编码数据针对所述时间序列的多个区间中的各个区间包括表征该区间中的数字数据的粗数字指纹,表征该区间的第一子区间中的数字数据并且被预测性编码的至少一个细数字指纹,以及表征该区间的第二子区间中的数字数据的至少一个细数字指纹;和
[0027] 预测性解码器,其用于对被预测性编码的细数字指纹进行解码。
[0028] 本发明还提供了一种搜索装置,该搜索装置用于在已编码数据的数据库中搜索数字数据的时间序列,该已编码数据针对所述时间序列的多个区间中的每一个区间都包括,表征该区间中的数字数据的粗数字指纹,表征该区间的第一子区间中的数字数据且被预测性编码的至少一个细数字指纹,以及表征该区间的第二子区间中的数字数据的至少一个细数字指纹,该搜索装置包括:
[0029] 指纹匹配器,其用于比较输入的粗数字指纹和所述数据库中的粗数字指纹以识别所述数据库中与所输入的粗数字指纹相匹配的粗数字指纹;和
[0030] 解码器,该解码器包括:
[0031] 预测性解码器,其用于对被预测性编码的细数字指纹进行解码;
[0032] 其中,所述解码器被设置为仅针对具有与所输入的粗数字指纹相匹配的粗数字指纹的区间来对细数字指纹进行解码。
[0033] 本发明还提供了一种对数字数据的时间序列进行编码的方法,该方法包括以下步骤:
[0034] 生成表征所述时间序列的区间中的数字数据的粗数字指纹;
[0035] 生成所述区间的多个细数字指纹,每个细数字指纹表征该区间中各对应子区间的数字数据;以及
[0036] 仅对所述区间的细数字指纹子集实施预测性编码。
[0037] 本发明还提供了对数字数据的时间序列的数字指纹进行编码的方法,所述数字指纹包括表征该时间序列的区间中的数字数据的粗数字指纹,以及该区间的多个细数字指纹,每个细数字指纹表征该区间中各对应子区间的数字数据,该方法包括以下步骤:
[0038] 对所述区间中的至少一个、而非全部细数字指纹实施预测性编码。
[0039] 本发明还提供了一种对已编码数字内容进行解码的方法,该方法包括以下步骤:
[0040] 接收数字数据的时间序列的已编码数据,该已编码数据针对该时间序列的多个区间中的每一个区间都包括,表征该区间中的数字数据的粗数字指纹,表征该区间的第一子区间中的数字数据且被预测性编码的至少一个细数字指纹,以及表征该区间的第二子区间中的数字数据的至少一个细数字指纹;和
[0041] 对被预测性编码的细数字指纹进行解码。
[0042] 本发明还提供了一种在已编码数据的数据库中搜索数字数据的时间序列的方法,该已编码数据针对该时间序列的多个区间中的每一个区间都包括,表征该区间中的数字数据的粗数字指纹,表征该区间的第一子区间中的数字数据且被预测性编码的至少一个细数字指纹,以及表征该区间的第二子区间中的数字数据的至少一个细数字指纹,该方法包括以下步骤:
[0043] 搜索处理,其比较所输入的粗数字指纹和所述数据库中的粗数字指纹以识别所述数据库中与所输入的粗数字指纹相匹配的粗数字指纹;和
[0044] 解码处理,其对区间的(多个)预测性编码的细数字指纹进行解码;
[0045] 其中,仅针对具有与所输入的粗数字指纹相匹配的粗数字指纹的区间来执行解码处理以对(多个)细数字指纹进行解码。
[0046] 本发明还提供了一种物理实现的计算机程序存储装置,该装置用于存储计算机可读编程指令,该指令用于对可编程处理装置进行编程以使其能够执行上述的编码方法、解码方法和/或搜索方法。
[0047] 本发明还提供了一种携带计算机可读编程指令的信号,所述指令用于对可编程处理装置进行编程以使其能够执行上述的编码方法、解码方法和/或搜索方法。
[0048] 本发明还提供了一种携带数字数据的时间序列的已编码数据的记录载体,该已编码数据针对该时间序列的多个区间中的每一个区间都包括,表征该区间中的数字数据的粗数字指纹,表征该区间的第一子区间中的数字数据且被预测性编码的至少一个细数字指纹,以及表征该区间的第二子区间中的数字数据的至少一个细数字指纹。
[0049] 本发明还提供了一种携带数字数据的时间序列的已编码数据的信号,该已编码数据针对该时间序列的多个区间中的每一个区间都包括,表征该区间中的数字数据的粗数字指纹,表征该区间的第一子区间中的数字数据且被预测性编码的至少一个细数字指纹,以及表征该区间的第二子区间中的数字数据的至少一个细数码指纹。附图说明
[0050] 下面将参考附图,仅仅以示例的方式来描述本发明的实施方式,附图中:
[0051] 图1示出了根据一实施方式的编码器装置的框图
[0052] 图2示出了根据一实施方式对数字签名进行编码的操作的流程图
[0053] 图3示出了根据一实施方式的解码器装置的框图;
[0054] 图4例示了根据一实施方式的预测差分矩阵的列扫描;
[0055] 图5例示了根据一实施方式的向量化预测差分矩阵的编码方案;
[0056] 图6例示了在一实施方式中如何使用exp-Golomb码以提供对具有宽尾部分布的零游程长度的良好拟合;以及
[0057] 图7和图8示出了89×170三进制值与89×272二进制值之间的比较。

具体实施方式

[0058] 图1示出了根据一实施方式的编码器装置的框图,图2示出了由该装置执行以对多媒体签名进行编码的处理操作。
[0059] 图3示出了根据一实施方式的解码器装置的框图。
[0060] 图1和图3所示的装置都包括可编程处理装置,该可编程处理装置被编程为根据计算机程序指令执行处理操作。因此,本发明的一个实施方式包括计算机程序产品如CD-ROM或其它存储装置(在图1中示出为28,在图3中示出为122)或者提供对可编程处理装置进行编程的计算机编程指令的信号(在图1中示出为30,在图3中示出为124)。然而,应理解的是,图1和/或图3中所示装置的部件可以替代地是硬件部件。
[0061] 在所公开的编码方法中,多媒体内容时间区间(也被称为时间片段),例如视频段或音频段,由粗指纹和多个细指纹来描述,每个细指纹对应于所述时间区间中的一个时间子区间,所述时间子区间通常比所述时间区间短。
[0062] 作为示例,而非限制,在我们前面引用的名为“视频识别”的待审专利申请201010105363.3中描述了这类多媒体指纹提取方法,其中时间视频段通过粗指纹和多个细指纹作为整体来描述,每个细指纹对应于时间段的对应一帧。
[0063] 为了提取内容签名,多媒体内容可被分为多个同一长度的时间段,或者替代地可以使用可变长度的段。比如,可以通过检测视频或音频帧边界或显著改变来确定可变长度。
[0064] 在优选实施方式中,从细指纹中提取粗指纹。因此,当使用可变长度段时,可以在从多媒体内容中提取了所有的细描述符之后确定时间段。在这样的实施方式中,对细描述符的分析可用于确定合适的时间段。
[0065] 在本发明针对视频签名的优选实施方式中,视频被分成多个时间段,并且每个时间段通过粗指纹和多个细指纹作为整体来描述,每个细指纹对应于时间段的对应一帧或对应一张图片。时间段中的细指纹被分组为多个图片组(GOP)。
[0066] 在本发明的优选实施方式中,表2概述了对由temporal_segment()所表示的时间段的压缩表示进行编码所需的语法。
[0067] 表2.Temporal_segment()语法和解码器伪码
[0068] 描述
num_pictures=0
while(num_pictures<segment_length){
  group_of_pictures()  参见表group_of_pictures()
  num_pictures=num_pictures+pplen+1
}
[0069] 语法元素的描述:
[0070] group_of_pictures():指定图片组,由至少一个编码图片指纹构成,[0071] segment_length:以图片数来指定时间段的长度。在多媒体签名语法的更高级别中指定(为一个时间段定义或者对于整个内容是恒定的)。
[0072] 关键图片指纹是按非预测性方式编码的图片指纹,时间上相邻的图片没有指引,用KP表示。预测图片指纹是根据时间上相邻的图片以预测性方式编码的,用PP表示。GOP被定义为两个KP之间的一组图片指纹,包括时间上的第一个KP和下一个KP之前的所有PP。GOP因此包含一个关键图片和0个或更多个预测图片。
[0073] 在本发明的优选实施方式中,图片指纹是M个元素构成的向量,其中每个元素可以取N=3个可能值,即,元素是三进制数。单个关键图片内的信息冗余很少,所以不对这些图片指纹实施压缩——而用二进制表示来完成编码。
[0074] 在本发明的优选实施方式中,考虑了三进制指纹的两个不同二进制表示:
[0075] 1、每5个连续三进制元素被打包成一个字节(35=243<256=28)。例如,对于M=340,整个图片指纹需要8×340/5=544比特(68个字节)。本方法可由8比特运算容易地实现。这种打包方法表示为5t→8b。另外一个例子是,对于M=384,整个图片指纹需要8×380/
5(5t→8b)+7×4/4(4t→7b)=615比特(76个字节,空余1比特)。
[0076] 2、每17个连续三进制元素被打包成27比特(317=129140163<134217728=227)。通过在特定字节位置按所需的比特数对所获得的27比特进行比特移位来完成打包成最后的字节串。比如,对于M=340,27×340/17=540,因此这种方法为每张图片节省了4比特,这些比特可用于传输额外信息(比如标志)。由于在一次转换中使用了27比特,所以基于32比特运算的实现是可行的。如果是寻求按字节对齐,则具有额外的4比特是很有用的,从而能够不花费额外的字节来信令表示当前GOP中的全零差分向量。这种打包方法可表示为17t→
27b。作为另外一个例子,对于M=384,整个图片指纹需要27×374/17(17t→27b)+8×10/5(5t→8b)=610比特(76字节,空余6比特)。
[0077] 可替代的是,可以采用其它二进制表示,其中,取决于三进制元素的数量,可在打包效率和实现复杂度之间做出折中。比如,对于M=290,可以使用三进制打包方法29t→46b,相比于5t→8b打包,可节约4比特。
[0078] 在下文中,用于KP表示的比特数量被称为“KP比特”,而与打包方法无关。
[0079] 在本发明的优选实施方式中,表3概述了对由group_of_pictures()表示的GOP的压缩表示进行编码所需的语法。
[0080] 表3.Group_of_pictures()语法和解码器伪码
[0081]  描述
key_picture   KP比特
KP_GOP_flag   1比特
if(KP_GOP_flag==0){
 last_GOP_flag   1比特
 if(last_GOP_fag==1){
     pplen=segment_length-num_pictures-1
  }else{
      GOP_length_minus2   7比特
      pplen=GOP_length_minus2+1
  }
  nonzero_GOP_flag   1比特
  if(nonzero_GOP_flag==1){
      predicted_pictures()
  }
}else{
    pplen=0
}
[0082] 语法元素的描述:
[0083] key_picture:打包成KP比特的关键图片
[0084] KP_GOP_flag:当等于1时,当前GOP包含单个关键图片(在GOP中没有预测性图片)。而当等于0时,在当前GOP中存在预测性图片。
[0085] last_GOP_flag:当等于0时,当前GOP不是时间段中的最后一个。当等于1时,当前GOP是时间段中的最后一个并且导出得到其长度。
[0086] GOP_length_minus2:以图片数量减去两个图片表示的GOP长度。比如,对于包含一个KP和一个PP的GOP,此语法元素的值等于0。
[0087] nonzero_GOP_flag:当等于0时,所有PP(如果它们对于当前GOP存在)等于KP且跳过解码(KP被重复了pplen次)。当等于1时,PP被解码。
[0088] predicted_pictures():具有已编码PP的部分比特流。
[0089] 在本发明的优选实施方式中,通过计算当前指纹和前一指纹中的元素之间的模3差分来转换预测图片。这样转换的预测图片构成预测差分矩阵,该预测差分矩阵在所谓的“向量化”步骤中被扫描为一维向量。在通过连接预测差分矩阵的各列来执行时,向量化步骤发现如下事实:在一个GOP中,某些指纹位置比其它指纹位置更不易变化,这导致更长的零游程,即,更紧凑的表示。其它替代方法是连接预测差分矩阵的行,Z字形扫描,或者以任何其它扫描模式扫描。取决于向量化扫描模式的选择,可以对熵编码方法做出不同的选择。可以在视频序列中依赖于已编码指纹的统计而动态地完成该选择。图4描述了已编码的GOP的结构(由转换成预测差分矩阵的KP和PP构成)。图4例示了预测差分矩阵的列扫描,但如上所述,可以使用其它的扫描方法。
[0090] 三进制值用于生成预测差分,因为这可以隐性地对字节打包二进制表示进行去相关。这可以通过比较图7(89×170三进制值,其中白色表示三进制值“0”,灰色表示三进制值“1”,黑色表示三进制值“2”)和图8(89×272二进制值,其中白色表示二进制值“0”,黑色表示二进制值“1”)得到,其中,在图8中,图片内的相关性比图片7中要高得多,都表示了同一GOP中的前一半指纹元素。
[0091] 指纹三进制元素之间的模3差分运算又可以生成三进制符号“0”、“1”和“2”。预测差分矩阵因此由这三个三进制符号构成,它们被不同地编码:
[0092] 三进制值“1”和“2”:每个都用一个比特进行编码,二进制值“0”对应于三进制值“1”,而二进制值“1”对应于三进制值“2”。在每个三进制符号后,插入零游程的游程长度码字。如果后面没有零,则使用零长度的码字。
[0093] 三进制值“0”:该三进制符号被隐性编码,因为在每个非0的三进制符号后都必须跟随有零游程。
[0094] 在本发明的优选实施方式中,表4概述了对由predicted_pictures()表示的预测差分矩阵的压缩表示进行编码所需的语法。
[0095] 表4.Predicted_pictures()语法和解码器伪码
[0096]  描述
decoded_el=0
num_el=pplen×M
while(decoded_el<num_el){
  zero_rle   exp-Golomb(),可变数个比特
  decoded_el=decoded_el+zero_rle
  if(decoded_el==num_el)then break
  non_zero_symbol   1比特
}
[0097] 语法元素的描述:
[0098] zero_rle:三进制值“0”的游程长度,使用exp-Golomb编码来编码。
[0099] non_zero_symbol:当等于0时,当前符号是三进制值“1”。当等于1时,当前符号是三进制值“2”。
[0100] 图5描述了这种向量化预测差分矩阵的编码方案,其中“vb”是指可变比特数,而“1b”是指1个比特的长度。然而,该编码方案不是唯一的。例如,对三进制符号进行编码的两种替代方法按照如下步骤进行处理:
[0101] 1、不使用0的零长游程长度,其中用单个比特对各单独非0符号进行编码,用额外的单比特来信令表示下一个符号类型(非零或零)。
[0102] 2、不使用0的零长游程长度,其中使用游程长度编码对非零符号的游程进行编码。此外,用一个比特来信令表示下一个游程的符号。
[0103] 零游程长度具有带宽广曲线的分布(宽广曲线指数或幂定律分布),因此在优选实施方式中使用具有参数s=2的exp-Golomb码,因为它们与该分布非常相符并导致低复杂度的实现。这示出在图6中,图6描述了根据经验获得的零游程长度的概率分布。在本发明的另选实施方式中,可以使用自适应Exp-Golomb方案,其中自适应地选择参数s并且用其它参数对该选择进行编码,或者另选的是,可以使用某种其它合适的编码方案,如霍夫曼编码或算术编码。
[0104] 对编码器的要求是所得比特流符合前面章节所述的语法。因此,存在许多可能的编码方法,每一种都潜在地导致不同的压缩性能。下面描述编码器的优选实施方式。
[0105] 1、独立于其它时间段对每个时间段的图片指纹进行编码。
[0106] 2、将段的第一个图片指纹编码为KP。
[0107] 3、前进一个图片。如果当前图片是段中的最后一个图片,则转到步骤6。
[0108] 4、测试当前图片和先前图片的相关性,如果测试结果表明相关性低则将当前图片指纹编码为KP。
[0109] 5、如果在步骤4中,KP没有被插入,则在预测差分矩阵中存储预测差分,并且转回步骤3,否则转到步骤6。通过当前和先前图片指纹之间的模3减法获得该预测差分。
[0110] 6、通过把所存储的预测差分矩阵转换为向量(向量化步骤)并对这样的向量施加熵编码,将从前一个KP到当前图片之前的最后一张图片的所有指纹编码为一个GOP。在GOP的开始,对一切所需的参数进行编码,如GOP的长度,熵编码参数等等。可选的是,进行向量化方法和熵编码的选择,这也被编码为一个参数。
[0111] 在步骤4中的相关性测试可以包含简单的压缩效率测试,其中用游程长度编码器对预测差分进行编码,并且比较该数据的比特长度和KP的比特长度(KP比特)。另一个例子是仅对差分图片中的三进制0进行计数,并且将其与阈值进行比较。
[0112] 在优选实施方式中,使用标志来指示压缩细指纹的存在,优选的是使用1比特的标志。在优选实施方式中,对于包括多个时间段的整个多媒体条目的指纹使用单个压缩标志。在替代实施方式中,可有多个压缩标志,对于多媒体条目的每个时间段都有一个压缩标志,指示对于各段细指纹压缩的存在。压缩标志使得在计算资源比存储/传输资源明显少的情况下可以不使用压缩。进而,在系统中,可以期望,最常被访问的内容不被压缩,而所有其它的内容被压缩。这允许达到可用计算资源(CPU时间、存储器大小、硬盘带宽等)的更优的平衡。例如,最近7天TV的索引可以以非压缩状态来存储,而所有更老的内容以压缩状态来存储。还可以期望,针对单条多媒体内容,以压缩格式存储一些指纹并且以非压缩格式存储一些指纹。
[0113] 在优选实施方式中,当压缩标志被设为“1”时,压缩对应的精确描述符。当压缩标志被设为“0”时,没有对对应的精确描述符施加压缩。
[0114] 编码可以形成提取方法的一部分,或者可以是在任何时间被应用的单独方法,例如,精确指纹可以在本地系统被提取和存储,随后在通过低速连接进行传输之前被编码。
[0115] 在本发明的另选实施方式中,还可以使用预测性编码或任何其它合适的编码方法来压缩粗描述符。这将进一步减小整体指纹大小,但也将增加使用该签名的计算复杂度,例如在匹配应用中。
[0116] 在本发明的另选实施方式中,KP可不经任何打包而被存储。例如,可以按照对每一像素使用两比特的“原始”格式来存储包括三进制值的KP。这将导致整体签名大小的小增加,但也将减少对细签名进行解码的整体复杂度。
[0117] 更进一步,除粗签名之外,细签名的压缩块特性还可以用于时间段的快速匹配。这类特性包括KP(关键图片)的绝对和相对位置,诸如平均值和最大值的零游程统计等。
[0118] 搜索速度对于许多多媒体指纹应用都非常重要。因为这个原因,压缩方案高效是非常重要的。这里所描述的压缩方案实现了低复杂度的目的。
[0119] 本申请要求在2009年10月5日提交的英国专利申请GB 0917417.8的优先权,通过引用将该英国专利申请的全部内容并入于此。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈