CN109417391B - 压缩视频流中的索引 - Google Patents

压缩视频流中的索引 Download PDF

Info

Publication number
CN109417391B
CN109417391B CN201780023618.1A CN201780023618A CN109417391B CN 109417391 B CN109417391 B CN 109417391B CN 201780023618 A CN201780023618 A CN 201780023618A CN 109417391 B CN109417391 B CN 109417391B
Authority
CN
China
Prior art keywords
index
array
data items
processor
index values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201780023618.1A
Other languages
English (en)
Other versions
CN109417391A (zh
Inventor
亚龙·萨拉
迈克尔·德维尔
哈雷尔·卡恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN109417391A publication Critical patent/CN109417391A/zh
Application granted granted Critical
Publication of CN109417391B publication Critical patent/CN109417391B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3091Data deduplication
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3091Data deduplication
    • H03M7/3093Data deduplication using fixed length segments
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4093Variable length to variable length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

在一个实施例中,描述了用于在对数据项阵列中的数据项进行索引时优化索引值长度的系统、装置和方法,该方法包括:在第一处理器处产生有序的一系列索引值;向索引处理器发送有序的一系列索引值;在索引处理器处接收包括数据项阵列的数据对象;在索引处理器处将索引值中的一个索引值的第一部分与数据项阵列的第一个数据项关联;在索引处理器处将索引值中的一个索引值的第二部分与数据项阵列的下一个数据项关联;重复将索引值中的一个索引值的第一部分进行关联以及将索引值中的一个索引值的第二部分进行关联的步骤,直到数据项阵列中的所有数据项都被索引。

Description

压缩视频流中的索引
技术领域
本公开一般地涉及对元素流进行索引。
背景技术
在取证水印(forensic watermarking)的领域中,可能泄漏内容的潜在叛逆者的ID被多次嵌入在内容流中,并且通常期望对ID实例的索引进行编码。
术语“索引压缩”可以用于信息检索的领域。在信息检索的背景下,索引压缩被理解为是指对诸如数据库之类的检索系统的索引结构进行压缩,其中索引压缩是用于实现更高效的数据存储的技术。在本说明书和权利要求中,术语“索引压缩”被理解为是指压缩实际索引(与数据库索引结构相反)的技术,使得对于所使用的每个索引值而言需要更少的位和字节。
发明内容
根据本公开的一个实施例,提供了一种用于在对数据项阵列中的数据项进行索引时优化索引值长度的方法,所述方法包括:在第一处理器处产生有序的一系列索引值,所述有序的一系列索引值包括有向图中的哈密尔顿路径的节点;向索引处理器发送所述有序的一系列索引值;在所述索引处理器处接收包括所述数据项阵列的数据对象;在所述索引处理器处将所述索引值中的一个索引值的第一部分与所述数据项阵列的第一个数据项关联;在所述索引处理器处将所述索引值中的一个索引值的第二部分与所述数据项阵列的下一个数据项关联;重复将所述索引值中的一个索引值的第一部分进行关联以及将所述索引值中的一个索引值的第二部分进行关联的步骤,直到所述数据项阵列中的所有数据项都被索引,从而形成经索引的数据项阵列;以及输出包括所述经索引的数据项阵列的所述数据对象,其中,所述索引值中的一个索引值的第一部分和所述索引值中的一个索引值的第二部分中的每个部分一次用于标识所述数据项阵列的第一个数据项,并且一次用于标识所述数据项阵列的下一个数据项。
根据本公开的另一实施例,提供了一种用于在对数据项阵列中的数据项进行索引时优化索引值长度的系统,所述系统包括:第一处理器,被配置为产生有序的一系列索引值,所述有序的一系列索引值包括有向图中的哈密尔顿路径的节点;所述第一处理器进一步被配置为向索引处理器发送所述有序的一系列索引值;所述索引处理器被配置为接收包括所述数据项阵列的数据对象;所述索引处理器进一步被配置为将所述索引值中的一个索引值的第一部分与所述数据项阵列的第一个数据项关联;所述索引处理器还进一步被配置为将所述索引值中的一个索引值的第二部分与所述数据项阵列的下一个数据项关联;所述索引处理器又进一步被配置为重复地将所述索引值中的一个索引值的第一部分进行关联以及将索引值中的一个索引值的第二部分进行关联,直到所述数据项阵列中的所有数据项都被索引,从而形成经索引的数据项阵列;以及所述索引处理器被配置为输出包括所述经索引的数据项阵列的所述数据对象,其中,所述索引值中的一个索引值的第一部分和所述索引值中的一个索引值的第二部分中的每个部分一次用于标识所述数据项阵列的第一个数据项,并且一次用于标识所述数据项阵列的下一个数据项。
根据本公开的又一实施例,提供了一种用于在对数据项阵列中的数据项进行索引时优化索引值长度的设备,所述设备包括:用于在第一处理器处产生有序的一系列索引值的装置,所述有序的一系列索引值包括有向图中的哈密尔顿路径的节点;用于向索引处理器发送所述有序的一系列索引值的装置;用于在所述索引处理器处接收包括所述数据项阵列的数据对象的装置;用于在所述索引处理器处将所述索引值中的一个索引值的第一部分与所述数据项阵列的第一个数据项关联的装置;用于在所述索引处理器处将所述索引值中的一个索引值的第二部分与所述数据项阵列的下一个数据项关联的装置;用于执行以下操作的装置:重复将所述索引值中的一个索引值的第一部分进行关联以及将所述索引值中的一个索引值的第二部分进行关联的步骤,直到所述数据项阵列中的所有数据项都被索引,从而形成经索引的数据项阵列;以及用于输出包括所述经索引的数据项阵列的所述数据对象的装置,其中,所述索引值中的一个索引值的第一部分和所述索引值中的一个索引值的第二部分中的每个部分一次用于标识所述数据项阵列的第一个数据项,并且一次用于标识所述数据项阵列的下一个数据项。
附图说明
根据结合附图的以下具体实施方式,将更充分地理解和认识本公开,在附图中:
图1是根据本发明的实施例构建和操作的标识数据和索引的简化框图;
图2是图1的数据流及其索引的另一视图;
图3是图1的实施例的简化框图;
图4是用于嵌入图1的索引的系统的简化框图;
图5是图1的系统的示例性实施例,其中嵌入的索引被用于在多个水印流式视频帧中对水印进行索引;
图6是用于嵌入图4的索引的系统的示例性实施例;
图7是用于产生图1的多个水印流式视频帧的方法的简化流程图;并且
图8是通过附录A的哈密尔顿路径所采取的线路的图形表示。
根据结合附录的以下具体实施方式,将更充分地理解和认识本发明,在附录中:
附录A提供了在具有64个节点的有向图中建立的示例性哈密尔顿路径。
具体实施方式
概述
在独立权利要求中列出了本发明的各个方面,并且在从属权利要求中列出了优选特征。一个方面的特征可以单独地或与其他方面组合地应用于每个方面。
描述了用于在索引数据项阵列中的数据项时优化索引值长度的系统、装置和方法,该方法包括:在第一处理器处产生有序的一系列索引值,该有序的一系列索引值包括有向图中的哈密尔顿路径的节点;向索引处理器发送有序的一系列索引值;在索引处理器处接收包括数据项阵列的数据对象;在索引处理器处将索引值中的一个索引值的第一部分与数据项阵列的第一个数据项关联;在索引处理器处,将索引值中的一个索引值的第二部分与数据项阵列的下一个数据项关联;重复将索引值中的一个索引值的第一部分进行关联以及将索引值中的一个索引值的第二部分进行关联的步骤,直到数据项阵列中的所有数据项都被索引,从而形成经索引的数据项阵列;以及输出包括经索引的数据项阵列的数据对象,其中,索引值中的一个索引值的第一部分和索引值中的一个索引值的第二部分中的每个部分一次用于标识数据项阵列的第一个数据项,并且一次用于标识数据项阵列的下一个数据项。
还描述了用于实现本文描述的方法的系统和设备,包括网络节点、计算机程序、计算机程序产品、计算机可读介质和在有形介质上编码的用于实现这些方法的逻辑。
示例性实施例
现在参考图1,图1是根据本发明的实施例构造和操作的、显示数据项20和与数据项相关联的索引30的索引数据项20的流10的简化框图。流10还可以包括附加的非索引形式的数据,其设置在第一索引数据项20的结束和第二索引数据项20的开始之间。因此,流10被描绘为具有数据项之间的空间“…”40,例如数据项20A和数据项20B的后续index_B 30之间的空间40。
由于数据项20的流性质,每个数据实例20被两个索引30围住:一个在它前面,以及一个在它后面。现在另外参考图2,以便更好地说明这一点。图2是图1的数据流10以及其索引30的另一视图。在图2中,数据20被描绘为使得数据20的每个实例在其左侧被其自身的索引30包围,并且在其右侧被接下来的数据20的索引30包围。从图2中省略了附加的非索引形式的数据,因为作为非索引形式,它们可以被认为对于本讨论而言是易懂的。
在每个数据项20具有其自身索引的系统中,数据项20的第j个实例可以用数组式符号DI[j]来标记,其中DI指示数据项20。使用该符号能够如下描绘嵌入数据流中的数据位的完整序列:
实例编号 索引DI
0 DI[0]
1 DI[1]
j DI[j]
通过示例的方式,数据项20可以包括视频流中的水印、文档中的序列编号部分、来自于某些生产系统的连续编号的生产记录(通过非限制性示例的方式,硅芯片的生产)等等。
需要与嵌入在数据流10中的索引数据项20(无论该内容项是视频、文档、还是生产记录等)相关联的DI实例的编号(即,j)意味着唯一标识每个ID实例的位的数量为log2(j)。也就是说,参考图1,唯一地标识数据20的每个实例所需的位的数量为log2(j)。更具体地说,这意味着图1中所描绘的多个索引30中的每个索引30应该至少在长度上为log2(j)个位,以便唯一地标识与其相关联的ID数据40。值log2(j)在下文中被表示为n,即n=log2(j)。例如,如果j是256,则n=8,并且8位是索引大小。因此,ID数据40的每个实例之前都有N个索引位。
在图中1和2中考虑数据项20A。数据项20A在INDEX_A 30之后,并且在INDEX_B 30之前。因此,通过在索引之间共享位,可以变成将每个ID数据实例之前和之后的索引位的数量减少一半到n/2,并且仍然具有(在流中)非常接近ID数据实例的n个索引位。索引位的每个这样的实例在下文中被称为半索引。
现在参考图3,图3是图1实施例的简化框图。继续上面的讨论,通过示例的方式,假设每个索引在长度上为8位。然后,如果INDEX_A 30A是00000001,则INDEX_A 30A的最低有效位:0001(方框55)可以被设置为INDEX_B 30B的最高有效位,如下所示:
0000|DATA ITEM 20A|0001|DATA ITEM 20B
INDEX_B 30B的最低有效位1111(方框60)被设置为INDEX_C的最高有效位1111(方框60)等。因此,表1提供了ID数据的前四个实例的示例:
Figure GDA0003593460600000061
因此,表1将表示为下面的示例性数据流:
0000DI1 0001DI2 1111DI3 0101DI4 1010DI5…
每个半索引被使用两次——半索引的相同实例都被使用两次,一次作为第一索引(例如,INDEX_A 30A)的最低有效的“一半”,以及一次作为第二索引(例如,INDEX_B 30B)的最高有效的“一半”。因此,如果索引为1字节长,则每个“一半”将是半字节。然而,如果索引为256位长,则每个“一半”将是128位。要理解的是,由于半索引在这里被称作最低有效或最高有效的“一半”,因为索引的每个一半的大小将随着索引的大小而变化。要理解的是,使用相同长度的半索引,并且使第一个一半和第二个一半的总长度在长度上是二的幂是方便的,但不是必需的。例如,Index_A可以是12位,Index_B是36位,Index_C是12位等等。对于这个问题,Index_A可以是9位;Index_B是42位;Index_C是9位等等。然而,本领域技术人员将理解的是,这种非典型安排虽然可行,但在实践中是累赘的。
因此,图3在下面的表2中描述。缩写msb(最高有效位)和lsb(最低有效位)在表2中分别用于指代给定索引值的最左位和最右位。
Figure GDA0003593460600000062
Figure GDA0003593460600000071
围绕数据项20的每个实例的一起采取的两个半索引中的每个半索引包括在其他情况下将使用的完整索引。因此,为了实现数据项20的实例的精确标识,如表1和表1之后的示例性数据流所示,前/后半索引对的每个组合将在流中出现一次。可以理解的是,如果每个完整索引可以只嵌入一次,则前/后半索引对的每个组合必须精确地在流中出现一次。然而,在可以不止一次地嵌入完整索引值的实施例中,那么对于所使用的完整索引值的每个实例,将使用不止一次的完整索引的第一个和第二个一半的每个配对实例。
通过构造有向图G,可以对前一索引的最低有效的一半是下一索引的最高有效的一半的约束进行建模。本领域技术人员将理解的是,“有向图”是被称为“节点”(也被称为“顶点”)的一组对象(“节点”连接在一起),其中所有的边缘从一个节点指向另一个节点。在我们的有向图G中,每个节点由两个半索引对标记。例如,对于范围[0,3]中的半索引,节点被标记为:{0,0},{0,1},{0,2},{0,3},{1,0},{1,1},{1,2},{1,3},{2,0},{2,1},{2,2},{2,3},{3,0},{3,1},{3,2},{3,3}。有向图G中的边缘需要建模这样的事实,即每个半索引被重复使用两次,一次是在ID数据20的实例之前,并且一次是在ID数据20的另一实例之后。因此,在且仅在b等于c的情况下,在节点{a,b}和{c,d}之间存在有向边缘。例如,从{0,1}到{1,3}但不在{1,2}和{3,2}之间存在有向边缘。本领域技术人员将理解的是,上面定义的有向图G中的任何路径将产生正被使用的完整索引阵列,并且可以根据约束被分成半索引,其中前一索引的最低有效的一半是下一索引的最高有效的一半。在每个完整索引被精确使用一次的实施例中,根据上面定义的有向图G,约束转换为在G中建立哈密尔顿路径。
一般来说,在任意图中建立哈密尔顿路径是NPC(NP-Complete)问题,意味着它很难解决。本领域技术人员将理解的是,如果在图的任意两个顶点之间存在边缘,则诸如有向图G之类的图被认为是完整的图。针对完全图建立哈密尔顿路径被认为是实际可解的,即,可以在线性时间内计算解。
在本文所描述的实施例中,认为在我们的实施例中出于以下原因建立哈密尔顿路径是容易的:
有向图G的大小相对较小,并且因此,用于建立哈密尔顿路径的已知技术(例如,下面描述的DFS)相对较快。通过示例的方式,在已被取证水印的流式视频中(参见下面的图6),有向图G在流视频的背景下相对较小。考虑典型的持续两小时的电影。如果每个索引实例需要10分钟的视频嵌入,则索引实例的总数将是:120分钟/每个实例的10分钟=12个实例。
在索引30的嵌入期间不需要实时地建立哈密尔顿路径,而是可以在嵌入之前建立哈密尔顿路径,并将参考图4将哈密尔顿路径提供给嵌入器,如下面将要讨论的。有向图G是高度规则的,并且是建立在特殊的分层结构中的。因此,在有向图G中存在哈密尔顿路径,该哈密尔顿路径也是非常规则的,并且该哈密尔顿路径可以在线性时间内(即,很容易)计算。
对于本文描述的实施例的有向图G,递归深度优先搜索(DFS)通常将非常快速地建立哈密尔顿路径。由发明人执行的测试在非优化代码上给出了小于1秒的结果。如本领域已知的,DFS是用于搜索图形数据结构的方法。在有向图G的情况下,选择任意节点作为根,并且该方法在不回溯的情况下尽可能地探索。发明人已经注意到,第一种解决方案是在DFS中很少回溯的情况下建立的。此外,由于图的高规则性,哈密尔顿路径也是非常规则的。附录A描述了具有64个节点的有向图中的示例性哈密尔顿路径。
可以理解的是,本领域已知的针对有向图G建立适当哈密尔顿路径的其他适当方法可以用于产生半索引值。例如,并且在不限制上述通用性的情况下,DFS处理器可以包括非递归DFS处理器。还可以使用用于在有向图G中确定哈密尔顿路径的其他非DFS处理器。替代地,本领域已知的其他技术(例如,迭代加深深度优先搜索(IDDFS)、词典广度优先搜索(LBFS)或广度优先搜索(BFS)、或任何其他适当的方法)可以用于遍历有向图G并产生半索引值。
现在参考图4,图4是用于嵌入图1的索引的系统300的简化框图。数据310被输入到索引和嵌入处理器330。如上所述,数据20(图1)可以是可以被表示为索引数据流的任何适当的数据,例如,图1和图2的数据流10。索引和嵌入处理器330接收索引数据340,并将每个单独的索引数据项与数据项20关联。可以理解的是,根据有向图G来执行单个接收的索引数据项与数据项30(图1)的关联,如上文通过示例的方式在表1中所讨论的(或以在确定有向图G的哈密尔顿路径时所确定的任何其他适当顺序)。
可以理解的是,使用本文描述的方法和系统对数据20(图1)进行索引会对索引器造成重大约束。在使用完整索引时,在典型的系统中,对索引值的顺序没有特定的约束。因此,当使用j索引值时,存在j!个可能的索引值顺序。然而,当如本文所描述的实施例那样使用半索引值时,索引值的顺序必然受到约束。通过示例的方式,规则的计数顺序(即1,2,3,…)不是可能的索引值顺序。
索引数据项340由索引值处理器350确定并被提供给索引和嵌入处理器330。索引值处理器350可以包括如上所述的DFS处理器。替代地,索引值处理器350可以包括运行IDDFS、LBFS、BFS或任何其他适当方法的处理器,以便产生供应给索引和嵌入处理器330的索引数据340。
经索引的数据项360由索引和嵌入处理器330输出,该经索引的数据项360包括夹在要索引的数据310中的索引数据340的最低有效的一半和最高有效的一半,并且产生了经索引的数据项流370。
现在参考图5,图5是图1的系统的示例性实施例,其中嵌入的索引(例如图3的索引50、60和70)被用在多个水印流式视频帧500中,以用于索引水印510。水印510用于将数据520嵌入内容,例如付费电视系统中的视频内容。水印数据520可以被取证地使用,例如,用于标识付费电视服务的哪个合法订户正在泄漏被盗取的视频内容,以及例如,在线传送被盗取的视频内容。通过示例的方式,水印数据520可以包括唯一地标识与特定订户相关联的订户或设备的取证信息,例如但不限于订户ID、智能卡ID和机顶盒ID等。
在视频帧500的流中,水印510应当能够进行独立检测(即,不需要查阅元数据的数据库)。为了实现水印510的独立检测,水印510通常包括与水印数据520的每个实例一起嵌入的索引530。在本文描述的实施例中,索引530用于正确解析(并在需要时解密)水印数据520的关联实例。
根据上述方法和系统,并且另外参考图3,INDEX_A 530包括两个一半。在图3中,INDEX_A 530的最高有效的一半将对应于INDEX_A FIRST HALF 50。INDEX_A FIRST HALF50之后接着是水印数据520。水印数据520之后接着是INDEX_A SECOND HALF 60(图3),其与INDEX_BFIRST HALF 60(图3)的值相同。索引60的半索引值之后接着是水印数据520。遵循这个规则直到所有水印数据520被索引。可以理解的是,视频流510的最末尾处的最后一个索引值可能需要完整的索引值。
现在参考图6,图6是用于嵌入图5的水印索引的系统600的简化框图。编码视频610由视频编码器620输出。视频编码器可以是H.264视频编码器、H.265视频编码器、MPEG 2视频编码器或任何其他适当类型的视频编码器。在水印嵌入器和索引器630处接收编码视频610。水印嵌入器和索引器630在接收的编码视频610中嵌入水印数据(例如数据520,图5)。水印嵌入器和索引器630还嵌入与每个水印相关联的水印索引,例如索引530(图5)。可以理解的是,可以使用任何适当的水印技术,包括彩色水印、亮度水印、可见水印、隐藏水印等。
可以理解的是,将水印数据嵌入接收的编码视频510中,并将嵌入的水印数据与对应于图1-3的索引值30的索引值关联的步骤可以单独地执行以及由不同的处理器执行。然而,为了便于描述,这些步骤一起在图6中被描绘。
现在参考图7,图7是用于产生图1的多个水印流式视频帧的方法的简化流程图。第一处理器(例如处理器350(图3))产生包括有向图中的哈密尔顿路径的节点的有序的一系列索引值(方框710)。索引处理器(例如索引处理器330(图3))接收包括数据项阵列(例如数据310(图3))的数据对象(方框720)。索引处理器(例如索引处理器330(图3))将索引值中的一个索引值的第一部分与数据项阵列(例如数据310(图3))的第一个数据项关联(方框730)。索引处理器(例如索引处理器330(图3))将索引值中的一个索引值的第二部分与数据项阵列(例如数据310(图3))的下一个数据项关联(方框740)。由索引处理器(例如索引处理器330(图3))重复将第一部分进行关联和将第二部分进行关联的步骤,直到数据项阵列(例如数据310(图3)中的所有数据项都被索引(方框750)。数据对象被输出,其中数据项阵列现在包括经索引的数据项阵列,例如图3的索引数据项360(方框760)。
总之,在一个实施例中,描述了用于在数据项阵列中对数据项进行索引时优化索引值长度的系统、装置和方法,该方法包括:在第一处理器处产生有序的一系列索引值;向索引处理器发送有序的一系列索引值;在索引处理器处接收包括数据项阵列的数据对象;在索引处理器处将索引值中的一个索引值的第一部分与数据项阵列的第一个数据项关联;在索引处理器处,将索引值中的一个索引值的第二部分与数据项阵列的下一个数据项关联;重复将索引值中的一个索引值的第一部分进行关联和将索引值中的一个索引值的第二部分进行关联的步骤,直到数据项阵列中的所有数据项都被索引。
附录A
在具有64个节点的有向图中所建立的示例性哈密尔顿路径:
[(0,0),(0,1),(1,0),(0,2),(2,0),(0,3),(3,0),(0,4),(4,0),(0,5),(5,0),(0,6),(6,0),(0,7),(7,1),(1,1),(1,2),(2,1),(1,3),(3,1),(1,4),(4,1),(1,5),(5,1),(1,6),(6,1),(1,7),(7,2),(2,2),(2,3),(3,2),(2,4),(4,2),(2,5),(5,2),(2,6),(6,2),(2,7),(7,3),(3,3),(3,4),(4,3),(3,5),(5,3),(3,6),(6,3),(3,7),(7,4),(4,4),(4,5),(5,4),(4,6),(6,4),(4,7),(7,5),(5,5),(5,6),(6,5),(5,7),(7,6),(6,6),(6,7),(7,7),(7,0)]
现在参考图8,图8是由附录A的哈密尔顿路径所采取的线路的图形表示。在图8中,线路所采取的路径表示哈密尔顿路径。因此,路径开始(0,0),(0,1),(1,0),(0,2),(2,0),(0,3),(3,0),(0,4),(4,0),(0,5)...。

Claims (23)

1.一种用于在对数据项阵列中的数据项进行索引时优化索引值长度的方法,所述方法包括:
在第一处理器处产生有序的一系列索引值,所述有序的一系列索引值包括有向图中的哈密尔顿路径的节点;
向索引处理器发送所述有序的一系列索引值;
在所述索引处理器处接收包括所述数据项阵列的数据对象;
在所述索引处理器处将所述索引值中的一个索引值的第一部分与所述数据项阵列的第一个数据项关联;
在所述索引处理器处将所述索引值中的一个索引值的第二部分与所述数据项阵列的下一个数据项关联;
重复将所述索引值中的一个索引值的第一部分进行关联以及将所述索引值中的一个索引值的第二部分进行关联的步骤,直到所述数据项阵列中的所有数据项都被索引,从而形成经索引的数据项阵列;以及
输出包括所述经索引的数据项阵列的所述数据对象,
其中,所述索引值中的一个索引值的第一部分和所述索引值中的一个索引值的第二部分中的每个部分一次用于标识所述数据项阵列的第一个数据项,并且一次用于标识所述数据项阵列的下一个数据项。
2.根据权利要求1所述的方法,其中,所述第一处理器包括深度优先搜索DFS处理器。
3.根据权利要求2所述的方法,其中,所述DFS 处理器包括递归DFS处理器。
4.根据权利要求2所述的方法,其中,所述DFS处理器包括非递归DFS处理器。
5.根据权利要求1所述的方法,其中,所述第一处理器包括迭代加深深度优先搜索(IDDFS)处理器。
6.根据权利要求1所述的方法,其中,所述第一处理器包括词典广度优先搜索(LBFS)处理器。
7.根据权利要求1所述的方法,其中,所述第一处理器包括广度优先搜索(BFS)处理器。
8.根据权利要求1至7中的任一项所述的方法,其中,所述数据对象包括编码视频。
9.根据权利要求8所述的方法,其中,所述数据项阵列包括所述编码视频中的视频水印阵列。
10.根据权利要求9所述的方法,其中,所述视频水印阵列包括取证水印。
11.根据权利要求1至7中的任一项所述的方法,其中,所述数据对象包括文档。
12.根据权利要求11所述的方法,其中,所述数据项阵列包括所述文档中的连续编号部分。
13.根据权利要求1至7中的任一项所述的方法,其中,所述数据对象包括生产记录。
14.根据权利要求13所述的方法,其中,所述数据项阵列包括属于所述生产记录的索引。
15.根据权利要求13所述的方法,其中,所述生产记录是来自硅芯片的生产的记录。
16.根据权利要求1至7中任一项所述的方法,其中,所述索引值中的一个索引值的第一部分在长度上等于所述索引值中的一个索引值的第二部分。
17.根据权利要求1至7中任一项所述的方法,其中,所述索引值中的一个索引值的第一部分和所述索引值中的一个索引值的第二部分的总长度在长度上是二的幂。
18.一种用于在对数据项阵列中的数据项进行索引时优化索引值长度的系统,所述系统包括:
第一处理器,被配置为产生有序的一系列索引值,所述有序的一系列索引值包括有向图中的哈密尔顿路径的节点;
所述第一处理器进一步被配置为向索引处理器发送所述有序的一系列索引值;
所述索引处理器被配置为接收包括所述数据项阵列的数据对象;
所述索引处理器进一步被配置为将所述索引值中的一个索引值的第一部分与所述数据项阵列的第一个数据项关联;
所述索引处理器还进一步被配置为将所述索引值中的一个索引值的第二部分与所述数据项阵列的下一个数据项关联;
所述索引处理器又进一步被配置为重复地将所述索引值中的一个索引值的第一部分进行关联以及将索引值中的一个索引值的第二部分进行关联,直到所述数据项阵列中的所有数据项都被索引,从而形成经索引的数据项阵列;以及
所述索引处理器被配置为输出包括所述经索引的数据项阵列的所述数据对象,
其中,所述索引值中的一个索引值的第一部分和所述索引值中的一个索引值的第二部分中的每个部分一次用于标识所述数据项阵列的第一个数据项,并且一次用于标识所述数据项阵列的下一个数据项。
19.根据权利要求18所述的系统,其中,所述索引值中的一个索引值的第一部分在长度上等于所述索引值中的一个索引值的第二部分。
20.根据权利要求18或19所述的系统,其中,所述索引值中的一个索引值的第一部分和所述索引值中的一个索引值的第二部分的总长度在长度上是二的幂。
21.一种用于在对数据项阵列中的数据项进行索引时优化索引值长度的设备,所述设备包括:
用于在第一处理器处产生有序的一系列索引值的装置,所述有序的一系列索引值包括有向图中的哈密尔顿路径的节点;
用于向索引处理器发送所述有序的一系列索引值的装置;
用于在所述索引处理器处接收包括所述数据项阵列的数据对象的装置;
用于在所述索引处理器处将所述索引值中的一个索引值的第一部分与所述数据项阵列的第一个数据项关联的装置;
用于在所述索引处理器处将所述索引值中的一个索引值的第二部分与所述数据项阵列的下一个数据项关联的装置;
用于执行以下操作的装置:重复将所述索引值中的一个索引值的第一部分进行关联以及将所述索引值中的一个索引值的第二部分进行关联的步骤,直到所述数据项阵列中的所有数据项都被索引,从而形成经索引的数据项阵列;以及
用于输出包括所述经索引的数据项阵列的所述数据对象的装置,
其中,所述索引值中的一个索引值的第一部分和所述索引值中的一个索引值的第二部分中的每个部分一次用于标识所述数据项阵列的第一个数据项,并且一次用于标识所述数据项阵列的下一个数据项。
22.根据权利要求21所述的设备,还包括用于实现根据权利要求2至17中任一项所述的方法的装置。
23.一种计算机程序、计算机程序产品、或在有形计算机可读介质上编码的逻辑,包括用于实现根据权利要求1至17中任一项所述的方法的指令。
CN201780023618.1A 2016-04-12 2017-03-29 压缩视频流中的索引 Active CN109417391B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/096,297 US9971800B2 (en) 2016-04-12 2016-04-12 Compressing indices in a video stream
US15/096,297 2016-04-12
PCT/IB2017/051786 WO2017178914A1 (en) 2016-04-12 2017-03-29 Compressing indices in a video stream

Publications (2)

Publication Number Publication Date
CN109417391A CN109417391A (zh) 2019-03-01
CN109417391B true CN109417391B (zh) 2022-07-26

Family

ID=58489035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780023618.1A Active CN109417391B (zh) 2016-04-12 2017-03-29 压缩视频流中的索引

Country Status (4)

Country Link
US (1) US9971800B2 (zh)
EP (1) EP3443674B1 (zh)
CN (1) CN109417391B (zh)
WO (1) WO2017178914A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9971800B2 (en) * 2016-04-12 2018-05-15 Cisco Technology, Inc. Compressing indices in a video stream
US10789667B2 (en) * 2017-06-15 2020-09-29 Treatstock Inc. Method and apparatus for digital watermarking of three dimensional object

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101262456A (zh) * 2007-02-12 2008-09-10 美国博通公司 用于处理通信信号的方法和系统
CN101800556A (zh) * 2001-02-13 2010-08-11 莫塞德技术股份有限公司 适合数据压缩的方法和设置
CN102968804A (zh) * 2012-11-23 2013-03-13 西安工程大学 对稀疏有向图的邻接矩阵进行压缩存储的方法
CN103399902A (zh) * 2013-07-23 2013-11-20 东北大学 一种并行环境下的有向图可达性链表生成及查询方法
CN103428087A (zh) * 2013-05-31 2013-12-04 国家电网公司 采用循环深度优先遍历的最长路预置保护p圈生成方法
CN104866608A (zh) * 2015-06-05 2015-08-26 中国人民大学 一种数据仓库中基于连接索引的查询优化方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3690726B2 (ja) 2000-04-13 2005-08-31 インターナショナル・ビジネス・マシーンズ・コーポレーション データ処理装置、画像処理装置およびこれらの方法
US7127615B2 (en) 2000-09-20 2006-10-24 Blue Spike, Inc. Security based on subliminal and supraliminal channels for data objects
US8750254B2 (en) 2006-12-21 2014-06-10 Palo Alto Research Center Incorporated Dynamic frame scheduling based on permutations of sub-channel identifiers
US8266089B2 (en) * 2008-06-18 2012-09-11 Ignacio Reneses Asenjo Method for solving optimization problems in structured combinatorial objects
US8023513B2 (en) 2009-02-24 2011-09-20 Fujitsu Limited System and method for reducing overhead in a wireless network
ES2372841B2 (es) 2010-06-29 2013-04-16 Universidad De La Laguna Sistema de comunicaciones seguras en una red ad-hoc vehicular espontánea y autogestionada.
ITTO20120462A1 (it) * 2012-05-28 2013-11-29 Alenia Aermacchi Spa Sistema e metodo di protezione di dati informativi
EP2943898A1 (en) * 2013-01-10 2015-11-18 Thomson Licensing Method for identifying objects in an audiovisual document and corresponding device
US9208335B2 (en) * 2013-09-17 2015-12-08 Auburn University Space-time separated and jointly evolving relationship-based network access and data protection system
US9137010B2 (en) 2014-01-13 2015-09-15 Cisco Technology Inc. Watermark with data integrity verification
US9971800B2 (en) * 2016-04-12 2018-05-15 Cisco Technology, Inc. Compressing indices in a video stream

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101800556A (zh) * 2001-02-13 2010-08-11 莫塞德技术股份有限公司 适合数据压缩的方法和设置
CN101262456A (zh) * 2007-02-12 2008-09-10 美国博通公司 用于处理通信信号的方法和系统
CN102968804A (zh) * 2012-11-23 2013-03-13 西安工程大学 对稀疏有向图的邻接矩阵进行压缩存储的方法
CN103428087A (zh) * 2013-05-31 2013-12-04 国家电网公司 采用循环深度优先遍历的最长路预置保护p圈生成方法
CN103399902A (zh) * 2013-07-23 2013-11-20 东北大学 一种并行环境下的有向图可达性链表生成及查询方法
CN104866608A (zh) * 2015-06-05 2015-08-26 中国人民大学 一种数据仓库中基于连接索引的查询优化方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Textual image compression: two-stage lossy/lossless encoding of textual images;I.H. Witten等;《Proceedings of the IEEE》;19940630;全文 *
基于扩展相容性扫描树的低测试响应数据量方法研究;成永升;《中国优秀硕士学位论文全文数据库 信息科技辑》;20081215;全文 *

Also Published As

Publication number Publication date
CN109417391A (zh) 2019-03-01
WO2017178914A1 (en) 2017-10-19
US20170293647A1 (en) 2017-10-12
EP3443674B1 (en) 2020-06-17
US9971800B2 (en) 2018-05-15
EP3443674A1 (en) 2019-02-20

Similar Documents

Publication Publication Date Title
Du et al. High capacity lossless data hiding in JPEG bitstream based on general VLC mapping
US11632560B2 (en) Methods and apparatuses for encoding and decoding a bytestream
US11049283B2 (en) Lossless compression of fragmented image data
Duan et al. Compact descriptors for visual search
CN101807208B (zh) 视频指纹快速检索方法
Cheng et al. A selective video encryption scheme based on coding characteristics
Li et al. Robust batch steganography in social networks with non-uniform payload and data decomposition
CN111669615B (zh) 视频流处理方法及装置
CN109417391B (zh) 压缩视频流中的索引
Cheng et al. AC-coefficient histogram-based retrieval for encrypted JPEG images
KR20120090101A (ko) 디지털 비디오 고속 정합 시스템
CN107578452A (zh) 一种具有兼容格式和不变尺寸的jpeg图像加密方法
CN106604032B (zh) 图像中文字块的压缩方法和装置及图像压缩方法和装置
US10515092B2 (en) Structured record compression and retrieval
WO2020258942A1 (zh) 一种数据压缩方法及装置
JP2006020330A (ja) ビデオドキュメントを圧縮するためのプロセス及び装置
JP2011114525A (ja) 数値データ列の符号化/復号化の方法および装置
Hasso Steganography in video files
Zhang et al. A reversible data hiding scheme in JPEG bitstreams using DCT coefficients truncation
CN111213146B (zh) 伪数据生成装置、其方法和记录介质
Reddy et al. Steganpeg steganography+ JPEG
Romanov et al. Implementation of steganographic software for hiding information in mpeg video files
JP2014078994A (ja) 数値データ列の符号化/復号化の方法および装置
JP2013058203A (ja) 命令語圧縮装置、命令語圧縮方法及びコンピュータで読み取り可能な記録媒体
Choi Improved histogram shifting-based data hiding method with alternative skipping method for image retrieval

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant